为用Typescript编写的专用npm模块创建可执行文件



我正在尝试创建一个可执行文件以用于npx。我有一个包.json和相关信息,如so-

...
"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正在找到正确的命令并下载相关的包,但可执行文件没有添加到路径中。

我的直觉是,在调用文件(tsc && ./dist/index(之前,我需要将typescript lib编译为dist,但我认为prepare将处理dist的设置。

将这个Typescript库制作成可由npx执行的bin的正确方法是什么?

.bin路径不在节点上下文中,因此它需要显式的.js扩展

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

最新更新