Я перехожу с NPM на Yarn и хочу запускать сценарии параллельно, например:
npm-run-all --parallel script1 script2 script3
Что его эквивалент в пряжи?
То, что я нашел в качестве его эквивалента, - это запускать каждый отдельно:
yarn run script1 && yarn run script2 && yarn run script3
но я не могу запускать скрипты параллельно.
как использовать несколько скриптов & в параллельный?

Вы можете использовать https://www.npmjs.com/package/yarn-run-all, созданный для этой цели.
Редактировать:
Мой ответ был неправильным.
npm-run-all совместим с пряжей:
If a script is invoked with Yarn, npm-run-all will correctly use Yarn to execute the plan's child scripts.
Кроме того, пакет yarn-run-all связан с репозиторием https://github.com/mysticatea/npm-run-all ...
В конце концов, я не понимаю, почему существует пакет yarn-run-all.
В любом случае, просто используйте пакет npm-run-all вместо yarn-run-all.
Пакет называется yarn-run-all, но readme везде записывает npm, а не yarn ... ?
вы можете использовать одновременно. Например.:
concurrently "yarn run script1" "yarn run script2" "yarn run script3"
Из того, что я прочитал в документации по npm-run-all, вы можете просто продолжать его использовать, и, пока вы запускаете скрипт с yarn, он будет использовать YARN для параллельного запуска скриптов.
Вот оригинальная цитата из https://github.com/mysticatea/npm-run-all
Yarn Compatibility
If a script is invoked with Yarn, npm-run-all will correctly use Yarn to execute the plan's child scripts.
Есть разница между использованием & и &&. При использовании & сценарии будут выполняться параллельно, при использовании && сценарии будут выполняться один за другим.
package.json:
{
"parallel": "yarn script1 & yarn script2",
"serial": "yarn script1 && yarn script2",
"script1": "... some script here",
"script2": "... some there script here"
}
Это не сработает для новых версий Yarn (я понимаю, что OP не указывает, что они используют). У него есть собственная оболочка, которая из соображений кросс-платформенной совместимости не позволяет использовать &. Это вызовет Syntax Error: Expected "$", "$(", "${", "&&", "'", ";", "<", "<<<", ">", ">>", "\"", "\\", "|", "|&", "||", [ \t], or end of input but "&" found. Чтобы использовать &, необходимо либо использовать библиотеку, созданную для этого (как описано в других ответах), либо явно выполнить команду bash, например "bash -c 'yarn script1 & yarn script2'"
Отвечает ли это на ваш вопрос? Как я могу запустить несколько сценариев npm параллельно?