@destyk

Как в Lerna правильно выполнить импорт одного из своих пакетов?

Всем привет! Использую lerna для монорепозитория. При публикации пакетов, предпочитаю убирать папку dist, чтобы при импорте не было что-то подобного:
import { something } from '@mypackages/package/dist/dir'


В целом, всё работает отлично, однако, если необходимо в @mypackages/package1 импортировать что-то из @mypackages/package2, то возникает проблема: при импорте нужно будет указывать папку dist.

Это происходит из-за того, что все локальные пакеты линкуются и ссылаются из папки node_modules на, непосредственно, папки с исходниками пакета.

Т.е. что-то вроде такого:
./node_modules/@mypackages/package1 -> ./packages/package1
./node_modules/@mypackages/package2 -> ./packages/package2


А так как в исходной папке у меня находятся и исходники, и выходные файлы, то получаем структуру что-то типа такого:
dist
src
package.json
...


Как итог, в @mypackages/package1 требуется импортировать таким образом:
import { something } from '@mypackages/package2/dist/someDir'


После компиляции в выходящем файле получаем:
require("@mypackages/package2/dist/someDir")

Так как я пакет публикую БЕЗ папки dist, то такой код работать на проде не будет.

Подскажите, пожалуйста, каким образом я могу избавиться от dist в импорте и при этом иметь возможность импортировать локальные пакеты?
  • Вопрос задан
  • 67 просмотров
Пригласить эксперта
Ответы на вопрос 1
bingo347
@bingo347 Куратор тега TypeScript
Crazy on performance...
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы