next.js
835dc6d9 - Add segment config parity regression tests (#100881)

Commit
4 days ago
Add segment config parity regression tests (#100881) ## Summary Add webpack-compatible regression coverage to `test/production/segment-config-precedence/segment-config-precedence.test.ts` for six parity findings identified while reviewing #100210: - Node-only custom 404 under an Edge root layout, in production and development. - Unequal sibling `dynamic`, `dynamicParams`, `revalidate`, and `fetchCache` values, including exports on a slot layout. - Runtime and region exports on `global-not-found`. - An ordinary page alongside an explicit `@children/page`. - `maxDuration` immediately above the u32 boundary, reusing the existing boundary controls. - Conflicting layout runtimes across the default ordered page extensions. Existing tests, their registrations and gates, original fixtures, and `next.config.ts` are preserved. New page cases share the existing webpack app/build. New known build-failing Turbopack cases use the file's existing `@force-gate !turbopack` and build-path exclusion patterns. The explicit `@children` fixture is injected into webpack's app only: Turbopack's route-structure validation runs before build-path filtering. The global-404 runtime mismatch uses the existing `@gate !turbopack` pattern, which still exercises the assertion and detects when the gate becomes stale. Separate builds remain for the expected-invalid configuration tests and incompatible 404 root/global configurations. The new standalone 404 fixtures and dev suite use `@force-gate !cacheComponents`; no flag pinning or Cache Components CI manifest changes. This is tests-only coverage, not an implementation fix. The Edge-root synthetic-404 tests pass on this canary base and guard against the regression in #100210. Other findings describe pre-existing parity gaps. Known failures are gated, so this PR is no longer an intentionally red reproduction branch. ## Verification Validated with the CI-built canary `4bfbf238` packages: | Suite | webpack | Turbopack | | --- | --- | --- | | Production precedence suite | 46 passed | 28 passed, 12 explicitly skipped | | New standalone 404 fixtures with Cache Components | Both explicitly force-skipped; no builds | Same | | Development custom 404, unchanged | Previously verified passing | Previously verified passing | Eight new build-failing cases are skipped on Turbopack, alongside four pre-existing skips. Six pre-existing table cases remain conditionally absent on Turbopack. Runtime-only known failures emit expected gate diagnostics. The passing Edge-root Node-only 404 remains enabled on both bundlers. The full webpack run includes browser interception coverage. ESLint, formatting and `pnpm test-types` pass. Compared with the base, original test bodies/registrations/gates and all original fixture files are unchanged; only imports, new fixture provisioning, new filter entries and new tests are added. `fetchCache` checks build acceptance and rendering, not a separate caching-policy contract. <!-- NEXT_JS_LLM --> <!-- fleet bb50a592-84e4-4598-b155-9736bbef6d5a --> --------- Co-authored-by: vercel-fleet-prod[bot] <318278635+vercel-fleet-prod[bot]@users.noreply.github.com>
Author
Parents
Loading