пряжа 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
Другие вопросы по тегам