Angular Preprocessor เข้าสู่ Beta ด้วย Compiler ใหม่ที่ใช้ Rust และ TypeScript 7

ทีม Angular ได้เปิดเผยรายละเอียดเกี่ยวกับ Angular Preprocessor (ngp) ซึ่งได้เขียนขั้นตอนการวิเคราะห์ของเครื่องมือใหม่ทั้งหมดด้วย Rust เพื่อรองรับการใช้งาน TypeScript 7

การเปลี่ยนแปลงนี้เกิดขึ้นหลังจากที่ Microsoft ได้เปิดตัว TypeScript 7.0 ซึ่งการเขียนใหม่ด้วย Go ได้นำ Transformer API ที่ Compiler เก่าของ Angular ต้องพึ่งพาออกไป

ทีม Angular ได้เลือกที่จะแยกการ Compile ออกจาก TypeScript API และสร้างใหม่บน Oxc ซึ่งเป็นเครื่องมือของ VoidZero ที่ใช้ใน Vite อยู่แล้ว

การทดสอบโดย Cédric Exbrayat พบว่าในการ Build ครั้งแรก (cold builds) สามารถเพิ่มความเร็วได้ 2-3 เท่า และลดการใช้หน่วยความจำในโปรเจกต์ขนาดใหญ่ลงจาก 2.8 GB เหลือ 1.4 GB

สำหรับ Super Productivity codebase (252 components) เซิร์ฟเวอร์สำหรับนักพัฒนาสามารถแสดงหน้าแรกได้ใน 10.5 วินาที เทียบกับ 17.4 วินาทีของ ng serve และการแก้ไขเทมเพลตใช้เวลาเพียง 112 มิลลิวินาที แทนที่จะเป็นการโหลดใหม่ทั้งหมดที่ใช้เวลา 2.6 วินาที

การนำ ngp มาใช้คาดว่าจะอยู่ใน Angular 22 minor release เมื่อ TypeScript 7.1 ฟื้นฟู Compiler API ที่จำเป็น ส่วน Production build ควรยังคงใช้ ngc ต่อไป

ศัพท์ที่ควรรู้

  • Angular Preprocessor (ngp) – คือเครื่องมือใหม่ของ Angular ที่ใช้ Rust ในการเขียนขั้นตอนการวิเคราะห์ของ Compiler เพื่อรองรับ TypeScript 7
  • TypeScript 7 – คือเวอร์ชันของ TypeScript ที่มี Compiler ใหม่ ซึ่งเป็นพื้นฐานของการเปลี่ยนแปลงนี้
  • ngc – คือ Compiler เดิมของ Angular ที่ใช้วิเคราะห์และแปลงโค้ดโดยใช้ Transformer API ของ TypeScript
  • Oxc – คือเครื่องมือของ VoidZero ที่ใช้ใน Vite และถูกนำมาใช้เป็นฐานในการสร้าง Compiler ใหม่ของ Angular
  • VoidZero – คือผู้พัฒนาเครื่องมือ Oxc ที่ถูกนำมาใช้ในการปรับปรุง Compiler ของ Angular

ที่มา: infoq.com

Leave a Comment