πŸ’» TypeScript 5.9. Π§Ρ‚ΠΎ стоит Π·Π½Π°Ρ‚ΡŒ

πŸ’» TypeScript 5.9. Π§Ρ‚ΠΎ стоит Π·Π½Π°Ρ‚ΡŒ

TypeScript 5.9 Π²Ρ‹ΡˆΠ΅Π» 1 августа 2025 ΠΈ принСс сразу нСсколько ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠΉ:

1. import defer - ΠΎΡ‚Π»ΠΎΠΆΠ΅Π½Π½Ρ‹ΠΉ ΠΈΠΌΠΏΠΎΡ€Ρ‚ для Π»ΡƒΡ‡ΡˆΠ΅ΠΉ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ

Π’Π΅ΠΏΠ΅Ρ€ΡŒ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ, Π½ΠΎ Π½Π΅ Π·Π°ΠΏΡƒΡΠΊΠ°Ρ‚ΡŒ Π΅Π³ΠΎ ΠΊΠΎΠ΄ сразу - ΠΎΠ½ выполнится Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΏΡ€ΠΈ ΠΏΠ΅Ρ€Π²ΠΎΠΌ ΠΎΠ±Ρ€Π°Ρ‰Π΅Π½ΠΈΠΈ ΠΊ Π΅Π³ΠΎ экспортам. НапримСр:

import defer * as feature from "./heavy-module.js"; // Π΅Ρ‰Ρ‘ Π½ΠΈΡ‡Π΅Π³ΠΎ Π½Π΅ ΠΏΡ€ΠΎΠΈΠ·ΠΎΡˆΠ»ΠΎ console.log(feature.someValue); // Ρ‚ΠΎΠ»ΡŒΠΊΠΎ здСсь выполнится ΠΌΠΎΠ΄ΡƒΠ»ΡŒ

Π­Ρ‚ΠΎ спасСниС для ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΉ с тяТёлой ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠ΅ΠΉ, особСнно ΠΏΡ€ΠΈ стартС прилоТСния

2. Новый --module node20 β€” ΡΡ‚Π°Π±ΠΈΠ»ΡŒΠ½Ρ‹ΠΉ Ρ€Π΅ΠΆΠΈΠΌ для Node.js v20

Если Ρ€Π°Π½ΡŒΡˆΠ΅ ΠΏΡ€ΠΈΡ…ΠΎΠ΄ΠΈΠ»ΠΎΡΡŒ Π²Ρ‹Π±ΠΈΡ€Π°Ρ‚ΡŒ ΠΌΠ΅ΠΆΠ΄Ρƒ nodenext ΠΈ ΡƒΡΡ‚Π°Ρ€Π΅Π²ΡˆΠΈΠΌΠΈ настройками, Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ Π΅ΡΡ‚ΡŒ ΡΡ‚Π°Π±ΠΈΠ»ΡŒΠ½Π°Ρ опция:

{ "compilerOptions": { "module": "node20" } }

Π­Ρ‚ΠΎΡ‚ Ρ€Π΅ΠΆΠΈΠΌ Ρ‚ΠΎΡ‡Π½ΠΎ соотвСтствуСт повСдСнию Node.js 20 ΠΈ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ ставит target: es2023

3. tsc --init Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ ΠΏΡ€ΠΎΡ‰Π΅ ΠΈ понятнСС

По ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ гСнСрируСтся ΠΊΠΎΠΌΠΏΠ°ΠΊΡ‚Π½Ρ‹ΠΉ tsconfig.json с соврСмСнными настройками:

  • "strict": true
  • "jsx": "react-jsx"
  • "isolatedModules": true

… ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠΌΠΈ, Ρ€Π΅ΠΊΠΎΠΌΠ΅Π½Π΄ΠΎΠ²Π°Π½Π½Ρ‹ΠΌΠΈ для соврСмСнных ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠ²

4. Π£Π»ΡƒΡ‡ΡˆΠ΅Π½Π½Ρ‹Π΅ подсказки (hover) Π² VS Code

  • Expandable Hovers (Preview): Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ ΠΌΠΎΠΆΠ½ΠΎ Ρ€Π°Π·Π²ΠΎΡ€Π°Ρ‡ΠΈΠ²Π°Ρ‚ΡŒ/ΡΠ²ΠΎΡ€Π°Ρ‡ΠΈΠ²Π°Ρ‚ΡŒ Ρ‚ΠΈΠΏΡ‹ прямо Π² tooltip с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ + ΠΈ –.
  • Configurable Maximum Hover Length: Π΄Π»ΠΈΠ½Π° подсказки ΡƒΠ²Π΅Π»ΠΈΡ‡Π΅Π½Π°, ΠΈ Π΅Ρ‘ ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ (js/ts.hover.maximumLength), Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π±Ρ‹Π»Π° вся нуТная информация

5. ΠžΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΈ компиляции ΠΈ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ

  • ΠšΡΡˆΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ instantiation Ρ‚ΠΈΠΏΠΎΠ². МСнСС затратная компиляция ΠΏΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ с большими Ρ‚ΠΈΠΏΠ°ΠΌΠΈ (особСнно для Zod, tRPC ΠΈ Ρ‚.ΠΏ.)
  • Π‘ΠΎΠ»Π΅Π΅ быстрыС ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ сущСствования Ρ„Π°ΠΉΠ»ΠΎΠ², Ρ‡Ρ‚ΠΎ ускоряСт ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡ†ΠΈΡŽ Π² Π±ΠΎΠ»ΡŒΡˆΠΈΡ… ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°Ρ…

ΠŸΠΎΠ΄Ρ€ΠΎΠ±Π½Π΅Π΅ ΠΎ Ρ€Π΅Π»ΠΈΠ·Π΅ - https://devblogs.microsoft.com/typescript/announcing-typescript-5-9/

Π—.Π«: Π’ Ρ†Π΅Π»ΠΎΠΌ, Π½ΠΈΡ‡Π΅Π³ΠΎ особСнного ΠΊΡ€ΠΎΠΌΠ΅ Ρ„ΠΈΡ‡ΠΈ с defer. Π“Π»Π°Π²Π½ΠΎΠ΅, Ρ‡Ρ‚ΠΎ Π½Π΅Ρ‚ Π½ΠΈΡ‡Π΅Π³ΠΎ ΠΏΠ»ΠΎΡ…ΠΎΠ³ΠΎ ΠΈ Π½Π° Ρ‚ΠΎΠΌ спасибо

Π― Π²Π΅Π΄Ρƒ мноТСство ΡΠΎΡ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Ρ… сСтСй, Π½ΠΎ Π±ΡƒΠ΄Ρƒ Ρ€Π°Π΄ подписки Π½Π° Ρ‚Π΅Π»Π΅Π³Ρ€Π°ΠΌ ΠΊΠ°Π½Π°Π». Π’Π°ΠΌ я Ρ€Π°ΡΡΠΊΠ°Π·Ρ‹Π²Π°ΡŽ ΠΎΠ± Π°ΠΉΡ‚ΠΈ ΠΈ Ρ„Ρ€ΠΎΠ½Ρ‚Π΅Π½Π΄Π΅ Π² частности, Π° Π² Ρ‡Π°Ρ‚Π΅ обсуТдаСм всС Ρ‡Ρ‚ΠΎ интСрСсно.

ΠΠ°Ρ‡Π°Ρ‚ΡŒ Π΄ΠΈΡΠΊΡƒΡΡΠΈΡŽ