Skip to content

Version Packages (next) - #372

Merged
ryansolid merged 1 commit into
nextfrom
changeset-release/next
Sep 27, 2026
Merged

ryansolid merged 1 commit into
nextfrom
changeset-release/next

Conversation

@github-actions

@github-actions github-actions Bot commented Sep 27, 2026 •

Copy link
Copy Markdown
Contributor

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.

⚠️⚠️⚠️⚠️⚠️⚠️

next is currently in pre mode so this branch has prereleases rather than normal releases. If you want to exit prereleases, run changeset pre exit on next.

⚠️⚠️⚠️⚠️⚠️⚠️

Releases

@solidjs/vite-plugin@3.0.0-next.45

Patch Changes

  • e40e2c4: Follow-ups to riding Solid 2.0.0-rc.10. The server-function dev middleware reads the id out of the runtime's third address shape, <endpoint>/live/<id> (a live loop's connection), the way it already did for <endpoint>/data/<id> — mirroring the runtime's parseServerFunctionAddress, one kind segment at most — so a live function whose module nothing has imported server-side yet is loaded on demand and the first call resolves instead of the runtime answering 404 Unknown server function. vite preview passes text/event-stream responses and everything under the server-function mount through its compression middleware as content-encoding: identity, as it already did for text/html: the middleware compresses from a ≥1KiB first write and then holds small writes in zlib's buffer, which would leave a live event stream's events (and the streaming codec's chunks) undelivered while the connection stays open. Under serve, solid-js/attribution and @solidjs/web/performance-tracks join optimizeDeps.include, so a consumer the dependency scanner never crawls (a linked package, a solid-condition package vitefu excluded) importing one mid-session no longer triggers a late discovery → re-optimize → a second @solidjs/signals core beside the one solid-js was bundled with.
  • 4134665: Require solid-js / @solidjs/web 2.0.0-rc.10 (peer floor) and compile with @solidjs/compiler / @solidjs/babel-plugin rc.10 — runtime and compiler move in lockstep. rc.10 is the release the sourceNames work rides on: the compilers rename componentNames to sourceNames (@solidjs/compiler rejects the old option, so a mismatched pair fails loudly), add the bindings kind whose trailing { name } / tag arguments on effect/insert/spread only the rc.10 @solidjs/web reads, ship the standalone transformSourceNames pass behind sourceNames.primitives, and default their own sourceNames to dev. The plugin keeps passing its resolved value explicitly (false when every JSX kind is off), so its posture table — not the compilers' default — decides, and solid.sourceNames: false stays an opt-out under vite dev.
  • e9afe8a: Source names on by default in dev and under observe: the compiler option componentNames is now sourceNames and covers components, compiled binding effects (span.textContent, div.children), and primitives. Component and binding names are the JSX compiler's sourceNames option, passed to whichever backend compiles the JSX. Primitives are named by the native compiler's standalone transformSourceNames pass — createSignal(0) declared as count becomes createSignal(0, { name: "count" }), createCounter.value inside a composed primitive — which the plugin runs ahead of the JSX transform and alone on plain .ts/.js modules (outside node_modules), for babel apps as well, so attribution chains, diagnostics owner paths, and the Chrome performance tracks read source identifiers instead of signal / computed / effect. Every kind defaults to on whenever the plugin compiles with dev (vite dev, or dev: true) or for observe builds, and to off for production builds, whose output is unchanged. solid.sourceNames: false opts out of every kind (in dev too — the plugin always passes the resolved value, so the compilers' own dev default does not re-enable it), true forces every kind on, and the object form { components?, bindings?, primitives? } sets kinds individually with the rest at the posture default. Requires the @solidjs/compiler release carrying sourceNames and transformSourceNames (2.0.0-rc.10); on an older compiler the primitives pass is skipped with a one-time warning.
  • de42b22: Warn at build time when the server build targets a worker runtime (ssr.target: 'webworker') and the plugin generates server code — SSR or client start mode, or serverFunctions on its own. That code imports @solidjs/web/storage, the one Solid module that needs node:async_hooks (AsyncLocalStorage keeps the request event live across awaits; there is no sync-scope fallback), so on a worker without Node compat the deploy failed with a bare No such module "node:async_hooks" ([2.0 rc.9] Start mode server handler requires node:async_hooks, fails on Workers runtimes without Node compat solid#3597, Shopify Oxygen — whose Vite plugin sets the webworker target). The warning names the requirement and both fixes: a compatibility_date of 2026-08-04 or later (Cloudflare enables nodejs_compat by default from that date, and Oxygen accepts the same date), or the nodejs_compat flag. It is emitted once per server build, from the ssr environment's buildStart (the default builder resolves the config once per environment, so a config-time warning would repeat), and never in dev, where the ssr environment runs in Node. No new option; the condition is the resolved ssr.target.

@github-actions
github-actions Bot force-pushed the changeset-release/next branch from ddeb00a to f692875 Compare September 27, 2026 07:49
@github-actions
github-actions Bot force-pushed the changeset-release/next branch from f692875 to bb7ec46 Compare September 27, 2026 08:22
@ryansolid
ryansolid merged commit 2c0ef3f into next Sep 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.

1 participant