Нерешенный импорт рабочей области пряжи

Я пытаюсь перенести несколько отдельных репозиториев в одно хранилище, которое управляется через рабочие области пряжи. Я начал с одного пакета, и пока что monorepo выглядит так:

.
├── node_modules
├── package.json
├── packages
│   └── package-1
└── yarn.lock

Корневой пакет.json:

{
  "private": true,
  "workspaces": [
    "packages/package-1"
  ]
}

Но я уже сталкиваюсь с некоторыми ошибками, потому что package-1 включает в себя некоторые абсолютные пути к его node_modules каталог. Например, в packages/package-1/package.json:

{
  "jest": {
    "transform": {
      "^.+\\.(js|jsx)$": "<rootDir>/node_modules/babel-jest"
    }
}

Как я понимаю, как работают рабочие области пряжи, после запуска yarn от корня, babel-jest устанавливается в корень node_modules каталог, а не package-1/node_modules,

В этом примере достаточно просто изменить <rootDir>/node_modules/babel-jest в babel-jest, но есть проблемы, подобные этой, в репозиториях, которые переносятся в этот monorepo.

Короче говоря, после запуска yarn из пакета пакеты работают как положено: тесты пройдены и т. д. Но после запуска yarn из корня пакет работает не так, как ожидалось, поскольку модули узлов устанавливаются на один уровень выше, в корне.

Есть ли что-то, что я пропускаю здесь с рабочими пространствами пряжи?

0 ответов

Другие вопросы по тегам