ДоступСн TypeScript 6.0, послСдний выпуск с компилятором Π½Π° JavaScript

Компания Microsoft ΠΎΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Π»Π° Ρ€Π΅Π»ΠΈΠ· TypeScript 6.0, языка для Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ web-ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ, Ρ€Π°ΡΡˆΠΈΡ€ΡΡŽΡ‰Π΅Π³ΠΎ возмоТности JavaScript, ΠΈ связанного с Π½ΠΈΠΌ инструмСнтария. Код компилятора, Ρ‚Ρ€Π°Π½ΡΠ»ΠΈΡ€ΡƒΡŽΡ‰Π΅Π³ΠΎ ΠΊΠΎΠ΄ TypeScript Π² прСдставлСниС JavaScript, распространяСтся ΠΏΠΎΠ΄ Π»ΠΈΡ†Π΅Π½Π·ΠΈΠ΅ΠΉ Apache 2.0, Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° вСдётся Π² ΠΏΡƒΠ±Π»ΠΈΡ‡Π½ΠΎΠΌ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΈ Ρ‡Π΅Ρ€Π΅Π· сСрвис GitHub. Π‘ΠΏΠ΅Ρ†ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ языка ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹ ΠΈ ΠΎΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Π½Ρ‹ Π² Ρ€Π°ΠΌΠΊΠ°Ρ… соглашСния Open Web Foundation Specification Agreement.

Π―Π·Ρ‹ΠΊ TypeScript Ρ€Π°ΡΡˆΠΈΡ€ΡΠ΅Ρ‚ возмоТности JavaScript, ΠΎΡΡ‚Π°Π²Π°ΡΡΡŒ ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎ совмСстимым, Ρ‡Ρ‚ΠΎ ΡƒΠΏΡ€ΠΎΡ‰Π°Π΅Ρ‚ ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΡ… ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Π½Π° TypeScript. Π˜Ρ‚ΠΎΠ³ΠΎΠ²ΠΎΠ΅ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π½Π° TypeScript компилируСтся Π² ΠΎΠ±Ρ‹Ρ‡Π½Ρ‹ΠΉ JavaScript, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΌΠΎΠΆΠ½ΠΎ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ Π² любом соврСмСнном web-Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π΅ ΠΈΠ»ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ c ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ°ΠΌΠΈ Node.js, Bun ΠΈ Deno. Π’ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°Ρ… Π½Π° TypeScript ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠ΅ JavaScript-Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ. ΠžΡ‚ JavaScript язык TypeScript отличаСтся срСдствами для явного опрСдСлСния Ρ‚ΠΈΠΏΠΎΠ², Π° Ρ‚Π°ΠΊΠΆΠ΅ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΎΠΉ использования ΠΏΠΎΠ»Π½ΠΎΡ†Π΅Π½Π½Ρ‹Ρ… классов. БтатичСская типизация позволяСт ΠΈΠ·Π±Π΅ΠΆΠ°Ρ‚ΡŒ ΠΌΠ½ΠΎΠ³ΠΈΡ… ошибок Π² процСссС Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ, Π΄Π°Ρ‘Ρ‚ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Π·Π°Π΄Π΅ΠΉΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ Ρ‚Π΅Ρ…Π½ΠΈΠΊΠΈ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΈ, ΡƒΠΏΡ€ΠΎΡ‰Π°Π΅Ρ‚ ΠΎΡ‚Π»Π°Π΄ΠΊΡƒ, Π΄Π΅Π»Π°Π΅Ρ‚ ΠΊΠΎΠ΄ Π±ΠΎΠ»Π΅Π΅ Ρ‡ΠΈΡ‚Π°Π΅ΠΌΡ‹ΠΌ ΠΈ простым для Π΄ΠΎΡ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΈ сопровоТдСния.

