Нерешенный импорт рабочей области пряжи
Я пытаюсь перенести несколько отдельных репозиториев в одно хранилище, которое управляется через рабочие области пряжи. Я начал с одного пакета, и пока что 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
из корня пакет работает не так, как ожидалось, поскольку модули узлов устанавливаются на один уровень выше, в корне.
Есть ли что-то, что я пропускаю здесь с рабочими пространствами пряжи?