Как заставить npx работать с моим пользовательским пакетом npm?

Я опубликовал новый пакет, целью которого является создание очень маленького шаблона для проекта с открытым исходным кодом узла через cli. На данный момент это всего лишь комбинация нескольких команд npx, для работы которой требуются другие пакеты npm, такие как gitignore, license. Я хочу выполнить скрипт сборки в package.json с помощью следующей команды.

npx get-set-node-oss build youremailaddress@xyz.com

Ссылка на пакет npm: get-set-node-oss. Я знаю, что имя слишком длинное.

{
  "name": "get-set-node-oss",
  "version": "1.0.1",
  "description": "One command setup for your Node OSS project",
  "scripts": {
    "build": "npx license mit > LICENSE && npx gitignore node && npx covgen"
  },
  "author": "Harshit Juneja",
  "license": "MIT",
  "repository": {
    "type": "git",
    "url": "git+https://github.com/harshitjuneja/get-set-node-oss.git"
  },
  "keywords": [
    "node",
    "boilerplate","gitignore","MIT","OSS"
  ],
  "bugs": {
    "url": "https://github.com/harshitjuneja/get-set-node-oss/issues"
  },
  "homepage": "https://github.com/harshitjuneja/get-set-node-oss#readme"
}

Я ожидаю, что пользователь сделает новую папку и CD в папку и сделать

npx get-set-node-oss build emailstring

и получите получившиеся шаблонные файлы.

0 ответов

Для работы npx нужно указать, что get-set-node-ossкомандные средства. К счастью, это можно сделать, используя binв вашем файле package.json. Дополнительная информация в документации NPM для справки:

Чтобы использовать это, укажите поле bin в вашем package.json, которое представляет собой сопоставление имени команды с именем локального файла. При установке npm создаст символическую ссылку на этот файл в prefix/bin для глобальных установок или./node_modules/.bin/ для локальных установок.

Пример этого ниже.

"bin": {   
    "get-set-node-oss": //script you like to run
},

Надеюсь, что это работает для вас. Я понял bin как скрипт в package.json. Где мы можем сделать npm run foo или же npx fooоба дают одинаковые результаты. Если вам нужен пример, вот https://github.com/vipulgupta2048/balenaclone

Другие вопросы по тегам