Skip to content

fix(pages): exclude private helpers from the client entry decision - #603

Merged
cpojer merged 1 commit into
voidzero-dev:mainfrom
dvkam:fix/575-private-page-client-bundle
Oct 27, 2026
Merged

cpojer merged 1 commit into
voidzero-dev:mainfrom
dvkam:fix/575-private-page-client-bundle

Conversation

@dvkam

@dvkam dvkam commented Oct 26, 2026

Copy link
Copy Markdown
Contributor

Fixes #575.

An ordinary component inside pages/_ui/ caused React and Solid to build pages-client, even when every page used islands.
That entry imported page modules into the browser.

Use the existing production page scan to decide whether the app needs pages-client.
Remove the separate file checks in both adapters.
Private helpers and named layouts no longer cause this entry.
Ordinary pages still include it.
Explicit islands inside private directories still hydrate.

The scan also applies production file selection and exact island suffix rules to this decision.
Invalid routes can now fail during build configuration, before buildStart.

Add unit checks for private paths, custom page roots, ordinary pages, file suffixes, production file selection, and scan errors.
Add production build tests for React and Solid.
These tests check the client manifest, server HTML, CSS, and client JavaScript.
They also click an explicit private Counter island in Chromium.

Validation:

  • All 64 focused tests passed, including both production build and Chromium regressions.
  • Both adapter typechecks passed.
  • The full installed-package matrix passed for npm and pnpm across React, Vue, Svelte, and Solid.
  • Repository formatting, lint, builds, artifact checks, platform lint, and workspace typechecks passed.
  • The full suite passed 738 files. Five other files failed on test or server deadlines.
  • All five files passed isolated reruns with the original deadlines and isolation settings.

@dvkam
dvkam marked this pull request as ready for review October 26, 2026 19:15

@cpojer cpojer left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thank you!

@cpojer
cpojer merged commit d87ad4e into voidzero-dev:main Oct 27, 2026
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

@void/react: a non-island component under an _-prefixed directory in pages/ ships every page module to the browser

2 participants