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