Я хочу использовать фильтрацию включения в Turbo, чтобы отфильтровать рабочее пространство с медленным набором модульных тестов.
Я уже видел TurboRepo, запуск только некоторых рабочих пространств и приведенную выше документацию, поэтому я знаю, что могу фильтровать сборку по определенному рабочему пространству следующим образом:
turbo build --filter=@acme/web
Но можно ли отменить фильтр, чтобы исключить определенное рабочее пространство?
То есть: если у меня есть три рабочих пространства: foo
, bar
, baz
, как я могу запускать только foo
и bar
без необходимости указывать их индивидуально?
Этот вопрос близок, но чтобы запустить 14 из 15 моих рабочих пространств, мне пришлось бы перечислить все 14 из них (а если будет добавлено новое рабочее пространство, мне придется добавить его в фильтр). Это нежелательный объем работы, я бы предпочел свести на нет единственное рабочее пространство, которое я не хочу запускать. Если это возможно.
Документация :
!
: исключить цели из выделения....
использование пакетов: выберите все пакеты в графе пакетов относительно цели. Использование ... перед именем пакета выберет зависимости цели, а использование ... после имени пакета выберет зависимости цели. ... с помощью коммитов Git: выберите диапазон с помощью []...[].^
: исключить цель из выделения при использовании ....
Пример:
# Any packages in `apps` subdirectories except ./apps/admin turbo run build --filter=./apps/* --filter=!./apps/admin
Если вы хотите фильтровать по имени рабочей области:
turbo run test --filter=!'<workspace name here>'
(мне понадобились одинарные кавычки из-за zsh)