Π’Π΅Ρ‚ΠΊΠ° TypeScript 6.0 ΠΎΡ‚ΠΌΠ΅Ρ‡Π΅Π½Π° ΠΊΠ°ΠΊ послСдняя, поставляСмая с компилятором Π½Π° языкС TypeScript, транслируСмом Π² JavaScript. Π’ Π²Π΅Ρ‚ΠΊΠ΅ TypeScript 7.0 ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ ΠΏΠ΅Ρ€Π΅ΠΉΠ΄Ρ‘Ρ‚ Π½Π° Π½ΠΎΠ²Ρ‹ΠΉ компилятор typescript-go (tsgo), Ρ€Π°Π·Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π΅ΠΌΡ‹ΠΉ с 2024 Π³ΠΎΠ΄Π° Π½Π° языкС Go. Новый компилятор сущСствСнно ΡƒΠ²Π΅Π»ΠΈΡ‡ΠΈΡ‚ ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ сборки, ΡƒΠΌΠ΅Π½ΡŒΡˆΠΈΡ‚ ΠΏΠΎΡ‚Ρ€Π΅Π±Π»Π΅Π½ΠΈΠ΅ памяти ΠΈ сократит врСмя запуска Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€ΠΎΠ² ΠΊΠΎΠ΄Π°, Ρ‡Ρ‚ΠΎ Ρ€Π΅ΡˆΠΈΡ‚ Π½Π°Π±Π»ΡŽΠ΄Π°Π΅ΠΌΡ‹Π΅ Π½Ρ‹Π½Π΅ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ с ΠΌΠ°ΡΡˆΡ‚Π°Π±ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΠΏΡ€ΠΈ использовании Π² ΠΎΡ‡Π΅Π½ΡŒ Π±ΠΎΠ»ΡŒΡˆΠΈΡ… ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°Ρ…. Π’Π°ΠΊΠΆΠ΅ Π±ΡƒΠ΄Π΅Ρ‚ прСдоставлСн ΠΊΠΎΠΌΠΏΠ°ΠΊΡ‚Π½Ρ‹ΠΉ инструмСнтарии ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строки, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰ΠΈΠΉ быстро ΡΠΎΠ±ΠΈΡ€Π°Ρ‚ΡŒ ΠΊΠΎΠ΄ для ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ Π΅Π³ΠΎ работоспособности.

Π’Π΅Ρ‚ΠΊΠ° TypeScript 6.x ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠ°Π΅Ρ‚ ΠΏΠΎΡΡ‚Π°Π²Π»ΡΡ‚ΡŒΡΡ со старым компилятором, Π½ΠΎ Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Π΅ измСнСния для ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²ΠΊΠΈ ΠΊ ΠΌΠΈΠ³Ρ€Π°Ρ†ΠΈΠΈ Π½Π° Π½ΠΎΠ²ΡƒΡŽ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΡŽ. Впуск TypeScript 6.0 позиционируСтся ΠΊΠ°ΠΊ ΡΠ²ΡΠ·ΡƒΡŽΡ‰Π΅Π΅ Π·Π²Π΅Π½ΠΎ ΠΌΠ΅ΠΆΠ΄Ρƒ Π²Π΅Ρ‚ΠΊΠ°ΠΌΠΈ TypeScript 5.9 ΠΈ 7.0, ΠΈ содСрТит измСнСния, Π³Π»Π°Π²Π½Ρ‹ΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ Π½Π°Ρ†Π΅Π»Π΅Π½Π½Ρ‹Π΅ Π½Π° ΡƒΠΏΡ€ΠΎΡ‰Π΅Π½ΠΈΠ΅ Π±ΡƒΠ΄ΡƒΡ‰Π΅Π³ΠΎ ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄Π° Π½Π° Π²Π΅Ρ‚ΠΊΡƒ TypeScript 7.0. Для тСстирования доступСн ΠΏΡ€Π΅Π΄Π²Π°Ρ€ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ выпуск TypeScript 7.0, ΠΎΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Π½Π½Ρ‹ΠΉ Π² Ρ„ΠΎΡ€ΠΌΠ΅ дополнСния ΠΊ VSCode ΠΈ NPM-ΠΏΠ°ΠΊΠ΅Ρ‚Π°. ПослС Ρ€Π΅Π»ΠΈΠ·Π° TypeScript 7.0 Π²Π΅Ρ‚ΠΊΠΈ 6.x ΠΈ 7.x Π±ΡƒΠ΄ΡƒΡ‚ ΡΠΎΡΡƒΡ‰Π΅ΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ ΠΈ ΡΠΎΠΏΡ€ΠΎΠ²ΠΎΠΆΠ΄Π°Ρ‚ΡŒΡΡ ΠΏΠ°Ρ€Π°Π»Π»Π΅Π»ΡŒΠ½ΠΎ Π΄ΠΎ Ρ‚Π΅Ρ… ΠΏΠΎΡ€, ΠΏΠΎΠΊΠ° Π²Π΅Ρ‚ΠΊΠ° TypeScript 7.x Π½Π΅ достигнСт Π·Ρ€Π΅Π»ΠΎΠ³ΠΎ состояния, Π³ΠΎΡ‚ΠΎΠ²ΠΎΠ³ΠΎ ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ Π·Π°ΠΌΠ΅Π½ΠΈΡ‚ΡŒ старый инструмСнтарий.

