TypeScript: смотреть и компилировать несколько каталогов одновременно (monorepo) - PullRequest
0 голосов
/ 23 сентября 2018

Я искал в Интернете решение, но не нашел ничего стоящего.По сути, я ищу инструмент или какой-либо способ инициировать просмотр / компиляцию файла TypeScript в нескольких каталогах одновременно.

У меня есть монорепо с пакетами NPM с областями действия (@ test / one, @ test /два, @ test / three и т. д.) и я хочу посмотреть / скомпилировать их все одновременно.

Не похоже, что TS поддерживает это, и на самом деле нет никаких инструментов, которые бы это делалиили.Самым близким, что я нашел, был нодмон, я мог заставить его просматривать несколько каталогов одновременно, но он поддерживает только выполнение скрипта / двоичного файла в одном месте, в то время как мне нужно было бы выполнять tsc в каждом наблюдаемом каталоге при изменении.

Лучшее, что я мог сделать с nodemon, было следующее, но, конечно, это не очень хороший способ сделать это, поскольку он компилирует все пакеты, даже если изменяется только одно:

npx nodemon --watch test-shared-api --watch test-shared-redux --watch test-shared-types -e js,ts,jsx,tsx --exec "npx tsc --build test-shared-api/tsconfig.json && npx tsc --build test-shared-types/tsconfig.json && npx tsc -build test-shared-redux/tsconfig.json"

Содновременно я могу сделать следующее в package.json, что лучше, но все же можно сделать лучше:

  "scripts": {
"ts-watch-shared-types": "tsc -p packages/@test-shared/test-shared-types/tsconfig.json -w",
"ts-watch-shared-api": "tsc -p packages/@test-shared/test-shared-api/tsconfig.json -w",
"ts-watch-shared-redux": "tsc -p packages/@test-shared/test-shared-redux/tsconfig.json -w",
"ts-shared-watch": "concurrently -k -n w: npm:ts-watch-shared-*"
  },

Есть идеи?

1 Ответ

0 голосов
/ 24 сентября 2018

Вы можете попробовать использовать Ссылки на проект TypeScript с tsc -b --watch, хотя функциональность очень новая и имеет некоторые ошибки (по состоянию на сентябрь 2018 г.).

...