Как скомпилировать локальный бин в Windows? $ (npm bin) не работает в Windows - PullRequest
0 голосов
/ 14 января 2019

У меня есть пакет со следующими скриптами в package.json

...

"main": "lib/index.js",
"scripts": {
  "ts-compile": "PATH=$(npm bin):$PATH tsc -p src",
  "preinstall": "npm install @types/node",
  "postinstall": "npm run ts-compile"
},

...

Когда я запускаю npm install, команда postinstall должна выполняться после установки зависимостей. Ожидаемый результат заключается в том, что компилятор машинописи правильно скомпилирует файлы в /node_modules/.bin и поместит вывод в /lib.

Хотя это работает, как и ожидалось, при попытке на Mac, это не работает на Windows. В частности, я мог видеть, что npm пытается выполнить команду ts-compile, но на самом деле он не производит никакого скомпилированного вывода. Когда я проверяю /src в проводнике, я вижу, что каталог /lib не найден, что указывает на то, что ничего не скомпилировано.

Я заметил, что если я вручную указываю путь к локальному bin в качестве префикса для команды tsc -p src, он компилирует и выдает выходные данные. Однако мне интересно, есть ли лучшее и универсальное решение, которое будет работать во всех средах.

В общем, мне интересно, как мне изменить мой скрипт ts-compile, чтобы он работал как на Mac, так и на Windows.

...