В своих проектах TypeScript я использовал сценарии npm для разработки и сборки конвейеров.
В качестве побочного примечания - если вы используете gulp или grunt, вам следует ознакомиться с этим сообщением в блоге о причинах перехода на сценарии npm.
Обычно мои сценарии определены в моем package.json и просто вызывают инструменты интерфейса командной строки. Недавно я работал с json-server и json-schema-faker (просмотрите этот блог, чтобы узнать больше), и мне нужно было сделать больше, чем то, что элегантно уместилось бы в одной строке в package.json. Я мог бы использовать файл JavaScript, поскольку мне не нужны все возможности TypeScript для сценария сборки. Однако я хотел быть последовательным во всем моем проекте и иметь одинаковые правила / проверки, выполняемые для всего моего кода.
Чтобы использовать TypeScript для определения ваших сценариев сборки, вы можете использовать модуль ts-node. ts-node - это среда выполнения TypeScript и REPL для узла, что означает, что вы можете использовать файл TypeScript вместо любого файла JavaScript.
Прежде всего, установите ts-node и typescript (от которого зависит ts-node) с помощью:
yarn install -D ts-node typescript
Теперь с установленными модулями вы можете создать сценарий npm следующим образом:
"start" : "ts-node ./buildScripts/start.ts"
И запустите его с помощью:
yarn start
Вот и все! Пример проекта со всей этой настройкой можно найти на моем GitHub.
Одна вещь, с которой я столкнулся, заключается в том, что в вашем tsconfig.json должен быть установлен формат модуля commonjs для правильной работы ts-node; в противном случае вы получите ошибку SyntaxError: Неожиданный импорт токена. Если вы хотите использовать другой формат модуля в остальной части вашего кода, вы можете использовать отдельный tsconfig.json для сценариев сборки, это продемонстрировано в моем примере проекта.