AI Vibe Craft
← Назад к AI Vibe News

Редакция 3 мая 2026 г.

Разборы

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

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

В 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 или промптов.

  1. strict — если поля нет в конфиге, по умолчанию теперь true (раньше в этом случае подразумевалось false), вместе с подфлагами вроде noImplicitAny и strictNullChecks. Откат в духе «как было» — явное "strict": false в tsconfig.
  2. module — дефолт esnext; amd, umd, systemjs уходят в устаревание, исчезает module: none; в типичном ломающем примере — ошибка ERR_REQUIRE_ESM при попытке require() ESM-модуля.
  3. target — дефолт es2025; для контраста приводят es3 как типичное прошлое значение по умолчанию и предупреждают о рисках для старых рантаймов; сценарий с явным занижением, например до es2020, остаётся рабочим приёмом, где это уместно.
  4. types — дефолт []: неявный подхват всего из node_modules/@types больше не считается нормой; нужно явно перечислять, например ["node"], для Vite/React в примере — ["node", "vite/client"], для Jest добавлять "jest". В анонсе TypeScript 6.0 на сайте Microsoft приводится диапазон 20–50 % ускорения сборки при осознанной настройке types в типичных проектах.
  5. Дополнительные сдвиги одной связкой: 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 дублирует опорные дефолты: stricttrue, moduleesnext, targetes2025, 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 в порядок до того, как жёсткость дефолтов вырастет в следующей мажорной ветке.


Источники

  1. 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).
  2. Microsoft. Announcing TypeScript 6.0 — TypeScript Blog. URL: https://devblogs.microsoft.com/typescript/announcing-typescript-6-0/ (дата обращения: 2026-05-02, 22:25 UTC).