Monorepo и проблема со сборкой пакетов
Я пытаюсь создать модульное приложение React, используя монорепозиторий (рабочие области) - в корневой папке у меня есть package.json:
{
"private": true,
"workspaces": ["shared/react-components", "client/react-app"],
"scripts": {
"start": "yarn --cwd shared/react-components build && yarn --cwd client/react-app start"
}
}
Я хочу включить общие / реактивные компоненты (с именем, например, @ shared / response-components) в приложение client / response-app, но до того, как мне нужно будет скомпилировать общий модуль, и в этом месте я получаю неприятную ошибку:Error: 'default' is not exported by ../../node_modules/deepmerge/dist/cjs.js, imported by src/styles/dark.ts
Я запускал yarn install до того, как deepmerge стал доступен в / node_modules. Если я удалю конфигурацию рабочих пространств и запустил: yarn install && yarn build в общих / реактивных компонентах, все будет работать, поэтому кажется, что проблема в конфигурации рабочих пространств.
Скрипт сборки в общих / реактивных компонентах: rollup -c
Есть идеи, чего может не хватать?
1 ответ
Оказалось, что проблема связана с пакетом deepmerge и TSX, длинную ветку о проблемах с импортом можно найти здесь: https://github.com/TehShrike/deepmerge/issues/87 Я заменил его слиянием lodash, а мой пакеты были собраны снова.