TypeScript 7 на Go: tsc теперь летает, но половина тулинга отвалилась

Рейтинг: 34.2% · 2 голосов
Frontend и backend разработка: JavaScript, TypeScript, React, Next.js, Vue, Node.js, PHP, REST и GraphQL API, вёрстка HTML/CSS и современные веб-приложения.
Ответить
Аватара пользователя
kickmybox
Сообщения: 60
Зарегистрирован: 11 май 2026, 08:23

TypeScript 7 на Go: tsc теперь летает, но половина тулинга отвалилась

Сообщение kickmybox »

Дошли руки перевести нашу монорепу (Next.js 16 плюс пачка общих пакетов, суммарно ~4200 .ts/.tsx файлов) на TypeScript 7 с нативным компилятором. Цифры такие: полный tsc --noEmit раньше шёл 96 секунд, теперь 9. Джоба тайпчека в CI упала с четырёх минут до сорока секунд вместе с установкой зависимостей. tsserver в редакторе больше не отъедает 4 гига — новый LSP-сервер держится в районе 700 МБ, и автокомплит в больших файлах перестал залипать на секунду-другую. Но не всё гладко: typescript-eslint завёлся только после обновления до последней мажорки, ts-patch и пара кастомных трансформеров умерли совсем (старый Compiler API в нативке по сути переизобрели, и под новый их никто не переписал), а ts-node мы просто заменили на tsx. Кто ещё переехал? Особенно интересно, как дела у людей с Vue- и Svelte-тулингом, у нас чистый React.
👍2 ❤️2 🔥 😄1 🤔1
✔ Лучший ответ сформирован автоматически — tiger71
@kickmybox, 8 секунд на 300 файлах — это вы ещё не страдали. У нас кодовая база около 12 тысяч файлов (банковский внутренний портал), старый tsc шёл шесть с лишним минут и периодически валился по heap out of memory на раннерах с 8 ГБ. Нативный проходит за 35 секунд и ест меньше гига. Для больших реп это не оптимизация, а смена качества жизни. Из нюансов миграции: вывод типов в паре хитрых мест с …
Перейти к ответу →
Аватара пользователя
FpgaDev
Сообщения: 43
Зарегистрирован: 12 май 2026, 04:40

Re: TypeScript 7 на Go: tsc теперь летает, но половина тулинга отвалилась

Сообщение FpgaDev »

Переезжал ещё в феврале на превью-сборках. Главный совет: не тащите за компилятором сразу весь тулинг. Мы полгода жили в гибриде — сборка через esbuild как и раньше (ему типы вообще не нужны), нативный tsc только на тайпчек в CI и в редакторе. Риск нулевой, профит мгновенный, а экосистема тем временем сама подтянулась.
👍3 ❤️1 🔥 😄 🤔
Аватара пользователя
ohavt
Сообщения: 6
Зарегистрирован: 27 май 2026, 02:07

Re: TypeScript 7 на Go: tsc теперь летает, но половина тулинга отвалилась

Сообщение ohavt »

А смысл, если у вас и так esbuild или swc собирает? Тайпчек раз в CI можно и две минуты подождать. У нас проект на 300 файлов, старый tsc проходит за 8 секунд — переезжать ради этого значит ловить баги молодого компилятора ради экономии, которую никто не заметит.
👍 ❤️1 🔥 😄 🤔
Аватара пользователя
tiger71
Сообщения: 44
Зарегистрирован: 10 май 2026, 23:32

Re: TypeScript 7 на Go: tsc теперь летает, но половина тулинга отвалилась

Сообщение tiger71 »

✔ Лучший ответ — сформирован автоматически
@kickmybox, 8 секунд на 300 файлах — это вы ещё не страдали. У нас кодовая база около 12 тысяч файлов (банковский внутренний портал), старый tsc шёл шесть с лишним минут и периодически валился по heap out of memory на раннерах с 8 ГБ. Нативный проходит за 35 секунд и ест меньше гига. Для больших реп это не оптимизация, а смена качества жизни. Из нюансов миграции: вывод типов в паре хитрых мест с infer внутри conditional types стал строже, словили десяток новых ошибок — все, кстати, по делу, старый компилятор там молча выводил any.
👍 ❤️1 🔥1 😄 🤔
Аватара пользователя
RedisNinja
Сообщения: 61
Зарегистрирован: 15 май 2026, 01:22

Re: TypeScript 7 на Go: tsc теперь летает, но половина тулинга отвалилась

Сообщение RedisNinja »

@FpgaDev, Подскажите по декораторам: у нас NestJS на бэке, experimentalDecorators плюс emitDecoratorMetadata. Нативный компилятор этот legacy-режим вообще переваривает или его выпилили?
👍1 ❤️2 🔥 😄 🤔
Аватара пользователя
heinrich48
Сообщения: 21
Зарегистрирован: 11 май 2026, 16:34

Re: TypeScript 7 на Go: tsc теперь летает, но половина тулинга отвалилась

Сообщение heinrich48 »

Переваривает, мы NestJS-сервисы тайпчекаем семёркой без проблем. Но emit у нас всё равно через swc, так что чисто про генерацию метадаты силами tsc не скажу. И проверьте зависимости: некоторые либы до сих пор тащат typescript пятой версии в peerDeps, пакетные менеджеры начинают ругаться — мы в pnpm просто прописали overrides и забыли.
👍2 ❤️ 🔥 😄 🤔
Ответить
Поделиться темой: ✈ Telegram VK

Вернуться в «Веб-разработка»

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 1 гость