cloudflare/vinext

App Router client modules: package `type: "commonjs"`/`"module"` overrides ignored

Open

#1504 aperta il 22 mag 2026

Vedi su GitHub
 (0 commenti) (0 reazioni) (0 assegnatari)TypeScript (329 fork)github user discovery
adapter-api-e2ehelp wanted

Metriche repository

Star
 (8120 star)
Metriche merge PR
 (Merge medio 1g 1h) (462 PR mergiate in 30 g)

Descrizione

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

When a "use client" module imports a package whose package.json sets "type": "commonjs" (or "module") without an exports map, Next.js honors the type field. vinext always resolves the ESM build, so the rendered text mixes up cjs and esm markers.

Package with `type: "commonjs"` still resolved as ESM

Estimated Impact

~2 test failures across the deploy suite.

Affected Test Suites

  • test/e2e/app-dir/client-module-with-package-type/index.test.ts (2 failures)

Recommendation

  1. Reproduce first in vinext's own test suite. Add fixtures importing two packages: one with type: 'commonjs' and one with type: 'module', both without exports. Assert each resolves correctly.

  2. Respect type field in the resolver. When there is no exports map, fall back to type for choosing between main (CJS) and module (ESM) entry.

Guida contributor