Ich arbeite an einer React-Webanwendung, die eine Komponentenbibliothek verwendet, die wir als npm-Modul enthalten. Da ich zur gleichen Zeit an der Bibliothek und der Webapp arbeite, habe ich die Bibliothek als Modul in npm verlinkt.Jest Ignoriere die Antwort-Peer-Abhängigkeit im verknüpften Modul
Die Verzeichnisse sind wie folgt aufgebaut:
~/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)
ich meine Tests in Jest (0.8.2) zu schreiben.
Ich versuche, Jest zu konfigurieren, React nicht aus myLibrary/node_modules/react zu laden, wenn ich Tests für myWebapp durchführe. Laden Reaktiv zweimal führt zu Problemen. Meine Tests bestehen, wenn ich sie vor dem Ausführen von rm -r myLibrary/node_modules/react
, aber es ist ein Schmerz zu deinstallieren und neu zu installieren Reagieren die ganze Zeit.
Ich versuchte Jest zu konfigurieren mit:
...,
"modulePathIgnorePatterns": [
"<rootDir>/node_modules/myLibrary/node_modules/react"
],
...
aber das schien nicht eine neue regex für modulePathIgnorePatterns
Haben Sie eine Lösung gefunden? Ich habe gerade ein Problem auf Jests Github Repo angesprochen: https://github.com/facebook/jest/issues/2447 – olivarra1
@ olvarra1 Nicht ein großer, aber es gibt eine Lösung. Wir haben schließlich eine 'gebaute' Version von myLibary in einen Ordner innerhalb der Projektstruktur namens dist/eingefügt. Die Lösung besteht darin, nur dist/in myWebapp/node_modules/myLibrary/ zu verlinken. Wir haben das Modul myLibary in einer privaten npm-Registry veröffentlicht. Danach installierten wir myLibary in myWebapp als normale Abhängigkeit, gingen aber in myWebapps/node_modules/myLibrary, löschten das dist/-Verzeichnis und das verknüpfte dist/von der lokalen Arbeitskopie von myLibrary wie ln -s ../. ./../myLibrary/dist dist/ – albertlockett