Как настроить родительскую библиотеку (в TS) для связывания из ее примеров?

Я хотел бы использовать родительский пакет NPM из подпапки как часть процесса разработки. Назовем мою библиотеку "логарий".

Состав:

.
|- package.json
|- tsconfig.json
|- src
 |- ... all the source code
|- dist
 |- ... compiled TS as .js, .js.map and .d.ts
|- examples
 |- with-nextjs
  |- package.json
  |- tsconfig.json

Библиотека написана на TypeScript, и это пример. Родитель компилируется сoutDir: ./dist в tsconfig.json. У меня есть несколько точек входа (одна для основной библиотеки, по одной для каждой одноранговой зависимости, например:import withLogary from 'logary/plugins/nextjs'.

Я хотел бы иметь возможность писать import Logary from 'logary'; внутри ./examples/with-nextjs и имеют Logary, конструктор, имеет прикрепленные к нему типы, которые полностью "разрешимы" компилятором TypeScript. Я хочу изменений в. быть отраженным, когда ./examples/with-nextjs перезагружается.

Это не монорепо (в обычном смысле). я пыталсяyarn link в . а потом yarn link logary внутри ./examples/with-nextjs, который, похоже, не решает эту проблему (невозможно импортировать модуль). Кроме того, поскольку я добавил версию в. к 6.0.0, как и я yarn install внутри ./examples/with-nextjs, yarn жалуется, что версия не опубликована на npmjs.com, и просит меня выбрать предыдущую версию, которую затем загружает.

Я знаю, что есть Лерна ("Разделение больших баз кода на отдельные пакеты с независимыми версиями чрезвычайно полезно для совместного использования кода". Это крошечная база кода и только один пакет, я просто хочу сослаться на него в одном направлении из пример) и Yarn Workspaces ("Это позволяет вам настроить несколько пакетов таким образом, что вам нужно всего лишь один раз запустить yarn install, чтобы установить их все за один проход". Это не моя цель)

Я не заинтересован в добавлении какой-либо специальной конфигурации (например, paths) к tsconfig.json в ./examples/with-nextjs потому что тогда это не просто копирование примера в качестве собственного приложения.

➡ Как мне лучше всего структурировать проект библиотеки TypeScript с множественными зависимостями и с папкой примеров?

Может быть связано?

0 ответов

Другие вопросы по тегам