Сценарий Yarn завершается неудачно при вызове других сценариев Yarn

#npm #yarnpkg

Вопрос:

У меня возникла проблема при вызове других сценариев Yarn из сценария Yarn. Чего я хочу добиться, так это иметь одну yarn develop задачу, которая сначала вызывает TypeScript и некоторые другие препроцессоры, прежде чем запускать пару наблюдателей и запускать мое приложение. Я хотел бы использовать npm-run-all (или что-то подобное) для вызова нескольких целей, так как это позволило бы мне определить отдельные цели, которые я также могу запускать вручную, не имея повторяющихся записей сценария в моем package.json .

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

 {  "name": "test",  "version": "1.0.0",  "main": "index.js",  "license": "MIT",  "scripts": {  "task:one": "echo one",  "task:two": "echo two",  "run-all": "npm-run-all task:one task:two",  "run-all-yarn": "yarn task:one amp;amp; yarn task:two"  },  "devDependencies": {  "npm-run-all": "^4.1.5"  } }  

Вызов yarn task:one приводит к echo one ожидаемому результату, как yarn task:two и ожидалось . Однако, если я вызову yarn run-all , я получу ошибку:

 $-gt; yarn run-all yarn run v1.22.10 $ npm-run-all task:one task:two $ echo one error Couldn't find the binary echo one info Visit https://yarnpkg.com/en/docs/cli/run for documentation about this command. ERROR: "task:one" exited with 1. error Command failed with exit code 1. info Visit https://yarnpkg.com/en/docs/cli/run for documentation about this command.  

yarn run-all-yarn сбой с (почти точно, без команды, выполняемой во второй строке) той же ошибкой.

Если вместо пряжи я использую NPM ( npm run run-all ), все работает так, как ожидалось:

 $-gt; npm run run-all  gt; test@1.0.0 run-all /Users/basdalenoord/Projects/52DN/psyflix/test gt; npm-run-all task:one task:two   gt; test@1.0.0 task:one /Users/basdalenoord/Projects/52DN/psyflix/test gt; echo one  one  gt; test@1.0.0 task:two /Users/basdalenoord/Projects/52DN/psyflix/test gt; echo two  two  

Я использую версию Yarn 1.22.17, предоставленную моим узлом-версией от nvm: ~/.nvm/versions/node/v14.18.1/bin/yarn

Я немного теряюсь в понимании того, почему запуск отдельных целей был бы прекрасным, но объединение их не удается для yarn, в то время как для одного и того же сценария работает npm .