Я использую рабочие области lerna и yarn в моем монорепозитории. Структура пакета выглядит так:
root
`--- packages
|--- pkg1
| |--- src
| | `--- index.ts
| `--- dist
| `--- index.js
`--- pkg2
|--- src
| `--- index.ts
`--- dist
`--- index.js
src
папка компилируется вdist
папку.- Из каждого пакета я хотел бы опубликовать только папку
dist
, чтобы импорт работал без необходимости записиmain
в package.json, указывающей на папкуdist
. Это легко сделать с помощью lerna:lerna publish --contents dist
.
Это отлично работает для внешних проектов, которым необходимо использовать это репо, однако это не работает в самом репо. Например, если pkg2
, зависит от pkg1
, он ищет файл index.js pkg1 по адресу pkg1/index.js
, в то время как на самом деле скомпилированная версия находится под pkg1/dist/index.js
. Как я могу заставить это работать?
P.S. Я видел эту работу в таких репозиториях, как material-ui, но я не могу объяснить как там работает!
outDir
на'./'
вtsconfig.json
. Таким образом, все перенесенные файлы сбрасываются в корневую папку, и я могу ссылаться на них без/dist/...
. - person gabriel_vincent   schedule 12.06.2021