Я столкнулся с конкретной проблемой при настройке Firebase в каталоге моего проекта.
Первоначально иерархию проекта можно было бы суммировать следующим образом:
.
./src
./src/my_code.js
./src/my_code.test.js
./node_modules
./node_modules/...
./package.json
Для запуска моих тестов я использую мокко.
На этом сайте я нашел действительно полезный regexp , способный сопоставлять все файлы * .test.js во всей иерархии проекта, кроме node_modules"branch":
./{,!(node_modules)/**}/*test.js
Следующим шагом для меня была инициализация Firebase Functions & Hosting в каталоге.
Был выбран дизайн для установки папки functions
в ./src
.
После запуска firebase init
и ответа на все вопросы моя папка выглядела так:
.
./src
./src/my_code.js
./src/my_code.test.js
// ===== NEW =====
./src/functions
./src/functions/index.js
./src/functions/index.test.js
./src/functions/node_modules
./src/functions/node_modules/...
./src/functions/package.json
// ===============
./node_modules
.node_modules/...
./package.json
Проблема заключается в том, что регулярное выражение, по-видимому, не исключает папку ./src/functions/node_modules
.
Мне не очень удобно расширять это классное регулярное выражение, не зная, нужно ли мне куда-нибудь добавить **
или !(src/functions/node_modules)
.