Monorepo - локальные файлы пакетов не распознаются инструментами разработчика
Моя проблема в том, что когда я импортирую локальный пакет (пакет B) в другой локальный пакет (пакет A), исходные файлы пакета B не распознаются инструментами разработчика Chrome, даже если включены исходные карты.
изображение файловой структуры. Я использую рабочие области NPM как монорепозиторий с React-пакетами, связанными с Webpack.
ссылка на воспроизводимое репо . Просто
npm ci
а также
npm start
и проблема обслуживается в
localhost:3000
;)
изображение исходных файлов в devtools Если посмотреть на виртуально сгенерированные файлы в devtools, файлы пакета A (/ src /) сгенерированы правильно с использованием source-map. Пакет B (b / lib) отображает файл пакета только тогда, когда в b / lib должен быть соответствующий «/ red-block».
Глядя на пакете , Б расслоения файла в Devtools он говорит , что он «Sourced отображенный из main.js» , который является расслоение-файлом пакет A .
Есть предположения?
Обновление: мне удалось решить проблему
Проблема заключалась в том, что мне нужно установить
module
в файл записи сборки для пакета B (общий пакет).
Просто напомним, если кто-то еще наткнется на эту проблему - если вы хотите поделиться локальным пакетом между своими пакетами monorepo и иметь инструменты разработчика для получения исходных файлов (полезно при отладке общего пакета), вам необходимо иметь
package.json
в общем пакете, похожем на этот
{
"name": "b",
"version": "1.0.0",
"main": "lib/index.js", // Webpack/Babel bundle file
"module": "lib/entry.js", // Generated entry/index from source <-- solved my issue
"types": "lib/entry.d.ts", // Type declaration for intellisense
"files": [
"lib"
],
"scripts": {
"build": "webpack && tsc -p tsconfig.json"
},
"license": "MIT",
"dependencies": {
"react": "^17.0.2",
"react-dom": "^17.0.2"
},
"devDependencies": {
"@types/react": "^17.0.33",
"@types/react-dom": "^17.0.10"
}
}