- fix(turbopack): Do not create invalid `EcmascriptModulePartAsset` by kdy1 · Pull Request #70016 · vercel/next.js
- What? EcmascriptModulePartAsset is invalid if the splitting is failed. We now carefully create it, only when the original module is splitable. Why? This is part of the tree-shaking PR. How?
โพสต์นี้แปลโดย AI
บทสรุปของโพสต์โดย durumis AI
- ในระหว่างกระบวนการดีบัก Next.js Turbopack พบปัญหาข้อผิดพลาดในกรณีทดสอบ จึงได้ดำเนินการตรวจสอบวิธีการประยุกต์ใช้ตรรกะตามไฟล์ต่างๆ
- ผลลัพธ์จากการดำเนินงาน พบว่าเนื้อหาในไฟล์บางไฟล์เป็นสาเหตุของปัญหา และเพื่อลดเวลาในการดีบัก จึงได้ปิดใช้งานกรณีทดสอบที่เกี่ยวข้อง
- บันทึกประสบการณ์ที่พบว่าการเปลี่ยนแปลงเล็กน้อยอาจส่งผลให้เกิดข้อผิดพลาดในการทดสอบที่คาดไม่ถึง ทำให้ใช้เวลาดำเนินการดีบักเป็นเวลานาน
การเปลี่ยนแปลงที่ดูเหมือนจะเล็กน้อยจนเรียกได้ว่าสมบูรณ์แบบในเชิงตรรกะ แต่กลับทำให้เคสทดสอบล่ม ปัญหาคือไม่รู้สาเหตุเลย...
ดังนั้นในช่วงสุดสัปดาห์ที่ผ่านมา แม้ว่าจะเป็นวันเกิด แต่ก็ต้องมาทำงานหนัก โดยใช้ชื่อไฟล์เป็นเกณฑ์ในการนำตรรกะเก่าไปใช้กับบางไฟล์ เพื่อหาว่าไฟล์ใดบ้างที่ไม่เข้ากันกับตรรกะใหม่
ทำแบบนี้ทีละไฟล์ทีละไฟล์
สุดท้ายก็พบเคสทดสอบที่มีปัญหา แต่เนื้อหาของไฟล์นั้นคือ
'use strict'; if (process.env.NODE_ENV === 'production') { module.exports = require('./cjs/react-jsx-runtime.production.js'); } else { module.exports = require('./cjs/react-jsx-runtime.development.js'); }
แค่นี้เอง การดีบักน่าจะใช้เวลานานมาก ดังนั้นจึงปิดการใช้งานเคสทดสอบที่เกี่ยวข้อง
TURBOPACK=1 pnpm test-dev test/e2e/prerender.test.ts