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

Для выполнения импорта одного из своих пакетов в Lerna вам понадобится правильно настроить пути импорта и сборку проекта.

1. Настройка TypeScript путей импорта:
- Создайте файл tsconfig.base.json в корневом каталоге проекта, если его нет.
- Добавьте следующее содержимое в tsconfig.base.json:

      {
        "compilerOptions": {
          "baseUrl": ".",
          "paths": {
            "@yourorg/package-a": ["packages/package-a/src"],
            "@yourorg/package-b": ["packages/package-b/src"]
          }
        }
      }

- Здесь @yourorg/package-a и @yourorg/package-b - это синонимы путей импорта для ваших пакетов.
- ["packages/package-a/src"] и ["packages/package-b/src"] - это относительные пути к исходным файлам ваших пакетов. Проверьте, чтобы пути соответствовали структуре каталогов в ваших пакетах.

2. Настройка сборки проекта:
- В файле package.json каждого пакета (например, packages/package-a/package.json и packages/package-b/package.json) добавьте секцию main со значением "dist/index.js":

      {
        "name": "@yourorg/package-a",
        "main": "dist/index.js"
        // остальная часть файла package.json
      }

- Запустите сборку TypeScript для каждого пакета с помощью команды tsc -b packages/package-a и tsc -b packages/package-b.
- Обратите внимание, что путь к выходному файлу сборки ("dist/index.js") должен соответствовать значению, указанному в секции main файла package.json.

3. Использование импорта:
- В любом проекте или файле, где вы хотите использовать импорт, добавьте следующий код в начало файла:

      import { SomeClass } from '@yourorg/package-a';
      // или
      import { SomeFunction } from '@yourorg/package-b';

- Здесь SomeClass или SomeFunction - это экспортированные сущности из соответствующего пакета package-a или package-b.

Теперь ваши пакеты должны быть успешно импортированы и использованы в вашем проекте с помощью определенных путей импорта. Убедитесь, что пути импорта соответствуют значениям, указанным в tsconfig.base.json и main файлах package.json.