Я хочу иметь возможность обмениваться кодом между несколькими проектами Typescript.
ts-project
├── project1
│ ├── package.json
│ ├── somecode.ts
│ └── tsconfig.json
├── project2
│ ├── somecode.ts
│ └── tsconfig.json
└── shared
├── dist
├── index.ts
├── package.json
├── someothercode.js
├── somesharedcode.ts
└── tsconfig.json
Для переноса кода в shared
у меня ранее было allowJS: true
, чтобы someothercode.js
был включен в tscшаг транспилирования и весь код заканчивался в dist/
и package.json
в main
, указывающих на dist/index.js
.
в project1
в зависимостях package.json
у меня "shared":"file:../shared"
и яможет import
общий код как с обычным пакетом.
Так что компилятор машинописного текста знает о shared
коде project1
tsconfig.json
необходимости
"references": [{
"path": "../shared"
}]
Теперь приходит мойпроблема, с которой мне нужна ваша помощь.
Для правильной работы ссылки на проект tsconfig
in shared
необходимо свойство
"compilerOptions": {
"composite": true,
}
Но с набором composite: true
я могубольше не использовать allowJS: true
, что означает, что файл someothercode.js
больше не включается в папку dist.
В настоящее время невозможно изменить весь код .js
на ts
(мы работаем надэто!) так что мне нужно иметь возможность обрабатывать файлы ts
и js
, но все еще нужна поддержка машинописи IDE иуметь использовать tsc -b
.