Я работаю над веб-приложением React, которое использует библиотеку компонентов, которую мы включаем в качестве модуля npm. Поскольку я одновременно работаю над библиотекой и webapp, я связал библиотеку как модуль в npm.Jest Ignore реагировать на зависимость от связанного модуля в связанном модуле
Каталоги настроены так:
~/Development/
|
|-- myWebapp/
| |-- package.json # (react included here as dependency)
| |-- src/
| |-- node_modules/
| |-- jest-cli/
| |-- react/
| |-- myLibrary/ -> /usr/local/lib/node_modules/myLibrary
|
|-- myLibrary/ # (linked to /usr/local/lib/node_modules by npm link)
| |-- package.json
| |-- src/
| |-- node_modules/
| |-- react/ # (included as a devDependency and peerDependency)
Я пишу свои тесты в Jest (0.8.2).
Я пытаюсь настроить Jest, чтобы не загрузить React from myLibrary/node_modules/реагировать, когда я запускаю тесты для myWebapp. Реакция загрузки дважды приводит к возникновению проблем. Мои тесты проходят, если я rm -r myLibrary/node_modules/react
, прежде чем запускать их, но это боль, чтобы удалить и повторно установить React все время.
Я пытался настроить шутя с:
...,
"modulePathIgnorePatterns": [
"<rootDir>/node_modules/myLibrary/node_modules/react"
],
...
но это похоже на работу
У вас есть решение? Я только что поднял вопрос о github repo Jest: https://github.com/facebook/jest/issues/2447 – olivarra1
@ olvarra1 Не очень, но есть решение. В итоге мы включили «встроенную» версию myLibary в папку в структуре проекта, называемую dist /. Решение заключается только в том, чтобы связывать dist/внутри myWebapp/node_modules/myLibrary/ Мы опубликовали модуль myLibary для частного реестра npm. После этого мы установили myLibary в myWebapp как обычную зависимость, но вошли в myWebapps/node_modules/myLibrary, удалили каталог dist/и связанный dist/с локальной рабочей копии myLibrary, например ln -s ../. ./../myLibrary/dist dist/ – albertlockett