пряжа pnp откат к умолчанию требует
Я пишу несколько модульных тестов, чтобы проверить,
my-module
правильно загружает пользовательский модуль
external-module
:
const myMod = require('my-module')
myMod( { load: 'external-module' } )
Прямо сейчас у меня ошибка:
Your application tried to access transport, but it isn't declared in your dependencies; this makes the require call ambiguous and unsound. Required package: transport Required by: /Users/mspigolon/workspace/pino/test/ Require stack: - /Users/mspigolon/workspace/pino/test/transport.test.js
Это ясно и ясно из-за теста, который во время выполнения создает зависимость в
node_modules
папка и не обрабатывается
yarn
на этапе установки.
await symlink(
join(__dirname, 'fixtures', 'transport'),
join(__dirname, '..', 'node_modules', 'transport')
)
Я не могу найти способ сказать
yarn@3.0.1
для возврата к файловой системе.
Я читал о но не PnPApi,понял , как их использовать для загрузки этой зависимости, созданной во время выполнения. Не могли бы вы помочь мне? Это правильный выбор или вы видите лучший способ?
Я тоже пробовал опцию pnpIgnorePatterns , но она игнорирует весь файл, а не только один
require
Другим решением было бы опубликовать
test-transport-module
и установил его, на мой взгляд, но я бы этого избегал.
Мой
yarnrc
довольно просто:
yarnPath: ".yarn/releases/yarn-berry.cjs"
nodeLinker: pnp
pnpMode: loose
Есть ли у вас какие-либо советы?
1 ответ
Лучшее решение - установить зависимость внутри link:
протокол
yarn add --dev transport@link:./test/fixtures/transport