Как разрешить псевдонимы, определенные для путей при модульном тестировании компонентов reactjs
Уважаемое Сообщество
У меня есть приложение React JS с набором компонентов. Некоторые из них являются простыми компонентами, которые отображают HTML, в то время как другие являются вложенными компонентами, которые используют другие компоненты в нем.
Вот пример - компонент Header.jsx использует компонент HtmlRow, на который ссылается псевдоним.
<pre lang="Javascript"> import React from 'react'; import HtmlRow from '@repo/libraryv3/HtmlRow'; . . render() { return ( <div className="someclasss"> <HtmlRow> <HtmlCol xs={12} > //....... //....
Путь
'@repo/libraryV3/определяется как псевдоним в package.json, который фактически сопоставляется с физическим путем репозитория.
"devDependencies": { "@repo/libraryv3": "git+https://git.mycompany.com/repositories/libraryV3.git#branch1",
Теперь вот подробности этого вопроса -
1. я использую jest & enzyme для написания модульных тестов для этих компонентов, которые отлично работают, если это простой компонент, который не ссылается на какой-либо другой компонент в нем.
2. однако когда я использую такой компонент , как Header.jsx для модульного тестирования,который, в свою очередь, ссылается на компонент HtmlRow, и визуализирую его с помощью "shallow" или "mount", базовая тестовая платформа не может разрешить псевдоним и выдает ошибку -
Cannot find module './HtmlRow/HtmlRow' from 'header.spec.js'
Я открыт для использования любых пакетов, которые решают эту проблему.
Что я уже пробовал:
1. Что я смог понять, так это то, что тестовая платформа не может разрешить псевдоним, определенный в package.json.
2. я попробовал использовать jest-resolver, упомянутый здесь. Однако это дает мне ту же самую ошибку "модуль не найден"
[^НПМ шутку арбитр]
3. Также пробовал различные решения, используя НОК, перевождь-магазин и т. д.
Любые предложения, решения приветствуются