Создать исполняемый файл для частного npm модуля, написанного на Typescript - PullRequest
0 голосов
/ 15 апреля 2020

Я пытаюсь создать исполняемый файл для использования с npx. У меня есть пакет. json с соответствующей информацией:

 ...
 "name": "@company/example-command",
 "bin": {
    "example-command": "./dist/index"
  },
  "scripts": {
    "prepare": "tsc && chmod +x ./dist/index.js"
  },
  ...

Все правильно публикуется в реестре Github. Однако при вызове

npx @company/example-command

я получаю сообщение об ошибке

no such file or directory, chmod /path/to/npx/modules/@company/example-command/dist/index

Похоже, это указывает на то, что npx находит правильную команду и загружает соответствующий пакет, но исполняемый файл не добавляется в путь.

Я догадываюсь, что мне нужно скомпилировать lib для машинописного текста в dist перед вызовом файла (tsc && ./dist/index), но я предположил, что prepare будет обрабатывать настройку dist.

Как правильно превратить эту библиотеку Typescript в bin, исполняемый npx?

1 Ответ

0 голосов
/ 15 апреля 2020

.bin путь не находится в контексте узла, поэтому требуется явное расширение .js

"example-command": "./dist/index.js"
...