это моя структура рабочих пространств:
Я хочу иметь возможность запускать "run dev:web-1" или "run dev:web-2" или "run dev:web-3" в котором всегда доступны ВСЕ пакеты включены одна или две услуги
Если я запущу «yarn dev» прямо сейчас, все запустится, и мне действительно придется установить --concurrency более высокое значение, а я не хочу этого делать.





Чтобы добиться желаемого поведения при запуске определенных сценариев разработки для веб-приложений, гарантируя, что все пакеты доступны и включены одна или две службы, вы можете использовать рабочие пространства Yarn и инструмент управления сценариями, например npm-run-all, или одновременно.
Для этого вам нужно установить необходимые зависимости:
yarn add -D npm-run-all
Обновите файл package.json в корневом каталоге, чтобы включить сценарии разработки:
json
"scripts": {
"dev:web-1": "cd apps/web-1 && yarn dev",
"dev:web-2": "cd apps/web-2 && yarn dev",
"dev:web-3": "cd apps/web-3 && yarn dev",
"dev:services": "run-p dev:service-1 dev:service-2",
"dev:service-1": "cd services/service-1 && yarn dev",
"dev:service-2": "cd services/service-2 && yarn dev",
"dev:all": "run-p dev:packages dev:web-1 dev:web-2 dev:web-3 dev:services",
"dev:packages": "yarn workspace pack-1 dev && yarn workspace pack-2 dev && yarn workspace pack-3 dev"
}
В соответствующих каталогах apps/web-X и services/service-X убедитесь, что сценарии dev пряжи правильно определены в соответствующих файлах package.json.
Теперь вы можете запустить следующие команды:
yarn dev:web-1, чтобы запустить сервер разработки для web-1.
yarn dev:web-2, чтобы запустить сервер разработки для web-2.
yarn dev:web-3, чтобы запустить сервер разработки для web-3.
yarn dev:services для запуска серверов разработки для сервисов-1 и сервис-2.
yarn dev:all для запуска всех серверов разработки, включая веб-приложения и выбранные службы.
Разделяя определенные сценарии разработки для каждого веб-приложения и службы и используя инструмент управления сценариями, такой как npm-run-all или одновременно, вы можете контролировать параллелизм запуска различных служб и обеспечивать доступность всех необходимых пакетов.
Не забудьте обновить сценарии и пути к файлам в соответствии со структурой и конфигурациями вашего конкретного проекта.
Пожалуйста, да доказуемо, я тоже не нашел, извините, что не могу больше помочь.
Я опубликовал свой собственный ответ с решением, которое я нашел, копаясь в документах, если вам интересно
Итак, после более длительного изучения документации я обнаружил, что --filter flag можно установить несколько раз в команде turbo run. Итак, мое решение состояло в том, чтобы добавить скрипты в мой основной package.json
"scripts": {
"build": "turbo run build",
"dev": "turbo run dev",
"lint": "turbo run lint",
"format": "prettier --write \"**/*.{ts,tsx,md}\"",
"dev:web-1": "turbo run dev --filter=web-1 --filter=service-2 --filter=service-3",
"dev:screen": "turbo run dev --filter=web-2 --filter=service-1"
},
Спасибо. Мне это нравится, и я буду использовать его, если не смогу найти то, что ищу, но я уверен, что для этого должно быть специальное решение для турборепозитория.