Version Packages (next) - #313
Merged
Merged
Conversation
github-actions
Bot
force-pushed
the
changeset-release/next
branch
2 times, most recently
from
August 19, 2026 16:13
31caa20 to
a2c7c60
Compare
commit: |
github-actions
Bot
force-pushed
the
changeset-release/next
branch
3 times, most recently
from
August 19, 2026 20:27
9387a65 to
51b5771
Compare
ryansolid
added a commit
that referenced
this pull request
Aug 19, 2026
…'s stated use case — opting a node_modules dependency's graph into dev SSR CSS collection — could not work under the raw createFilter composition, twice over: the default /node_modules/ exclude was applied whenever the user set no exclude and createFilter's exclude-wins rule vetoed the included package, and a non-empty include turned the filter into a strict allowlist that rejected the app's own sources, pruning the crawl at the entry roots — an include-only config silently stripped ALL dev SSR CSS (live-repro'd in examples/start-ssr: include /some-ui-lib/ lost App.css from the streamed head while the page still rendered). The crawl walks the graph from the app's entries, so allowlist semantics are structurally wrong for this option; include now RESCUES files on top of the baseline (everything except exclude, which still defaults to /node_modules/ and still gets replaced — not extended — by a user exclude), composed from two createFilters so a file matching both patterns stays excluded, exactly createFilter's own conflict rule. Default and exclude-only behavior are byte-identical to before; empty-array includes are treated as absent (createFilter would read them as allow-all). Coverage the exclude side always had, now mirrored for include: the css-filter mode grew from 2 to 9 assertions across four dev-server sub-runs (exclude / include / conflict / default) against a temp node_modules package written by the harness — a real directory, not a symlink or file: dep, which Vite would realpath outside node_modules and dodge the default exclusion under test — whose JS imports its own CSS (the filter sees JS modules; CSS files bypass it), ssr.noExternal'd so the SSR env can transform the CSS import. Docs that both next.31 start options were missing: README options.start now documents css.filter (include/exclude semantics, dev-only scope) and #315's errorBoundary (generic 500 fallback, no leaked details, dev untouched, errorBoundary: false when middleware owns errors), and the option list gains the absent setup/errorBoundary/css entries; the StartOptions JSDoc for css.filter spells the same semantics. No new changeset — nothing has shipped (#316's changeset is queued unreleased in #313), so the existing start-css-filter changeset's wording is corrected to describe the fixed semantics instead. Full local gate green: start-ssr 349/349 + http-bridge 10/10, css-matrix 82/82 + bridge 19/19, build + tsc clean. Co-authored-by: Cursor <cursoragent@cursor.com>
github-actions
Bot
force-pushed
the
changeset-release/next
branch
from
August 19, 2026 21:21
51b5771 to
3609ac1
Compare
github-actions
Bot
force-pushed
the
changeset-release/next
branch
from
August 19, 2026 22:08
3609ac1 to
b925a0e
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This PR was opened by the Changesets release GitHub action. When you're ready to do a release, you can merge this and the packages will be published to npm automatically. If you're not ready to do a release yet, that's fine, whenever you add more changesets to next, this PR will be updated.
nextis currently in pre mode so this branch has prereleases rather than normal releases. If you want to exit prereleases, runchangeset pre exitonnext.Releases
@solidjs/vite-plugin@3.0.0-next.31
Minor Changes
start.devtoolsoption: a development toolbar with runtime errors and aserver function inspector, backed by the new optional-peer package
@solidjs/start-devtools. By default the toolbar turns on invite devwhenever the package resolves (install it as a dev dependency) and stays off
otherwise;
start: { devtools: true }makes the package required (a missinginstall becomes an error) and
start: { devtools: false }opts out entirely.Generated client entries wrap the app in the toolbar's
DevToolbarcomponent,authored client entries get an injected mount import instead, and either way
the wiring is dev-serve-only codegen — production builds and previews contain
none of it. The package itself is resolved from the app graph first and from
the plugin's own location as a fallback, and the virtual toolbar modules
delegate their imports to that captured resolution, so pnpm-isolated installs
work without the package being hoisted to the app root.
Patch Changes
start.errorBoundarytofalsewhen application middleware owns error handling.start.css.filterto control which module graphs are traversed while collecting development CSS.excludeprunes matching graphs (defaults to/node_modules/; providing one replaces the default), andincludeopts matching files in on top of that baseline — e.g.{ include: /node_modules\/some-ui-lib/ }server-inlines that dependency's CSS in dev. A file matching both patterns stays excluded.