cloudflare/vinext

Build failure: CSS file missing in SSR bundle (`style.css` not emitted)

Open

#1,346 opened on May 20, 2026

View on GitHub
 (0 comments) (0 reactions) (0 assignees)TypeScript (329 forks)github user discovery
adapter-api-e2ehelp wanted

Repository metrics

Stars
 (8,120 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-20).

Problem

The SSR bundle's index.js contains an import './style.css' statement, but the CSS file is not emitted to dist/server/ssr/. The build succeeds, but the production server crashes during prerendering when Node.js tries to resolve the .css import.

Error [ERR_MODULE_NOT_FOUND]: Cannot find module
  '/tmp/.../dist/server/ssr/style.css'
  imported from /tmp/.../dist/server/ssr/index.js

CSS imports in SSR builds should either be stripped (since CSS is injected client-side) or the CSS file should be emitted alongside the SSR bundle.

Estimated Impact

~5 test failures (1 runtime crash, 5 failed assertions).

Affected Test Suites

  • test/e2e/react-version/react-version.test.ts (5 failures)

Recommendation

  1. Reproduce first in vinext's own test suite. Add a test that imports CSS in a component and verify the SSR build doesn't crash during prerendering. Confirm it fails.

  2. Strip or emit CSS in SSR builds. Either configure the SSR build to strip CSS imports (replace with empty modules) or ensure CSS files are properly emitted to the SSR output directory. Study how @vitejs/plugin-rsc and Vite handle CSS in SSR environments.

  3. Check the Vite SSR build configuration. The build.rolldownOptions for the SSR environment may need css handling configuration.

Contributor guide