You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Commit 331e23b
Browse filesBrowse the repository at this point in the historyBrowse files
fix(pages): link CSS that island and Markdown pages reach through components
In production, island and Markdown pages only got the CSS their page and
layout files import directly. A stylesheet imported by a component that a
layout renders was missing, and when no file imported CSS directly the
islands client entry was not built at all, so no page got a stylesheet.
- Build the islands client entry for every app with island or Markdown
pages, replacing the text scan in needsIslandClientBundle.
- Record the stylesheets that island pages and their layouts reach through
static imports from the server build's module graph, and import them in
the islands client entry. This covers aliases, packages, CSS modules and
Vue/Svelte style blocks, and keeps the CSS order of dev.
- Keep CSS modules that the entry imports (Vite marks them side-effect
free), keep Vue scoped styles whose component is not in the client
bundle, and load Svelte styles through vite-plugin-svelte's own id so a
rule is not emitted twice.
- Without islands, the entry only holds the CSS imports, so no hydration
runtime is bundled. The React and Solid entry is now added only to the
client build.
Fixes#452
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
0 commit comments