- 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?
Tekst przetłumaczony przez AI.
Podsumowanie posta wygenerowane przez AI durumis
- Podczas debugowania Next.js Turbopack napotkałem błąd w testach jednostkowych, co doprowadziło do sprawdzenia sposobu stosowania logiki w poszczególnych plikach.
- W wyniku pracy ustalono, że przyczyną problemu jest zawartość konkretnego pliku. W celu przyspieszenia debugowania, wyłączono powiązane testy jednostkowe.
- Zanotowano doświadczenie, w którym nawet niewielkie zmiany powodowały nieoczekiwane błędy w testach, co znacznie wydłużyło proces debugowania.
To była naprawdę niewielka zmiana, wręcz idealna pod względem logicznym, a mimo to testy jednostkowe zaczęły padać. Problem polegał na tym, że nie miałem pojęcia, co jest przyczyną...
Dlatego w weekend, mimo że były moje urodziny, musiałem się trochę pomęczyć. Na podstawie nazw plików zacząłem stosować starą logikę do części z nich, aby ustalić, które pliki są niezgodne z nową.
W ten sposób, krok po kroku, męczyłem się z tym,
i w końcu znalazłem przyczynę awarii testów. Ale zawartość tego pliku to
'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'); }
całość. Debugowanie wydawało się bardzo czasochłonne, więc wyłączyłem powiązany test.
TURBOPACK=1 pnpm test-dev test/e2e/prerender.test.ts