У меня есть библиотека core
со следующим в package.json
:
"main": "dist/cjs/index.js",
"module": "dist/esm/index.js",
"es2015": "dist/es2015/index.js",
"types": "dist/es2015/index.d.ts",
"typings": "dist/es2015/index.d.ts",
Библиотека встраивает код TypeScript в папку dist/
для распространения. Исходный код лежит в пределах src/
.
Я использую Lerna и monorepos и пытаюсь получить другой пакет / модуль для загрузки кода TypeScript как есть:
import { someTypeScriptStuff } from '@test/core'
Однако это не работает. И IntelliJ, и TSLint жалуются на отсутствующий модуль. Если я изменю значение поля main
в package.json
на src/index.ts
, то оно будет работать.
Я не хочу постоянно компилировать код TS в dist
, потому что это больно.
Очевидно, что я также не могу изменить основное поле на src/index.ts
, потому что оно должно ссылаться на обычный JavaScript, который работает как есть в узлах / браузерах.
Существует ли поле, специфичное для TypeScript, которое я мог бы использовать в package.json
, которое вместо этого могли бы использовать IntelliJ и TSLint? Это было бы идеально.
Единственное решение, которое я могу придумать, - это буквально заставить поле main
указывать на код TS и изменить процесс сборки, чтобы изменить содержимое упакованного модуля NPM, переместив поле main
обратно на dist/cjs/index.js
для распределение. Я бы хотел этого избежать.