Галоўная / Артыкулы / Усередине перапісву TypeScript 7 на мову Go: прырост швальнасці без змян у кодзе.

Усередине перапісву TypeScript 7 на мову Go: прырост швальнасці без змян у кодзе.

Дазвольце даклэ научыцца, як кампайляр TypeScript 7, створаны на мове Go, даёт у 8-12 разоў быстрэйшы процес складання, чаму така змяна архітектуры ўздоўжвае, і як безпечна апгрэйдаваць існуючыя проекты.

836 слоў

Кампайляр тепер працюе на двыжку, адасвячанам Go; ваш код не патрабуе жадных змян, а часы кампаўління значна зменіліся

Значныя апдэйты інструментаў, якія з’являюцца толькі кожныя калькі гадоў, часта зменяюць вашы ўласны робочы процес, і TypeScript 7 падпалягае на гэты прынцып. Microsoft перабудаваў кампайляр для значна лепшых практычных наследжэнняў — цэлыя процесы кампаўління выконваюцца на 8-12 разоў быстрэй — без неабходнасці вносіць жадныя змяны ў функцыі языка, якія вы вжываеце ўжо зараз.

Што насправды было выдана

TypeScript 7 быў выдан 8 ліпеня 2026 года і заменіў кампайлер, базаваны на JavaScript, на абмовную рэалізацыю на мове Go, створаную ў рамках внутрашняй працы пад назвай Project Corsa. Варта падкрэсліць, што це ўсё ж такі аднаўлены варыянт, а не перадзял: тая ж логіка пераканальвання типаў і семантыка мовы былі перакладзеныя лінія за лініяй, таму вашы файлы з расширэнням .ts будуць працаваць абсолютна так жа, як і раней. Зменіўся толькі базовы двыжок, який выконвае гэтую логіку, а не сама логіка.

За данымі внутрашняях тэстаў Microsoft, адбытых на самай базе коду VS Code, час запуску проекта зменіўся з майже хвілі на адносна дзесяць секундаў. Гэта галоўны рызультат. У практычнай практыцы затрымкі, якія раней былі пад час запуску команды tsc --watch пасля змены веткаў, значна зменшуюцься.

Чаму ён такі быстры

Два архітектурныя змены сталы прычыной большайшага пады швальнасці.

  • Компільваны натыўны код замест адработкі через Node.js і двыжок V8
  • Паралелізм з аднародным памяцю, які дазволяе паралельна адрабатваць паспаковку, перакантрольванне типаў і стварэнне коду на калькі CPU

У гэтым выданні таксама адкрываюцца новыя флагі, --checkers і --builders, якія дазволяюць кантролаваць, сколькі паралельных рабочых нитэў будуць адрабатваць перакантрольванне типаў і стварэнне проектных рэферэнсаў. Режым абзіроўвання таксама быў перераблены: ён тепер выкарыстоўвае прыстрой для абзіроўвання файлаў на базе Go, які спачатку быў разработаны для Parcel, і тепер выконвае інкрементальную перзбудову значна быстрэй у вялікіх монорепозітарыях.

Як насправдзе апградаваць

Інсталляцыя новага кампіляра работае абсолютна так, як і ранейш:

npm install -D typescript
npx tsc --version
# TypeScript 7.0

Няма нічога, што трэба было бы пераносіць з канфігурацыі, няма кодамодаў, якія трэба запускаць, і няма змян сінтаксісу, якія маглі б спанаваць проблемы. Якщо ваша команда ўжо выкарыстоўвала пакет @typescript/native-preview на стадіі кандыдата на выпуск, то гэтая функцыянальнасць — створаная на адной з бінарных дапамог tsgo — была пераканфігуравана ў стандартны пакет typescript, доступны чераз тэг распадзелу next.

Є адзін момент, на якій варта звернуць увагу: API для програмнаўскага кампайляра яшчэ не стала абсалютна стабільным. Якщо ваша практыка складання, настройкі ESLint чы адзінствацкія інструменты выкарыстоўваюць API TypeScript безпосередна, а не проста запускаюць tsc, то нараз часоў застаўцеся ад стварэння новага коду, які выкарыстоўвае інтэрфейсы на кшталт createProgram. Команды, якія знаходзяцца ў такой ситуацыі, должны адкласці цэлы переход да новай версіі пакуль не будзе выпускана версія 7.1, адкуль, як спадзяюцца, будуць усунутыя недагоднасці, якія з’явіліся падчас пераходу ў минулым годзе.

Што гэта значыць для проектаў React і Next.js

Паколькі так многа інструменты для фреймворкаў ствараны на базе кампайляра TypeScript, гэтыя інструменты автаматычна успадковуюць павышэння продуктывасці. Перакантрольваўленне типаў пад час будовы проекту ў Next.js, адказнасць функціі IntelliSense у рэдагувальніку ў большых бібліятеках компонентаў, створаных з Redux або Tailwind, а таксама перакантрольваўленне типаў у проектах монорепо ўсе становяцца шырэй без якіх-леба змян у кодзе з вашай стороны. Для команд, якія адкладалі актывацыю параметра strict: true, таму што перакантрольваўленне типаў усього проекту здавалася занадта медленным, гэты час — практычная нагода пераразважыцца, адколькі вычысловыя затраты на такое рашэнне проста зменшыліся у каскад.

Галоўныя выводы

  • TypeScript 7 перапісвае кампайляр, а не сам язык — ваш код перакантрольваецца такім жа спосабам, толькі на новым двыжку на аснове Go.
  • Полныя версіі запускаюцца на 8–12 разоў быстрэй, а часы завантажэння проекта ў редакторы таксама значна зменшуюцца.
  • Апдэйт выглядае проста – достатньо запустіць npm install, але утримайцеся ад викорыстанняя програмнага API для спецыяльных інструментаў пакуль не выйдзе версія 7.1.
  • Проекты, створаны на базе фрэймворкаў, укладзеных у React і Next.js, автаматычна абягаюцца вышэйшую швальдзівасць без неабяжных змян у налашчэннях.
  • Якщо прычыной вашага утриманняяся ад акываванняя строгай перацэнкі типоў былі часы запуска, гэтыя адказы больш не дапамагаюць. Зінсталюйце новую версію, запустіце вашы існуючыя тэсты, і старайцеся, каб часы вашага CI-пайплайну зменшыліся.

    Супаўзвязаная літэратура

  • Адказанне пра частковай прадзеяве і адночаснай дзеяве — Дазвольце вы дазведацеся, як функцыя частковай прадзеявы у Next.js і функцыя адночаснай дзеявы у React выправляюць проблему медленных прыстроек, дазваляючы фрамворкам планаваць і адправляць задачі замест таго, каб дзеявы былі расследжваны як адна блакучая елемента.
  • Стандарты JavaScript для цэлага стака ў 2026 году: TypeScript, RSC і іншыя — У стацыі адказваецца на пытанне, чаму у 2026 году TypeScript, React Server Components і болей лёгкія падходы да карэнтнага керавання сталі стандартным комплектам для команд, якія работаюць з JavaScript.
  • Навык AGENTS.md адміністрацыі Vercel выучае дапаможных AI-асистэнтов 70 найкращых практыках React — практычны аналіз навыку agent для react-best-practices адміністрацыі Vercel, які паказвае, як ён вбудоввае 70 правіл React, перапрацаваных у рэальных умовах, безпосередна ў код, створаны AI.