Отладка Typescript, скомпилированного с tsc из локально связанного пакета узла - PullRequest
0 голосов
/ 08 июля 2019

Наш проект React / React Native построен с использованием Typescript.У нас есть мобильный проект, построенный с использованием React Native, и общий приватный пакет, который используется как клиентом React Native, так и внешним интерфейсом React.

Поскольку мы часто вносим изменения в общий пакет, мы 'повторное связывание пакета локально в зависимостях, таких как "our_shared_package": "*" и символическая ссылка node_modules/our_shared_package в файловой системе.Несмотря на то, что пакет написан на Typescript, мы вручную запускаем tsc после выполнения изменений, чтобы сгенерировать соответствующий JS, прежде чем запускать проект.

Все работает отлично, хотя всякий раз, когда я отлаживаю и вхожу в код, сгенерированныйtsc, он не входит в файл .ts, а сгенерированный файл .js, который содержит много уродливого кода (особенно с ожидающими, асинхронными функциями, обещаниями и т. Д.), Что делает его чрезвычайно трудным для отладки.Если я добавлю точку останова в файл .ts из внешнего пакета, он не попадет.У меня нет проблем с отладкой .ts из приложения React Native, хотя только отредактированный код плохо работает с отладчиком.

Как сделать так, чтобы Vscode правильно отображал файлы .ts во внешнем пакетепостроен с tsc вместо выходных файлов JS?

1 Ответ

1 голос
/ 10 июля 2019

Я не знаком с VSCode, но я предполагаю, что он использует исходные карты, как и большинство других инструментов. Поэтому вам нужно добавить следующее к вашему tsconfig.json:

{
  "compilerOptions": {
    "sourceMap": true
  }
}
...