Вопрос или проблема
Как сделать так, чтобы тестовые файлы не генерировались при компиляции, но при этом всё равно проверялись на типы? Тестовые файлы — это те, что указаны с помощью шаблона **/*\.test\.ts
.
Ответ или решение
Чтобы настроить компилятор TypeScript (tsc
) таким образом, чтобы он не создавал выходные файлы для тестовых файлов, но продолжал проверять их на типы, можно воспользоваться настройками tsconfig.json
и вариантами компиляции.
Шаги по настройке
-
Создание или редактирование
tsconfig.json
:В корне вашего проекта должен находиться файл
tsconfig.json
. Если его нет, создайте новый. Этот файл используется для управления настройками компиляции TypeScript. -
Настройка параметров
include
иexclude
:Внутри
tsconfig.json
вы можете указать, какие файлы должны компилироваться, а какие нет. Для того чтобы исключить тестовые файлы с расширением.test.ts
из компиляции, но при этом оставить их в процессе проверки типов, вы должны использовать параметрыinclude
иexclude
следующим образом:{ "compilerOptions": { // Другие параметры компиляции "outDir": "./dist", // Директория для выходных файлов "noEmit": false, // Не отключаем вывод файлов "allowJs": true, // Если нужно компилировать JavaScript файлы "strict": true // Включаем строгую типизацию }, "include": [ "**/*.ts", // Включаем все TypeScript файлы "!**/*.test.ts" // Исключаем тестовые файлы из компиляции ], "exclude": [ "node_modules", // Исключаем папку node_modules "**/*.test.ts" // Также исключаем тестовые файлы ] }
-
Использование параметра
noEmit
:Если ваша цель – не создавать выходные файлы из тестов, но по-прежнему выполнять проверку их типов, вы можете установить параметр
noEmit
вtrue
глобально. Однако в данном случае это повлияет на все файлы. Чтобы избежать этой ситуации, лучше исключить тестовые файлы, как показано выше. -
Проверка типов:
После внесения изменений выполните команду для проверки типов, чтобы убедиться, что тесты проверяются на ошибки:
tsc --noEmit
Это позволит вам проверять типы всех файлов, включая тесты, без необходимости создания выходных файлов.
Заключение
Теперь вы настроили ваш проект таким образом, что тестовые файлы .test.ts
не будут создаваться при компиляции, но всё равно будут проверяться на наличие ошибок типов. Это создаёт более чистую организацию файлов проекта и помогает избежать ненужных выходных файлов, связанных с тестами.
Данная практическая настройка не только упрощает работу с тестами, но и соответствует современным практикам в разработке на TypeScript, обеспечивая высокие стандарты кодирования и удобство для разработчиков.