cloudflare/vinext

Build failure: `esmExternals` config breaks production build

Closed

#1,507 opened on May 22, 2026

 (0 comments) (0 reactions) (0 assignees)TypeScript (371 forks)github user discovery
adapter-api-e2ehelp wanted

Repository metrics

Stars
 (8,563 stars)
PR merge metrics
 (Avg merge 1d 1h) (462 merged PRs in 30d)

Description

This issue was created by an agent analysing CI failures from the Next.js Deploy Suite (vinext main vs Next.js v16.2.6, 2026-05-22).

Problem

Test apps that enable esmExternals (or experimental.esmExternals) in next.config.js fail the production build with Custom deploy script failed: undefined (1). This blocks the entire esm-externals suite (10 tests).

Build fails when esmExternals is configured

Estimated Impact

~10 test failures across the deploy suite.

Affected Test Suites

  • test/e2e/esm-externals/esm-externals.test.ts (10 failures)

Recommendation

  1. Reproduce first in vinext's own test suite. Set experimental.esmExternals: true in next.config.js of a small fixture and confirm the build fails.

  2. Handle the option or no-op it cleanly. Either implement the documented semantics (treat externals as ESM) or no-op the option to unblock the suite.

  3. Investigate Rolldown ESM externals semantics. May involve adjusting how externals are externalised in each environment.


Part of #1328.

Contributor guide