В своих проектах 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 для сценариев сборки, это продемонстрировано в моем примере проекта.