cloudflare/vinext

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

Open

#1,346 建立於 2026年5月20日

在 GitHub 查看
 (0 留言) (0 反應) (0 負責人)TypeScript (329 fork)github user discovery
adapter-api-e2ehelp wanted

倉庫指標

Star
 (8,120 star)
PR 合併指標
 (平均合併 1天 1小時) (30 天內合併 462 個 PR)

描述

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.

貢獻者指南