[{"data":1,"prerenderedAt":157},["ShallowReactive",2],{"$fBBQ5ulyG5jVWbIBJe3r8F-kTKQKf1scMJiu0B6qzX5k":3,"$f7AVZHmPutZ23_8XKkLbDtEszKCuiY3yPjIDp9eRXGag":5,"$fN3ROMZqRW5JdguNoRq8i_F55E9ZABMAKX1tPrJDSqaM":7,"$f4dxFU5wsqtwMfyuZhhG0_OLZCr8VZ3cMSEKmAQ6G_r0":133},{"data":4},[],{"data":6},[],{"data":8,"meta":129},[9],{"id":10,"documentId":11,"title":12,"seo_title":13,"summary":14,"seo_description":15,"slug":16,"published_date":17,"body":18,"content":19,"createdAt":50,"updatedAt":51,"publishedAt":52,"blogauthor":53,"cover":75,"categories":118},348,"vtjvnrwjysp7pg2m5yplwrr5","TypeScript 7.0 — самое радикальное обновление за 10 лет","TypeScript 7.0: что нового в нативном компиляторе на Go","TypeScript 7 вышел с нативным компилятором на Go: сборка ускоряется в 8–12 раз, редактор открывает проект почти мгновенно. Разбираем замеры и установку.","TypeScript 7 переписан на Go: полная сборка быстрее в 8–12 раз, на vscode 125,7 с против 10,6 с, памяти уходит до 26% меньше. Как установить.","typescript-7-0-samoe-radikalnoe-obnovlenie-za-10-let","2026-07-10","С самого начала TypeScript обещал обеспечить масштабируемость JavaScript. Строгая типизация и богатый инструментарий позволили разрабатывать нетривиальные, высококачественные приложения под любые платформы.\n\nВ прошлом году [наша команда анонсировала следующий шаг в масштабировании TypeScript](https:\u002F\u002Fdevblogs.microsoft.com\u002Ftypescript\u002Ftypescript-native-port\u002F): нативный порт на Go, который использует все возможности современного железа. Порт сделан максимально точно: новый код воспроизводит структуру и логику оригинальной кодовой базы, чтобы результаты двух компиляторов совпадали.\n\nКлючевое отличие — TypeScript 7 использует скорость нативного кода, разделяемую память при многопоточности и ряд новых оптимизаций. В итоге полная сборка ускоряется в 8–12 раз.\n\n\u003Ch3 id=\"ustanovka\">Установка\u003C\u002Fh3>\n\n```bash\nnpm install -D typescript\n```\n\nЭта команда установит новый исполняемый файл `tsc` в рабочее пространство (запускается через `npx tsc`).\n\nВажная часть опыта TypeScript — поддержка в редакторах. Любой современный редактор с поддержкой Language Server Protocol (LSP) легко подхватит TypeScript 7 с его новой скоростью и многопоточностью. OpenIDE, VS Code, Visual Studio, WebStorm и другие редакторы работают без дополнительных настроек.\n\n> Для VS Code есть [отдельное расширение TypeScript 7](https:\u002F\u002Fmarketplace.visualstudio.com\u002Fitems?itemName=TypeScriptTeam.native-preview), доступное уже сейчас. Visual Studio включит TypeScript 7 автоматически на основе настроек рабочего пространства.\n>\n> В [OpenIDE](https:\u002F\u002Fopenide.ru\u002F) отдельный плагин [Frontend\u002FWeb](https:\u002F\u002Fmarketplace.openide.ru\u002Fplugin\u002Ffrontendweb-beta\u002F367\u002F) также предоставляет поддержку TypeScript всех актуальных версий.\n\n\u003Ch3 id=\"chto-dayot-uskorennyj-typescript\">Что даёт ускоренный TypeScript?\u003C\u002Fh3>\n\nБыстрый TypeScript звучит хорошо на бумаге, но что это означает на практике?\n\nТипичный день разработчика: открыть IDE, открыть TypeScript-файл, запустить «найти все ссылки» по всему проекту. Потом — редактировать, ожидать автодополнений, видеть красные подчёркивания в реальном времени. Когда пришло время собирать проект (или это делает AI-агент) — запустить `tsc`, проверить вывод на ошибки, запустить сгенерированный код.\n\nTypeScript 7 ускоряет каждый этап:\n\n- Загрузка проекта в редакторе становится практически мгновенной.\n- «Найти все ссылки», автодополнение и диагностика — работают в долю прежнего времени.\n- `tsc` в режиме `--watch` — цикл обратной связи становится значительно короче.\n\nВот результаты на реальных крупных open-source проектах:\n\n| Проект | TypeScript 6 | TypeScript 7 | Ускорение |\n|---|---|---|---|\n| vscode | 125,7 с | 10,6 с | 11,9× |\n| sentry | 139,8 с | 15,7 с | 8,9× |\n| bluesky | 24,3 с | 2,8 с | 8,7× |\n| playwright | 12,8 с | 1,47 с | 8,7× |\n| tldraw | 11,2 с | 1,46 с | 7,7× |\n\n![Время сборки проектов в TypeScript 6 и 7: ускорение от 7,7× до 11,9×]({{strapiUrl}}\u002Fuploads\u002F21eb4a434ec7122acb7c1c9f5ed7499e_27b944b889.webp)\n\nTypeScript 7 также потребляет меньше памяти:\n\n| Проект | TypeScript 6 | TypeScript 7 | Изменение |\n|---|---|---|---|\n| vscode | 5,2 ГБ | 4,2 ГБ | −18% |\n| sentry | 4,9 ГБ | 4,6 ГБ | −6% |\n| bluesky | 1,8 ГБ | 1,3 ГБ | −26% |\n| playwright | 1,0 ГБ | 0,9 ГБ | −11% |\n| tldraw | 0,6 ГБ | 0,5 ГБ | −15% |\n\n![Снижение потребления памяти в TypeScript 7 по сравнению с TypeScript 6: от −6% до −26%]({{strapiUrl}}\u002Fuploads\u002Fe94ec0e116ef1f6af0f1bfd97dc8ab44_eb1102db49.webp)\n\nИ это ещё не всё. На одном и том же компьютере открытие файла с ошибкой в кодовой базе VS Code раньше занимало около 17,5 секунды с момента открытия редактора до первой видимой ошибки. С TypeScript 7 это занимает менее 1,3 секунды — более чем в 13 раз быстрее.\n\n\u003Ch3 id=\"proveren-v-boyu-i-gotov-k-prodakshenu\">Проверен в бою и готов к продакшену\u003C\u002Fh3>\n\nВ проекте TypeScript накоплены десятки тысяч тестов, которые запускаются на каждый коммит в ветке `main` на протяжении более десяти лет. Они обеспечивают стабильность и надёжность каждого релиза.\n\nНо TypeScript 7 — не обычный релиз. Помимо тестового набора, мы использовали множество дополнительных ресурсов, чтобы убедиться в его готовности к продакшену.\n\nЗа последний год мы работали со многими крупными командами внутри компании и снаружи, тестируя TypeScript 7 на реальных кодовых базах. Результаты оказались весьма позитивными: целые компании сообщали, что TypeScript 7 стабилен, быстр и легко внедряется. Например, [команда VS Code недавно рассказала о своём опыте работы с предварительными версиями TypeScript 7](https:\u002F\u002Fcode.visualstudio.com\u002Fblogs\u002F2026\u002F06\u002F26\u002Fiterating-faster-with-ts-7) в рамках ускорения цикла разработки. Мы также работали с командами Microsoft: Loop, Office, PowerBI, Teams и Xbox — чтобы убедиться, что TypeScript готов к крупнейшим кодовым базам. Bloomberg, Canva, Figma, Google, Lattice, Linear, Miro, Notion, Sentry, Slack, Vanta, Vercel, VoidZero и другие компании помогали тестировать TypeScript 7 и делились обратной связью.\n\nКроме того, мы перестроили большую часть тестовой инфраструктуры для работы с TypeScript 7: автоматизированное и запускаемое по запросу тестирование TypeScript- и JavaScript-проектов на GitHub для обнаружения регрессий в компиляторе и языковом сервере.\n\nБлагодаря явной обратной связи, автоматическим отчётам о сбоях и агрессивному тестированию качество заметно выросло. Данные показывают, что новый языковой сервер TypeScript 7.0 сократил количество неудачных команд более чем на 80%, а число сбоев сервера — более чем на 60% по сравнению с TypeScript 6.0.\n\nОтзывы команд о реальных результатах:\n\n- **Slack**: TypeScript 7 устранил 40% времени ожидания в очереди слияний и [сократил время проверки типов в CI с ~7,5 минут до 1,25 минуты](https:\u002F\u002Fbsky.app\u002Fprofile\u002Fslack.engineering\u002Fpost\u002F3lry3ml3qok2f). Локальная разработка в редакторе раньше была практически «непригодной для использования» из-за времени загрузки языкового сервера — инженеры обычно перекладывали полную проверку типов на CI. TypeScript 7 загружает ту же кодовую базу за несколько секунд, и локальная проверка типов снова стала реальной.\n- **Vanta**: сборки резко ускорились — [до 9× на одном из крупнейших проектов](https:\u002F\u002Fbsky.app\u002Fprofile\u002Fchriskrycho.com\u002Fpost\u002F3melxwy2lkycq).\n- **Microsoft News Services**: внедрение TypeScript 7 сэкономило команде 400 часов в месяц, которые раньше уходили на ожидание CI-сборок.\n- **PowerBI**: инженеры назвали TypeScript 7 в редакторе «жизнеспасающим» для работы с их кодовой базой и приняли этот опыт как стандарт ещё до того, как TypeScript 7 поддержал переименование в VS Code.\n- **Loop**: предыдущий опыт в редакторе описывался как «непригодный для использования» в их масштабе, тогда как TypeScript 7 оказался «потрясающим».\n- **Canva**: языковой сервер TypeScript 7 показал разительное ускорение — время до появления первой ошибки в редакторе сократилось примерно с 58 секунд до 4,8 секунды.\n\n\u003Ch3 id=\"parallelnaya-rabota-s-typescript-6-0\">Параллельная работа с TypeScript 6.0\u003C\u002Fh3>\n\nTypeScript 7.0 не поставляется с API. Мы ожидаем, что TypeScript 7.1 выйдет с новым (и другим) API, но пока что приоритетом для нас стало обеспечение параллельной работы TypeScript с TypeScript 6.0 для инструментов, которым по-прежнему нужен программный доступ к компилятору (например, typescript-eslint).\n\nВ рамках процесса перехода с 6.0 на 7.0 мы опубликовали новый пакет совместимости — `@typescript\u002Ftypescript6`. Он предоставляет исполняемый файл с именем `tsc6`, так что при необходимости можно установить TypeScript 7.0 (со своим бинарником `tsc`) рядом без конфликтов имён. Новый пакет также реэкспортирует API TypeScript 6.0.\n\nПоскольку некоторые инструменты вроде typescript-eslint ожидают импорт непосредственно из `typescript` через peer-зависимости, рекомендуем использовать npm-псевдонимы:\n\n```bash\nnpm install -D typescript@npm:@typescript\u002Ftypescript6\n```\n\nили изменить `package.json`:\n\n```json\n{\n  \"devDependencies\": {\n    \"typescript\": \"npm:@typescript\u002Ftypescript6@^6.0.2\"\n  }\n}\n```\n\nЭто оставит вам только исполняемый файл `tsc6`. Чтобы добавить `tsc` от TypeScript 7.0, добавьте ещё один псевдоним:\n\n```json\n{\n  \"devDependencies\": {\n    \"@typescript\u002Fnative\": \"npm:typescript@^7.0.2\",\n    \"typescript\": \"npm:@typescript\u002Ftypescript6@^6.0.2\"\n  }\n}\n```\n\n#### Ночные сборки и @typescript\u002Fnative-preview\n\nДо этого момента большинство разработчиков устанавливали TypeScript 7 через пакет `@typescript\u002Fnative-preview`. Этот пакет выпускал ночные сборки новой кодовой базы — он хорошо служил сообществу с более чем 8,5 миллиона скачиваний в неделю!\n\nОднако в дальнейшем ночные сборки возобновятся под стандартным пакетом `typescript` с тегом `next`:\n\n```bash\nnpm install -D typescript@next\n```\n\n\u003Ch3 id=\"upravlenie-masshtabirovaniem-parallelizacziya-i-flagi\">Управление масштабированием: параллелизация и флаги\u003C\u002Fh3>\n\nTypeScript 7.0 теперь выполняет многие шаги параллельно: разбор (парсинг), проверку типов и генерацию кода. Некоторые из них, например парсинг и генерация, выполняются практически независимо для каждого файла — параллелизация автоматически хорошо масштабируется на больших кодовых базах с минимальными накладными расходами. Но не каждый шаг в сборке TypeScript легко распараллелить.\n\nTypeScript 7 вводит экспериментальные флаги `--checkers` и `--builders` для тонкой настройки параллелизации таких шагов, как проверка типов и сборка ссылок на проекты. Также добавлен флаг `--singleThreaded` для полного отключения параллелизации — полезен при отладке или в средах с ограниченными ресурсами.\n\n#### Параллелизация проверки типов\n\nПроверка типов сложнее из-за зависимостей между файлами. Большинство файлов зависят от одних и тех же типов из зависимостей и глобальной области видимости, поэтому запускать независимые проверщики типов было бы расточительно — и по вычислениям, и по памяти. С другой стороны, порядок файлов иногда важен, поэтому проверка с нуля должна обходить их в одном и том же порядке для одинаковых результатов.\n\nTypeScript 7.0 создаёт фиксированное число воркеров-проверщиков типов со своим видением мира. Они могут дублировать часть общей работы, но при одинаковых входных файлах всегда разделят их идентично и дадут те же результаты.\n\nПо умолчанию используется 4 воркера проверки типов, но это настраивается флагом `--checkers`. Увеличение числа на крупных кодовых базах с большим числом CPU-ядер может дополнительно ускорить сборку, но обычно ценой роста памяти.\n\nДля сравнения: вот результаты с `--checkers 8` на том же оборудовании (в таблице выше — `--checkers 4` по умолчанию):\n\n| Проект | TypeScript 6 | TypeScript 7 (`--checkers 8`) | Ускорение |\n|---|---|---|---|\n| vscode | 125,7 с | 7,51 с | 16,7× |\n| sentry | 139,8 с | 12,08 с | 11,6× |\n| bluesky | 24,3 с | 2,01 с | 12,1× |\n| playwright | 12,8 с | 1,16 с | 11× |\n| tldraw | 11,2 с | 1,06 с | 10,6× |\n\nНа машинах с меньшим числом ядер и памяти (например, в CI) имеет смысл уменьшить это значение. Можно указать `--checkers 1`, фактически переведя проверку типов в однопоточный режим и устранив дублирование работы.\n\nВ редких случаях разное число `--checkers` может давать разные результаты из-за зависимостей от порядка. Фиксирование числа чекеров во всех сборочных окружениях помогает гарантировать одинаковые результаты.\n\n#### Параллелизация сборки ссылок на проекты\n\nTypeScript 7.0 умеет параллелизировать сборку не только внутри одного проекта, но и сразу несколько проектов. Это настраивается флагом `--builders`, который управляет числом параллельных строителей ссылок на проекты при запуске с `--build`. Особенно полезно для монорепозиториев со множеством проектов.\n\nКак и `--checkers`, увеличение числа строителей может ускорить сборку, но потребует больше памяти. Эффекты умножаются, поэтому важно найти баланс: например, `--checkers 4 --builders 4` допускает до 16 одновременных проверщиков типов — это может быть избыточным.\n\nВ отличие от `--checkers`, разное число строителей не должно давать разные результаты; однако сборка ссылок на проекты принципиально ограничена графом зависимостей проектов (за исключением случаев использования `--isolatedDeclarations`).\n\n#### Однопоточный режим\n\nИногда полезно принудительно ограничить компилятор одним потоком — для отладки, сравнения производительности TypeScript 6 и 7, оркестрации параллельных сборок извне или работы в средах с очень ограниченными ресурсами. Флаг `--singleThreaded` ограничивает не только число воркеров проверки типов до 1, но и гарантирует, что парсинг и генерация кода выполняются в одном потоке.\n\n\u003Ch3 id=\"uluchshennyj-rezhim-watch\">Улучшенный режим --watch\u003C\u002Fh3>\n\nTypeScript 7 поставляется с полностью переработанным режимом `--watch`, основанным на [Parcel-вотчере](https:\u002F\u002Fgithub.com\u002Fparcel-bundler\u002Fwatcher) — файловом наблюдателе Parcel Bundler, который обеспечивает эффективное и стабильное кроссплатформенное отслеживание изменений файлов.\n\nПри портировании логики файлового наблюдения мы столкнулись с несколькими проблемами кроссплатформенного file watching в Go: стандартная библиотека не предоставляет встроенного API, а сторонние библиотеки имели проблемы со стабильностью, производительностью или интеграцией с инструментами сборки. Решения на основе периодического опроса работали везде, но были вычислительно дорогими — особенно на больших проектах с множеством зависимостей в `node_modules`.\n\nVisual Studio Code многие годы полагается на [`@parcel\u002Fwatcher`](https:\u002F\u002Fwww.npmjs.com\u002Fpackage\u002F@parcel\u002Fwatcher). Мы портировали его на Go с минимальными ассемблерными вставками, чтобы не добавлять зависимость от тулчейна C++.\n\nРезультат превзошёл ожидания: что начиналось как прямой перевод с C++ на Go, превратилось в идиоматичный Go-код, который по-прежнему проходит портированный тестовый набор. Мы видим значительное улучшение ресурсопотребления в режиме `--watch` на всех платформах.\n\nОтдельная благодарность Devon Govett, чья работа над Parcel принесла огромную пользу и VS Code, и TypeScript.\n\n\u003Ch3 id=\"obnovleniya-s-versii-5-x-i-novye-povedeniya-iz-6-0\">Обновления с версии 5.x и новые поведения из 6.0\u003C\u002Fh3>\n\nTypeScript 7.0 совместим с TypeScript 6.0 по проверке типов и поведению командной строки. Практически любой TypeScript-код, который чисто компилируется в TypeScript 6.0 (с флагом `stableTypeOrdering` и без `ignoreDeprecations`), должен компилироваться идентично в TypeScript 7.0.\n\nTypeScript 7.0 принимает новые умолчания 6.0 и генерирует жёсткие ошибки при использовании флагов и конструкций, помеченных как устаревшие в TypeScript 6.0. Мы рекомендуем сначала перейти на TypeScript 6.0, чтобы облегчить переход на 7.0. Подробнее об устаревших возможностях — в [блог-посте о выходе TypeScript 6.0](https:\u002F\u002Fdevblogs.microsoft.com\u002Ftypescript\u002Fannouncing-typescript-6-0\u002F).\n\n#### Изменения умолчаний конфигурации\n\n- `strict` по умолчанию `true`.\n- `module` по умолчанию `esnext`.\n- `target` по умолчанию — текущая стабильная версия ECMAScript, предшествующая `esnext`.\n- `noUncheckedSideEffectImports` по умолчанию `true`.\n- `libReplacement` по умолчанию `false`.\n- `stableTypeOrdering` по умолчанию `true` и не может быть отключён.\n- `rootDir` теперь по умолчанию `.\u002F`, внутренние исходные директории нужно указывать явно.\n- `types` теперь по умолчанию `[]`; старое поведение возвращается через `[\"*\"]`.\n\nИзменения `rootDir` и `types` могут быть самыми «неожиданными», но легко устраняются.\n\nДля `rootDir` (если `tsconfig.json` лежит вне директории вроде `src`):\n\n```json\n{\n  \"compilerOptions\": {\n    \"rootDir\": \".\u002Fsrc\"\n  },\n  \"include\": [\".\u002Fsrc\"]\n}\n```\n\nДля `types` (нужно явно перечислить используемые `@types`-пакеты):\n\n```json\n{\n  \"compilerOptions\": {\n    \"types\": [\"node\", \"jest\"]\n  }\n}\n```\n\n#### Устаревшие возможности, превратившиеся в жёсткие ошибки\n\n- `target: es5` — больше не поддерживается.\n- `downlevelIteration` — больше не поддерживается.\n- `moduleResolution: node\u002Fnode10` — не поддерживается; рекомендуется `nodenext` или `bundler`.\n- `module: amd, umd, systemjs, none` — не поддерживаются; рекомендуется `esnext` или `preserve` совместно с бандлерами.\n- `baseUrl` — не поддерживается; обновите `paths` на пути относительно корня проекта.\n- `moduleResolution: classic` — не поддерживается; рекомендуется `bundler` или `nodenext`.\n- `esModuleInterop` и `allowSyntheticDefaultImports` нельзя установить в `false`.\n- `alwaysStrict` считается `true` и не может быть выключен.\n- Ключевое слово `module` нельзя использовать в объявлениях пространств имён.\n- `asserts` в импортах заменён на `with` (в соответствии с синтаксисом атрибутов импорта ECMAScript).\n- Директивы `\u002F\u002F\u002F \u003Creference no-default-lib \u002F>` больше не учитываются при `skipDefaultLibCheck`.\n- CLI-сборки не могут принимать пути к файлам, если в текущей директории есть `tsconfig.json`, без явного флага `--ignoreConfig`.\n\n#### Типы шаблонных литералов теперь сохраняют кодовые точки Unicode\n\nTypeScript 7.0 теперь обрабатывает кодовые точки Unicode более естественно при выводе типов из шаблонных литералов:\n\n```typescript\ntype HeadTail\u003CS> = S extends `${infer Head}${infer Tail}` ? [Head, Tail] : never;\n\ntype Result = HeadTail\u003C\"😀abc\">;\n\u002F\u002F   ^\n\u002F\u002F В 7.0: [\"😀\", \"abc\"]\n\u002F\u002F Раньше: [\"\\ud83d\", \"\\ude00abc\"]\n```\n\nРаньше TypeScript следовал индексации UTF-16 в JavaScript и разбивал `\"😀\"` на две половины суррогатной пары. Это было технически согласованно с индексацией в JS, но обычно не то, что имелось в виду, — и могло создавать строковые литеральные типы с непарными суррогатами.\n\nЭто ломающее изменение для манипуляций со строками на уровне типов, намеренно моделирующих кодовые единицы UTF-16. На практике новое поведение более интуитивно: вывод типов из шаблонных литералов теперь следует той же логике, что итерация строки через `for...of` или spread `[...str]`, где `\"😀\"` считается одной единицей.\n\n#### Изменения в поддержке JavaScript\n\nПри портировании кодовой базы мы также пересмотрели поддержку JavaScript.\n\nTypeScript 7.0 переработал поддержку JS, сделав её более согласованной с анализом TypeScript-файлов. Основные изменения:\n\n- Значения нельзя использовать там, где ожидаются типы — вместо этого пишите `typeof someValue`.\n- `@enum` больше не распознаётся специально — используйте `@typedef` на `(typeof YourEnumDeclaration)[keyof typeof YourEnumDeclaration]`.\n- Одиночный `?` больше нельзя использовать как тип — используйте `any`.\n- `@class` не превращает функцию в конструктор — используйте объявление `class`.\n- Постфикс `!` не поддерживается — просто используйте `T`.\n- Имена типов должны быть определены внутри тега `@typedef` (`\u002F** @typedef {T} TypeAliasName \u002F`_), а не рядом с идентификатором (_`\u002F* @typedef {T} *\u002F TypeAliasName;`).\n- Синтаксис функций в стиле Closure (например, `function(string): void`) больше не поддерживается — используйте сокращения TypeScript (`(s: string) => void`).\n\nТакже некоторые паттерны JavaScript, вроде псевдонимов `this` и переназначения всего `prototype` функции, больше не обрабатываются специально.\n\nДетальные различия между TypeScript 6.0 и 7.0 фиксируются в файле [`CHANGES.md`](http:\u002F\u002FCHANGES.md).\n\n\u003Ch3 id=\"opyt-raboty-v-ide\">Опыт работы в IDE\u003C\u002Fh3>\n\nКак упоминалось выше, улучшения производительности TypeScript 7.0 касаются не только командной строки, но и IDE.\n\nДля пользователей VS Code есть [специальное расширение](https:\u002F\u002Fmarketplace.visualstudio.com\u002Fitems?itemName=TypeScriptTeam.native-preview) — после установки оно автоматически становится основным. Отключить и включить его можно в любой момент через команды «Disable TypeScript 7 Language Server» и «Enable TypeScript 7 Language Server» в командной палитре. В ближайшие недели поддержка TypeScript 7 войдёт в сам VS Code.\n\nДля пользователей Visual Studio последняя версия IDE включает TypeScript 7 автоматически на основе рабочего пространства — ничего дополнительно делать не нужно.\n\nTypeScript 7 отлично работает в любом редакторе. Новая основа построена на LSP и может использовать несколько потоков для обслуживания одновременных запросов максимально быстро.\n\n> TypeScript и JavaScript в [OpenIDE](https:\u002F\u002Fopenide.ru\u002F) предоставляют полноценную поддержку: подсветка, автодополнение, навигация по коду, рефакторинги, диагностика типов через language service из коробки.\n>\n> Из фреймворков на старте React, Angular и Vue. Для каждого фреймворка есть визард создания проекта, отдельно для Vite и Next.\n>\n> Из инструментов качества кода ESLint и Stylelint с диагностикой и быстрыми фиксами, которые корректно работают в подмодулях монорепы, и Prettier, читающий конфиг проекта и работающий в связке с ESLint.\n>\n> Любимый всеми Git-клиент тоже входит в состав OpenIDE.\n\n![]({{strapiUrl}}\u002Fuploads\u002Fd5fcb09b9c80a3a12f1d801fff5ba03c_00ff124bdc.webp)\n\nС момента первого запуска добавлены: автоимпорты, расширяемые подсказки при наведении, подсказки встроенного типа (inlay hints), линзы кода, переход к исходному определению, связанное редактирование и автодополнение тегов JSX и многое другое. Возможности, отсутствовавшие в бета-версии TypeScript 7.0 — семантическая подсветка, «сортировка импортов», «удаление неиспользуемых импортов» — теперь также добавлены.\n\n#### TypeScript и встроенные языки\n\nРабочие процессы, использующие Vue, MDX, Astro, Svelte и другие, пока не смогут использовать TypeScript 7. Аналогично, специализированная проверка типов в шаблонах Angular тоже пока не работает с TypeScript 7. Главная причина — TypeScript 7 ещё не предоставляет стабильного программного API, и инструменты вроде Volar, встраивающие TypeScript в свои компиляторы, могут пока полагаться только на TypeScript 6.0.\n\nМы ожидаем, что это временная ситуация, и активно работаем с мейнтейнерами этих проектов над её решением.\n\nДо тех пор рекомендуем командам использовать TypeScript 7 в сценариях, где не требуются плагины языкового сервера. Проекты на Angular могут комбинировать TypeScript 7 (быстрое обнаружение ошибок через `tsc`) и TypeScript 6.0 (поддержка в редакторе). Проекты на Vue, MDX, Astro, Svelte пока остаются на TypeScript 6.0.\n\n\u003Ch3 id=\"doroga-vperyod\">Дорога вперёд\u003C\u002Fh3>\n\nTypeScript 7.0 — важный этап в истории проекта. Этот порт был главным фокусом нашей команды более года. С выходом 7.0 мы возвращаемся к работе над новыми возможностями языка, эргономическими улучшениями, дальнейшим ускорением и реализацией нового API для экосистемы. Ожидаем примерно такой же цикл релизов, как до TypeScript 7.0: новые версии с возможностями каждые 3–4 месяца. TypeScript 7.1 уже на горизонте.\n\n![]({{strapiUrl}}\u002Fuploads\u002Fc56b26087a188121b23a62999c07d439_b386c8935c.webp)\n\nУже сейчас [OpenIDE](https:\u002F\u002Fopenide.ru\u002F) позволяет разрабатывать проекты на Java, Spring, Python, Go, PHP, JavaScript и TypeScript! А полноценный DB-клиент, поддержка Docker и 300+ плагинов доступны абсолютно бесплатно в [маркетплейсе](https:\u002F\u002Fmarketplace.openide.ru\u002F). Пробуйте российскую IDE в деле и подписывайтесь на нас в [Telegram](https:\u002F\u002Ft.me\u002Fopenide_official) или [Max](https:\u002F\u002Fmax.ru\u002Fopenide), чтобы не пропустить свежие обновления и полезные материалы.\n\n---\n\n_Впервые опубликовано на [Хабре](https:\u002F\u002Fhabr.com\u002Fru\u002Fcompanies\u002Fhaulmont\u002Farticles\u002F1057526\u002F)._\n",[20],{"title":21,"links":22},"Содержание",[23,26,29,32,35,38,41,44,47],{"label":24,"href":25},"Установка","#ustanovka",{"label":27,"href":28},"Что даёт ускоренный TypeScript?","#chto-dayot-uskorennyj-typescript",{"label":30,"href":31},"Проверен в бою и готов к продакшену","#proveren-v-boyu-i-gotov-k-prodakshenu",{"label":33,"href":34},"Параллельная работа с TypeScript 6.0","#parallelnaya-rabota-s-typescript-6-0",{"label":36,"href":37},"Управление масштабированием: параллелизация и флаги","#upravlenie-masshtabirovaniem-parallelizacziya-i-flagi",{"label":39,"href":40},"Улучшенный режим --watch","#uluchshennyj-rezhim-watch",{"label":42,"href":43},"Обновления с версии 5.x и новые поведения из 6.0","#obnovleniya-s-versii-5-x-i-novye-povedeniya-iz-6-0",{"label":45,"href":46},"Опыт работы в IDE","#opyt-raboty-v-ide",{"label":48,"href":49},"Дорога вперёд","#doroga-vperyod","2026-11-12T11:25:25.546Z","2026-11-13T11:49:18.798Z","2026-11-13T11:49:18.869Z",{"id":54,"documentId":55,"firstname":56,"lastname":57,"createdAt":58,"updatedAt":59,"publishedAt":60,"slug":61,"photo":62},40,"yuewij1jc3qoxmkvsh2mpeny","Георгий","Власов","2026-02-17T11:40:25.168Z","2026-11-13T11:49:25.324Z","2026-11-13T11:49:25.371Z","georgij-vlasov",{"id":63,"documentId":64,"name":65,"alternativeText":66,"caption":66,"width":67,"height":67,"formats":66,"hash":68,"ext":69,"mime":70,"size":71,"url":72,"previewUrl":66,"provider":73,"provider_metadata":66,"createdAt":74,"updatedAt":74,"publishedAt":74,"focalPoint":66},1359,"jt1gpp4kqcyzwuwfhzj1c1vc","Gosha_ab88bd0ec5.webp",null,96,"Gosha_ab88bd0ec5_972867885d",".webp","image\u002Fwebp",2.14,"\u002Fuploads\u002FGosha_ab88bd0ec5_972867885d.webp","local","2026-11-13T11:47:15.450Z",{"id":76,"documentId":77,"name":78,"alternativeText":66,"caption":66,"width":79,"height":80,"formats":81,"hash":114,"ext":69,"mime":70,"size":115,"url":116,"previewUrl":66,"provider":73,"provider_metadata":66,"createdAt":117,"updatedAt":117,"publishedAt":117,"focalPoint":66},1259,"d0ss2rdw5w1z919pdj5mw65q","cover-typescript-7-0-samoe-radikalnoe-obnovlenie-za-10-let.webp",1507,756,{"thumbnail":82,"large":90,"medium":98,"small":106},{"name":83,"hash":84,"ext":69,"mime":70,"path":66,"width":85,"height":86,"size":87,"sizeInBytes":88,"url":89},"thumbnail_cover-typescript-7-0-samoe-radikalnoe-obnovlenie-za-10-let.webp","thumbnail_cover_typescript_7_0_samoe_radikalnoe_obnovlenie_za_10_let_9f6e90e3c0",245,123,3.44,3436,"\u002Fuploads\u002Fthumbnail_cover_typescript_7_0_samoe_radikalnoe_obnovlenie_za_10_let_9f6e90e3c0.webp",{"name":91,"hash":92,"ext":69,"mime":70,"path":66,"width":93,"height":94,"size":95,"sizeInBytes":96,"url":97},"large_cover-typescript-7-0-samoe-radikalnoe-obnovlenie-za-10-let.webp","large_cover_typescript_7_0_samoe_radikalnoe_obnovlenie_za_10_let_9f6e90e3c0",1000,502,19.5,19496,"\u002Fuploads\u002Flarge_cover_typescript_7_0_samoe_radikalnoe_obnovlenie_za_10_let_9f6e90e3c0.webp",{"name":99,"hash":100,"ext":69,"mime":70,"path":66,"width":101,"height":102,"size":103,"sizeInBytes":104,"url":105},"medium_cover-typescript-7-0-samoe-radikalnoe-obnovlenie-za-10-let.webp","medium_cover_typescript_7_0_samoe_radikalnoe_obnovlenie_za_10_let_9f6e90e3c0",750,376,13.95,13950,"\u002Fuploads\u002Fmedium_cover_typescript_7_0_samoe_radikalnoe_obnovlenie_za_10_let_9f6e90e3c0.webp",{"name":107,"hash":108,"ext":69,"mime":70,"path":66,"width":109,"height":110,"size":111,"sizeInBytes":112,"url":113},"small_cover-typescript-7-0-samoe-radikalnoe-obnovlenie-za-10-let.webp","small_cover_typescript_7_0_samoe_radikalnoe_obnovlenie_za_10_let_9f6e90e3c0",500,251,8.73,8730,"\u002Fuploads\u002Fsmall_cover_typescript_7_0_samoe_radikalnoe_obnovlenie_za_10_let_9f6e90e3c0.webp","cover_typescript_7_0_samoe_radikalnoe_obnovlenie_za_10_let_9f6e90e3c0",32.03,"\u002Fuploads\u002Fcover_typescript_7_0_samoe_radikalnoe_obnovlenie_za_10_let_9f6e90e3c0.webp","2026-11-13T11:44:55.240Z",[119],{"id":120,"documentId":121,"title":122,"published":123,"weight":124,"slug":125,"createdAt":126,"updatedAt":127,"publishedAt":128,"color":66},5,"j3ptvz8nc7ijk3w80s01koxc","Обзоры",true,4,"reviews","2026-11-12T11:20:31.440Z","2026-11-12T11:22:44.313Z","2026-11-12T11:22:44.297Z",{"pagination":130},{"page":131,"pageSize":132,"pageCount":131,"total":131},1,25,{"data":134,"meta":153},[135,141,147],{"published_date":136,"id":137,"documentId":138,"title":139,"slug":140},"2026-07-21",359,"hrh0asxfdodwjoioqkqwta73","Заглядывая в будущее: Postgres 19. REPACK, SQL\u002FPGQ и умный autovacuum","zaglyadyvaya-v-budushhee-postgres-19-repack-sql-pgq-i-umnyj-autovacuum",{"published_date":142,"id":143,"documentId":144,"title":145,"slug":146},"2026-07-07",355,"szopwdkqo292rl7vrla29h52","Ленивые импорты в Python 3.15: как PEP 810 ускоряет старт приложений","lenivye-importy-v-python-3-15-kak-pep-810-uskoryaet-start-prilozhenij",{"published_date":148,"id":149,"documentId":150,"title":151,"slug":152},"2026-06-30",346,"lhti4xw476nf25v1qburi3pg","PHP 8.6: дата релиза, предстоящие возможности и статус RFC","php-8-6-data-reliza-predstoyashhie-vozmozhnosti-i-status-rfc",{"pagination":154},{"page":131,"pageSize":155,"pageCount":155,"total":156},3,7,1794584601872]