Ошибка Typescript / ts-loader для зависимости от машинописного текста - PullRequest
3 голосов
/ 24 января 2020

У меня есть модуль машинописного текста npm (проект B), который использует typescript@3.7.5 и ts-loader@6.2.1, который работает нормально. Я могу успешно запустить свои тесты внутри этого проекта.

У меня есть другой проект машинописного текста (проект A), который использует проект B в качестве зависимости.

В проекте A используется webpack@3.12.0, поэтому я заблокирован в использовании typescript@2.9.2 и ts-loader@3.5.0. Я получаю сообщение об ошибке при попытке построить с зависимостью Project B. Журналы показывают, что ошибка находится в ts-loader, расположенном внутри Проекта B

Также дополнительное примечание, что Проект B связан глобально npm link project-b.

ERROR in ../project-b/node_modules/ts-loader!./node_modules/vue-loader/lib/selector.js?type=script&index=0!../project-b/src/../Component.vue
Module build failed: TypeError: Cannot read property 'getProgram' of null
    at Object.getEmitOutput (/Users/username/../project-b/node_modules/ts-loader/dist/instances.js:369:41)
    at getEmit (/Users/username/../project-b/node_modules/ts-loader/dist/index.js:275:37)
    at successLoader (/Users/username/../project-b/node_modules/ts-loader/dist/index.js:67:15)
    at Object.loader (/Users/username/../project-b/node_modules/ts-loader/dist/index.js:22:12)

Есть ли способ сообщить ts-loader / webpack для использования версий ts-loader / typcript или tsconfig. json из проекта root (проект A) для зависимости проекта B? Или это можно решить с помощью другой конфигурации?

...