Выбор ответа Middle Сборщики обновлено
Проверяет ли esbuild типы
Вопрос
Проект на Vite успешно собрался, но в CI ловят ошибку типов. Почему сборка её не заметила?
Попробуйте сами
Выберите вариант, и откроется разбор.
Показать ответ и разбор
Коротко
Правильный ответ: esbuild и SWC только вырезают типы, проверяет tsc --noEmit. Быстрые транспиляторы обрабатывают каждый файл отдельно и просто удаляют аннотации.
Варианты ответа
- Vite проверяет типы только в dev-режиме, а в build пропускает
- В tsconfig не включён strict, поэтому ошибки молчат
- Ошибки типов Vite выводит как предупреждения, их не прочитали
- esbuild и SWC только вырезают типы, проверяет
tsc --noEmitправильный ответ
Разбор
Быстрые транспиляторы обрабатывают каждый файл отдельно и просто удаляют аннотации. Проверка типов требует всего проекта сразу, этим занимается tsc, обычно tsc --noEmit в скрипте typecheck и в CI.
- Vite не проверяет типы ни в dev, ни в build.
- strict меняет строгость проверки tsc, но сборщик проверку не запускает в любом случае.
- Предупреждений о типах Vite не печатает.
Ответьте сами, а не прочитайте
В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.