Выбор ответа Middle Сборщики обновлено

Проверяет ли esbuild типы

Вопрос

Проект на Vite успешно собрался, но в CI ловят ошибку типов. Почему сборка её не заметила?

Попробуйте сами

Выберите вариант, и откроется разбор.

Показать ответ и разбор

Коротко

Правильный ответ: esbuild и SWC только вырезают типы, проверяет tsc --noEmit. Быстрые транспиляторы обрабатывают каждый файл отдельно и просто удаляют аннотации.

Варианты ответа

  1. Vite проверяет типы только в dev-режиме, а в build пропускает
  2. В tsconfig не включён strict, поэтому ошибки молчат
  3. Ошибки типов Vite выводит как предупреждения, их не прочитали
  4. esbuild и SWC только вырезают типы, проверяет tsc --noEmitправильный ответ

Разбор

Быстрые транспиляторы обрабатывают каждый файл отдельно и просто удаляют аннотации. Проверка типов требует всего проекта сразу, этим занимается tsc, обычно tsc --noEmit в скрипте typecheck и в CI.

  • Vite не проверяет типы ни в dev, ни в build.
  • strict меняет строгость проверки tsc, но сборщик проверку не запускает в любом случае.
  • Предупреждений о типах Vite не печатает.

Ответьте сами, а не прочитайте

В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.

Термины по теме