Как открыть каталоги пакета npm другим пакетам в монорепозитории

У меня есть монорепозиторий Lerna, состоящий из двух пакетов: myapp-web и myapp-core. Каждый из этих пакетов имеет src/ каталоги верхнего уровня для хранения своего кода.

Я хочу иметь возможность импортировать myapp-core/src/some-subdir как myapp-core/some-subdir (аналогично тому, как вы выполняете импорт в lodash/effects или lodash/fp) внутри myapp-web (то есть я хочу избежать включения части src/).

Я знаю, что вы можете установить точку входа в main опоре package.json. Могу ли я сделать что-то аналогичное, но указав каталоги, которые я хочу сделать доступными извне пакета? Нужно ли мне делать именованный экспорт из файла main и требовать, чтобы они были выбраны как myapp-core/some-export?


person sdeleon28    schedule 27.08.2017    source источник


Ответы (1)


Единственный способ сделать это - переместить файлы из src/ в корень вашего проекта. Однако вы можете настроить это так, чтобы это происходило при публикации. Таким образом вы сохраните свои исходные файлы в src/ и исключите их из опубликованного пакета. Вот что делают lodash и другие.

Это не уникальное явление для монорепозиториев.

person Tamlyn    schedule 20.03.2018