Π‘Ρ€Π΅Π΄ΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Π² TypeScript 6.0:

  • Π Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ использования прСфиксов Β«#/Β» Π² стилС Node.js для ΠΈΠΌΠΏΠΎΡ€Ρ‚Π° псСвдонимов ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΉ, ΠΎΠΏΡ€Π΅Π΄Π΅Π»Ρ‘Π½Π½Ρ‹Ρ… Π²Π½ΡƒΡ‚Ρ€ΠΈ ΠΏΠ°ΠΊΠ΅Ρ‚Π°, вмСсто указания ΠΎΡ‚Π½ΠΎΡΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… ΠΏΡƒΡ‚Π΅ΠΉ. НапримСр, β€˜import * as utils from Β«#root/utils.jsΒ»β€˜ вмСсто β€˜import * as utils from Β«../../utils.js’.
  • Π”ΠΎΠ±Π°Π²Π»Π΅Π½ Ρ„Π»Π°Π³ Β«β€”stableTypeOrderingΒ» для Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ примСняСмого Π² Π²Π΅Ρ‚ΠΊΠ΅ TypeScript 7 Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ° Π΄Π΅Ρ‚Π΅Ρ€ΠΌΠΈΠ½ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠΉ сортировки Ρ‚ΠΈΠΏΠΎΠ² Π²Π½ΡƒΡ‚Ρ€ΠΈ компилятора, Π³Π°Ρ€Π°Π½Ρ‚ΠΈΡ€ΡƒΡŽΡ‰Π΅Π³ΠΎ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²Ρ‹ΠΉ порядок опрСдСлСния Ρ‚ΠΈΠΏΠΎΠ² Π² Π»ΡŽΠ±Ρ‹Ρ… окруТСниях. Π Π΅ΠΆΠΈΠΌ рСкомСндуСтся ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ для диагностики Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹Ρ… ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ ΠΏΠ΅Ρ€Π΅Π΄ ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ΠΎΠΌ Π½Π° Π²Π΅Ρ‚ΠΊΡƒ TypeScript 7, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ Π΅Π³ΠΎ Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ Π² TypeScript 6.0 ΠΌΠΎΠΆΠ΅Ρ‚ Π·Π°ΠΌΠ΅Π΄Π»ΠΈΡ‚ΡŒ компилятор Π½Π° 25%.
  • Π Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Ρ‹ встроСнныС Ρ‚ΠΈΠΏΡ‹ для API Temporal, ΠΏΡ€Π΅Π΄Π»Π°Π³Π°ΡŽΡ‰Π΅Π³ΠΎ Π°Π»ΡŒΡ‚Π΅Ρ€Π½Π°Ρ‚ΠΈΠ²Π½Ρ‹Π΅ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Π΄Π°Ρ‚Π°ΠΌΠΈ ΠΈ Π²Ρ€Π΅ΠΌΠ΅Π½Π΅ΠΌ, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰ΠΈΠ΅ ΠΌΠ°Π½ΠΈΠΏΡƒΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π΄Π°Ρ‚Π°ΠΌΠΈ с ΡƒΡ‡Ρ‘Ρ‚ΠΎΠΌ ΠΈ Π±Π΅Π· ΡƒΡ‡Ρ‘Ρ‚Π° часовых поясов, ΠΊΠΎΠ½Π²Π΅Ρ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ врСмя, Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π²Ρ‹Π²ΠΎΠ΄ ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ арифмСтичСскиС ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ со Π²Ρ€Π΅ΠΌΠ΅Π½Π΅ΠΌ.
  • Π”ΠΎΠ±Π°Π²Π»Π΅Π½Ρ‹ Ρ‚ΠΈΠΏΡ‹ для upsert-ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ² getOrInsert ΠΈ getOrInsertComputed Π² ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°Ρ… Map ΠΈ WeakMap, Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°ΡŽΡ‰ΠΈΡ… ΡƒΠΆΠ΅ ΠΈΠΌΠ΅ΡŽΡ‰Π΅Π΅ΡΡ Π² ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΠΈ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅, ассоциированноС с ΡƒΠΊΠ°Π·Π°Π½Π½Ρ‹ΠΌΠΈ ΠΊΠ»ΡŽΡ‡ΠΎΠΌ, ΠΈΠ»ΠΈ ΡΠΎΠ·Π΄Π°ΡŽΡ‰ΠΈΡ… Π½ΠΎΠ²ΡƒΡŽ запись, Ссли ΠΊΠ»ΡŽΡ‡Π° Π½Π΅ нашлось.
  • Π”ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ RegExp.escape, ΡΠΊΡ€Π°Π½ΠΈΡ€ΡƒΡŽΡ‰Π΅ΠΉ спСцсимволы Π² строках для ΠΈΠ· бСзопасного использования Π² качСствС шаблона Π²Π½ΡƒΡ‚Ρ€ΠΈ рСгулярных Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ, Π·Π°Π΄Π°Π²Π°Π΅ΠΌΡ‹Ρ… Ρ‡Π΅Ρ€Π΅Π· конструктор RegExp().
  • Π˜Π·ΠΌΠ΅Π½Π΅Π½Ρ‹ настройки ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ:
    • ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ rootDir Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ Π½Π° Ρ‚Π΅ΠΊΡƒΡ‰ΠΈΠΉ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ Β«.Β», Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ Ρ€Π°Π·ΠΌΠ΅Ρ‰Ρ‘Π½ Ρ„Π°ΠΉΠ» ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ tsconfig.json, Π² Π½Π΅ Π½Π° Ρ‚ΠΈΠΏΠΎΠ²ΠΎΠΉ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ с исходным ΠΊΠΎΠ΄ΠΎΠΌ.
    • ПолС Β«typesΒ» Π² tsconfig.json Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ опрСдСляСтся ΠΊΠ°ΠΊ Β«[]Β» вмСсто Β«[Β«*Β»]Β», Ρ‚.Π΅. TypeScript Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ Π½Π΅ Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ всС ΠΏΠ°ΠΊΠ΅Ρ‚Ρ‹ ΠΈΠ· Β«node_modules/@typesΒ» ΠΈ Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ явного указания Π³Π»ΠΎΠ±Π°Π»ΡŒΠ½Ρ‹Ρ… ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ² (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, [Β«nodeΒ», Β«jestΒ»])). ИзмСнСниС ΠΏΡ€ΠΈΠ²ΠΎΠ΄ΠΈΡ‚ ΠΊ ΡΠΎΠΊΡ€Π°Ρ‰Π΅Π½ΠΈΡŽ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ компиляции Π½Π° 20-50%.
    • Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ target Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ Π°ΠΊΡ‚ΡƒΠ°Π»ΡŒΠ½ΡƒΡŽ Π²Π΅Ρ€ΡΠΈΡŽ ECMAScript (es2025). Π’ ΠΏΠΎΠ»Π΅ tagret объявлСна ΡƒΡΡ‚Π°Ρ€Π΅Π²ΡˆΠ΅ΠΉ вСрсия es5 (ECMAScript 5), Π² качСствС минимальной заявлСна вСрсия es6 (ECMAScript 2015).
    • По ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ Π°ΠΊΡ‚ΠΈΠ²ΠΈΡ€ΠΎΠ²Π°Π½ Ρ€Π΅ΠΆΠΈΠΌ strict для строгой ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ Ρ‚ΠΈΠΏΠΎΠ².
    • ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ module ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ выставлСн Π² Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Β«esnextΒ», Π²ΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‰Π΅ΠΌ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΡƒ JavaScript-ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΉ (ESM) с Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΈΠ²Π°ΠΌΠΈ import ΠΈ export, вмСсто ΡƒΡΡ‚Π°Ρ€Π΅Π²ΡˆΠ΅Π³ΠΎ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π° CommonJS.
  • Для ΠΏΠΎΠ²Ρ‹ΡˆΠ΅Π½ΠΈΡ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ компилятора ΠΎΠ±ΡŠΡΠ²Π»Π΅Π½Ρ‹ ΡƒΡΡ‚Π°Ρ€Π΅Π²ΡˆΠΈΠΌΠΈ:
    • ΠžΠΏΡ†ΠΈΡ Β«β€”baseUrlΒ».
    • ИспользованиС ΠΊΠ»ΡŽΡ‡Π΅Π²ΠΎΠ³ΠΎ слова module для опрСдСлСния пространств ΠΈΠΌΡ‘Π½ ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΉ (Β«module Foo { … }Β» вмСсто Β«namespace Foo { … }Β»).
    • ΠžΠΏΡ†ΠΈΡ Β«β€”outFile Β» (слСдуСт ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ внСшниС ΡƒΠΏΠ°ΠΊΠΎΠ²Ρ‰ΠΈΠΊΠΈ, Ρ‚Π°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ esbuild, Rollup, ΠΈ Webpack);
    • Π Π΅ΠΆΠΈΠΌ Β«β€”moduleResolution: classicΒ» (рСкомСндуСтся ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ nodenext ΠΈΠ»ΠΈ bundler).

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ: opennet.ru

Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