Шаблон глобального файла, исключающий node_modules

#javascript #node.js #karma-runner #glob

#javascript #node.js #карма-бегун #глобальный

Вопрос:

Я пытаюсь настроить файл конфигурации karma, и я изо всех сил пытаюсь создать глобус, соответствующий моим файлам

У меня есть репозиторий lerna, что означает, что внутри пакетов могут быть какие-то node_modules папки, и я не хочу, чтобы они были включены в мой набор тестов.

У меня все мои тесты внутри тестовых папок, поэтому идея большого двоичного объекта должна быть:

 /packages/a/test/aa.test.js //should match
/packages/a/node_modules/b/test/aa.test.js  //shouldn't match
/packages/a/b/test/aa.test.js //should match
  

Цель состоит в том, чтобы сопоставить каждый test/*.test.js файл в дереве папок, ЗА исключением случаев, когда какая-либо из папок имеет имя si node_modules . Есть идеи?

Я думал, что что-то подобное /packages/(**|!(node_modules))/test/*.test.js сработало бы, но нет.

Спасибо!

Ответ №1:

Попробуйте этот:

 /^(?!.*node_modules).w .*/gm
  

вы можете проверить это здесь:https://regexr.com/5aod6

Комментарии:

1. Спасибо, но мне это нужно в формате glob, а не regex. Вы можете проверить это здесь: globster.xyz с путями, которые я предоставил