Пять тихих сдвигов в дефолтах TypeScript 6.0: почему после обновления ломается сборка

В TypeScript 6.0 заново определены ключевые политики tsconfig: в материале на Dev.to это описано как серия «крошечных» правок — каждая способна уронить CI после привычного апдейта. https://dev.to/gabrielanhaia/5-typescript-defaults-that-quietly-changed-in-2026-and-why-your-build-is-now-broken-381f На той же странице, рядом с разбором, упомянута связанная с автором Hermes IDE — среда для разработчиков, которые работают с Claude Code и другими AI coding tools, так что новые дефолты затрагивают и классические, и агентно-ориентированные цепочки.
Когда зелёный пайплайн вдруг краснеет
Сценарий строится от мелкого изменения вроде апдейта в package.json и «зелёной» CI до мерджа — затем массовый провал tsc --noEmit. В разборе фигурируют диагностики уровня TS7034 и TS7006; акцент на том, что дело не в «сломанном» коде, а в новой поверхности дефолтов 6.0.
Если коротко: обновился компилятор — изменились молчаливые правила
tsconfig, а репозиторий продолжает жить по старым ожиданиям.
Там же текст сопоставляют с экосистемой вокруг Claude Code и AI coding tools через Hermes IDE — значит команды, которые уже строят workflow вокруг таких сред, при том же апдейте TypeScript получают тот же класс сюрпризов на CI, что и коллеги без агентов.
Пять дефолтов и короткие откаты
Ниже — пересказ пяти блоков с источника на Dev.to, сверенный по официальному анонсу Microsoft там, где дефолты и цифры совпадают; отдельно от технического лонгрида там почти нет явных маркеров вроде MCP или промптов.
strict— если поля нет в конфиге, по умолчанию теперьtrue(раньше в этом случае подразумевалосьfalse), вместе с подфлагами вродеnoImplicitAnyиstrictNullChecks. Откат в духе «как было» — явное"strict": falseвtsconfig.module— дефолтesnext; amd, umd, systemjs уходят в устаревание, исчезаетmodule: none; в типичном ломающем примере — ошибкаERR_REQUIRE_ESMпри попыткеrequire()ESM-модуля.target— дефолтes2025; для контраста приводятes3как типичное прошлое значение по умолчанию и предупреждают о рисках для старых рантаймов; сценарий с явным занижением, например доes2020, остаётся рабочим приёмом, где это уместно.types— дефолт[]: неявный подхват всего изnode_modules/@typesбольше не считается нормой; нужно явно перечислять, например["node"], для Vite/React в примере —["node", "vite/client"], для Jest добавлять"jest". В анонсе TypeScript 6.0 на сайте Microsoft приводится диапазон 20–50 % ускорения сборки при осознанной настройкеtypesв типичных проектах.- Дополнительные сдвиги одной связкой:
esModuleInteropнельзя выставить вfalse(поддерживается только поведение, эквивалентное прежнему «включено»);baseUrlпомечен устаревшим в пользуpaths;target: "es5"получает диагностику устаревания; в том же тексте упомянутыignoreDeprecations: "6.0"и перспектива более жёсткого отказа от совместимости в ветке 7.x.
Примеры однострочных правок:
// экстренный откат строгости
"strict": false
// явное ограничение набора @types (пример для Vite/React)
"types": ["node", "vite/client"]
Для цепочки «редактор — репозиторий — CI» это означает: давно не трогавшиеся или автогенерируемые tsconfig перестают молча соответствовать старым допущениям — заметно и при работе из Visual Studio Code, и при правках ассистентами в проектах с контуром Hermes IDE и Claude Code, о котором идёт речь в том же тексте на Dev.to.
Анонс Microsoft и линейка VS Code
Документ Announcing TypeScript 6.0 дублирует опорные дефолты: strict → true, module → esnext, target → es2025, types → []; отдельно подчёркиваются noUncheckedSideEffectImports и libReplacement как изменения значений по умолчанию, плюс выигрыш по времени сборки в диапазоне 20–50 % при явном перечислении types в типичных проектах. Там же говорится о Visual Studio Code и канале native preview компилятора TypeScript 7.0 как об инструментальном контексте следующего поколения toolchain — без добавления тем, которых нет у этих первоисточников (например, MCP или «промпт-инжиниринга»).
Политика дефолтов 6.0 здесь совпадает с анонсом платформы и с той же линейкой IDE, где многие и так запускают tsc и интеграции ассистентов.
TypeScript 7.0 и окно депрекций
Финальная часть материала на Dev.to связывает TypeScript 6.0 с будущим переносом компилятора на Go в 7.0, с «окном» депрекций и ролью ignoreDeprecations: "6.0" — по смыслу это перекликается с официальным постом о траектории 5.9 → 7.0 и нативном порте. Для команд, которые уже смотрят на native preview через VS Code, это и инфраструктурный сигнал, и повод привести tsconfig в порядок до того, как жёсткость дефолтов вырастет в следующей мажорной ветке.
Источники
- Gabriel Anhaia. 5 TypeScript Defaults That Quietly Changed in 2026 (And Why Your Build Is Now Broken) — Dev.to. URL: Dev.to (дата обращения: 2026-05-02, 22:25 UTC).
- Microsoft. Announcing TypeScript 6.0 — TypeScript Blog. URL: https://devblogs.microsoft.com/typescript/announcing-typescript-6-0/ (дата обращения: 2026-05-02, 22:25 UTC).