Rust กลืนกิน JavaScript Toolchain แล้ว Cloudflare ก็เข้าซื้อกิจการ
Vite เปลี่ยนวิธีการทำงานใหม่ โดยเปลี่ยนจากการใช้เครื่องมือสองตัวมาเป็น pipeline เดียว
วิธีเดิมนั้นใช้ esbuild สำหรับการพัฒนา (development) และ Rollup สำหรับการใช้งานจริง (production) ซึ่งทำให้เกิดปัญหา เพราะคุณต้องจัดการการตั้งค่า (configuration) ถึงสองชุด และโค้ดของคุณอาจทำงานแตกต่างกันระหว่างตอน dev กับตอน production
Vite 8 แก้ปัญหานี้ด้วยการใช้ bundler ตัวเดียวที่ชื่อว่า Rolldown ซึ่งเขียนด้วยภาษา Rust และใช้ Oxc ในการจัดการ TypeScript และ JSX
ความเร็วที่เพิ่มขึ้นนั้นมหาศาล • ลดเวลาการ build แบบ linear จาก 46 วินาที เหลือเพียง 6 วินาที • Vite รายงานว่าการ build เร็วขึ้นกว่าเดิม 10 ถึง 30 เท่า • โปรเจกต์ขนาดใหญ่เห็นการพัฒนาขึ้น 3 ถึง 8 เท่า
หากคุณมี dependency graph ขนาดใหญ่หรือมี CI ที่ทำงานช้า คุณจะสัมผัสถึงความแตกต่างนี้ได้อย่างชัดเจน แต่ถ้าการ build ของคุณเร็วอยู่แล้ว นี่จะเป็นเพียงการอัปเดตเล็กน้อยเท่านั้น
การย้ายระบบ (migration) ถูกออกแบบมาให้ทำได้ง่าย เนื่องจาก Rolldown ใช้ Rollup plugin API นั่นหมายความว่าคุณไม่จำเป็นต้องเรียนรู้ใหม่ทั้งหมด
ข้อควรระวังสำหรับการเปลี่ยนแปลงทางเทคนิคเหล่านี้:
- Plugin ที่ใช้
transformWithEsbuildจะใช้งานไม่ได้ คุณต้องเปลี่ยนไปใช้transformWithOxcแทน build.rollupOptionsเปลี่ยนเป็นbuild.rolldownOptions- CJS interop และ Yarn PnP อาจทำให้เกิดปัญหาในการใช้งาน
ทำตามขั้นตอนเหล่านี้เพื่ออัปเกรดอย่างปลอดภัย:
Step 1: ใช้ Vite 7 ต่อไปและเปลี่ยน bundler
รัน: npm install rolldown-vite@latest
ทดสอบการ build และตรวจสอบ plugin ของคุณ
Step 2: อัปเกรดเป็น Vite 8
รัน: npm install vite@8
ทำขั้นตอนนี้หลังจากที่ Step 1 ทำงานได้อย่างสมบูรณ์แล้วเท่านั้น
นอกจากนี้ยังมีข่าวใหญ่เกี่ยวกับการเป็นเจ้าของ โดย Cloudflare ได้เข้าซื้อกิจการ VoidZero ซึ่งเป็นบริษัทที่ก่อตั้งโดย Evan You โดย VoidZero เป็นผู้พัฒนา Vite, Vitest, Rolldown และ Oxc
Cloudflare ได้ให้คำมั่นสัญญาไว้หลายประการ:
- โปรเจกต์ทั้งหมดจะยังคงใช้ใบอนุญาตแบบ MIT
- จะยังคงความเป็นกลาง (vendor-neutral)
- พวกเขาได้เริ่มจัดตั้งกองทุนมูลค่าหนึ่งล้านดอลลาร์เพื่อสนับสนุนผู้ดูแลระบบนิเวศ (ecosystem maintainers)
การเข้าซื้อกิจการครั้งนี้ช่วยแก้ปัญหาเรื่องเงินทุนสำหรับนักพัฒนา อย่างไรก็ตาม มันยังเป็นการรวมศูนย์อำนาจด้วย เนื่องจาก Cloudflare ได้เข้าซื้อทีม Astro ไปก่อนหน้านี้แล้ว ทำให้ตอนนี้บริษัทเดียวมีอิทธิพลอย่างมากต่อเครื่องมือพื้นฐานของเว็บ (foundational web tools)
โอเพนซอร์ส (Open source) อาศัยความไว้วางใจ เครื่องมือเหล่านี้เร็วขึ้นและดีขึ้น จงใช้พวกมันเพื่อประสิทธิภาพการทำงาน แต่ควรจับตาดูเรื่องการถือครองความเป็นเจ้าของอย่างใกล้ชิดในระยะยาว
ที่มา: https://dev.to/andresclua/rust-ate-the-javascript-toolchain-then-cloudflare-bought-it-4d87
