Типовая ссылка на проект, составная и allowJS - PullRequest
1 голос
/ 27 апреля 2019

Я хочу иметь возможность обмениваться кодом между несколькими проектами 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.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...