TGViewer
Бессонный кодер Бессонный кодер @sleeplesscode · 4.25K subscribers
Post #582 2.55K
Как переписать большой JS-проект на TypeScript и не попасть в дурку?
(никак)
Именно этим вопросом мы задались, когда наконец взялись за задачу, которая висела над нами годами: перенос Имперского Стражника на TypeScript.

Что это нам дало?

🔹 Во-первых — стабильность.
Прощай, магическое “а почему тут строка вместо числа?”, “а почему undefined превратился в пустой массив?”, “а почему всё вообще сломалось?”.
С TypeScript багов после обновлений стало меньше, и появилось то самое чувство уверенности в коде, которого так не хватает в JS.

🔹 Во-вторых — контроль и понимание.
Строгая типизация дала бонусы статического анализа, позволила чётче выстроить архитектуру и выявить уникальные случаи, которые раньше были размазаны по коду.
Мы смогли ввести интерфейсы, сделать код легче и... приятнее.

🔹 В-третьих — головоломки для ума.
В условиях многомодального микросервиса возникали кейсы, в которых даже GPT говорила: "Я не знаю как это сделать"
Но в итоге — всё реализовано. Всего один as unknown каст на весь проект. Почти честно!

🔹 В-четвёртых — побочные апгрейды.
Работа с типами докатилась и до других проектов: появились дженерики в rgcache, улучшены сцены в regraf, типизировано то, на что раньше не хватало мотивации.

📍 Где мы сейчас?
Мы прошли отметку в 50% TypeScript-кода в репозитории.
Пишем утилиты, абстрактные классы, бойлерплейты на все случаи жизни.
Но, пожалуй, главное счастье — утилита для маппинга телеграм-ошибок в enum, которая избавила нас от игры “угадай строку в description” и свела обработку ошибок к одной equals-проверке.

🧩 Что дальше?
Завершить миграцию, привести REST API в порядок (пока там лес, JS и безысходность) и, наконец, поставить в YouTrack статус - готово.

#updates
  • 🔥 17
  • ❤ 4
  • 👨‍💻 1
More from @sleeplesscode
  1. Oct 2, 2026⚡️ JavaScript, архитектура и ИИ: о чем будут говорить на юбилейной HolyJS 2026 Autumn 📆 2…
  2. Oct 1, 2026Post #914
  3. Sep 18, 2026Post #913
  4. Sep 17, 2026Post #912
  5. Sep 15, 2026Post #911
  6. Sep 14, 2026Post #909
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →