تایپاسکریپت ۷ و جهش سرعت در VS Code
خلاصهٔ کاملتر
تایپاسکریپت ۷ یه پورت کامل از کامپایلر و ابزارهای زبانی تایپاسکریپته که این بار با زبان Go نوشته شده. همین باعث میشه تو خیلی از حالتها بیشتر از ۱۰ برابر سریعتر باشه، در حالی که دقیقاً همون تایپاسکریپت قبلیه، فقط خیلی سریعتر. تو این مقاله تیم VS Code تعریف میکنه که چطور از تابستون ۲۰۲۵ سراغ این نسخه رفت، اونم وقتی هنوز در حال ساختهشدن بود و باگ و کمبود فیچر داشت.
به گفتهٔ نویسنده، کل کار بهصورت تدریجی و تو خود شاخهٔ اصلی انجام شد، بدون fork یا برنچ طولانی. اول با افزونههای کوچیک و کمریسک شروع کردن و با فلگ --noEmit فقط تایپچک رو تست کردن، بعد کمکم رفتن سراغ بخشهای اصلی. مزیت این روش این بود که اگه چیزی خراب میشد، راحت میشد علتش رو پیدا کرد و برش گردوند؛ در ضمن هر بخش تازهمهاجرتکرده خودش تبدیل به یه تست رگرسیون برای نسخههای شبانهٔ بعدی میشد.
یه بخش جالب ماجرا نسخهٔ واسط تایپاسکریپت ۶.۰ بود که نقش پل بین ۵.۹ و ۷ رو بازی میکنه. تیم تایپاسکریپت از این فرصت استفاده کرد تا چند تا پیشفرض قدیمی رو درست کنه؛ مثلاً تارگت پیشفرض که هنوز روی ES5 بود و باعث میشد تازهکارها ناخواسته خروجی جاوااسکریپت بزرگتر و سنگینتری بسازن، و همینطور فعال کردن strict null checks بهصورت پیشفرض.
نویسنده میگه یکی از رایجترین دلیلهایی که باعث میشد توسعهدهندهها موقتاً برگردن به نسخهٔ ۶، یه چیز غیرمنتظره بود: فرمتکردن کد. تفاوتهای خیلی کوچیک فرمت مثل یه فاصلهٔ اضافه، چکهای CI و pre-commit رو fail میکرد، برای همین همین اختلافهای ریز اولویت زیادی گرفتن تا کمکم حل بشن.
عددها ماجرا رو روشن میکنن. تایپچک سورس اصلی VS Code از حدود ۳۶ ثانیه با نسخهٔ ۶ به ۵ ثانیه با نسخهٔ ۷ رسید، یعنی حدود ۷ برابر سریعتر. کل فرمان npm run watch که هم سورس اصلی و هم حدود پنجاه افزونهٔ داخلی رو کامپایل و چک میکنه، از حدود ۸۰ ثانیه به کمی بیشتر از ۲۰ ثانیه رسید. لود شدن پروژه تو ادیتور هم که قبلاً نزدیک یه دقیقه طول میکشید، الان حدود ۱۰ ثانیهست.
نویسنده تأکید میکنه که فایدهٔ کمتر ملموس این کار، کیفیت خودِ تایپاسکریپت ۷ بود. کدبیس بزرگ و پیچیدهٔ VS Code به یه میدون تست واقعی تبدیل شد و هر بار که یه توسعهدهنده به مشکل میخورد و برمیگشت به نسخهٔ ۶، یه سیگنال برای تیم تایپاسکریپت بود که بعدی رو چی درست کنه. پیام اصلی مقاله هم ارزش کارِ تدریجی و ساختن حلقههای بازخورد نزدیکه.
نکات کلیدی:
- تایپاسکریپت ۷ کامپایلر رو با زبان Go بازنویسی کرده و تو خیلی حالتها بیشتر از ۱۰ برابر سریعتره
- تیم VS Code تو حدود شش ماه بهصورت تدریجی و بدون برنچ جدا کوچ کرد
- نسخهٔ ۶.۰ بهعنوان پل، پیشفرضهای قدیمی مثل تارگت ES5 رو اصلاح کرد
- تایپچک سورس اصلی از ۳۶ به ۵ ثانیه و کل watch از ۸۰ به حدود ۲۰ ثانیه رسید
- تست روی کدبیس واقعی VS Code به پایدارتر شدن خود تایپاسکریپت ۷ کمک کرد




