Skip to content

Version Packages (next) - #517

Merged
birkskyum merged 1 commit into
nextfrom
changeset-release/next
Oct 30, 2026
Merged

birkskyum merged 1 commit into
nextfrom
changeset-release/next

Conversation

@github-actions

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.54

Patch Changes

  • 9dabc25: In builds, inline CSS module class names used directly in JSX attributes (class={styles.button}, template literals of them, named imports), so they compile into the element's template instead of a reactive effect. The stylesheet is kept even when every use was inlined.
  • cb5c5ee: Document the deployment contract provider plugins can rely on from 3.0: the client and ssr environments, the ssr environment's index handler entry with its { fetch } and handleRequest exports, client-first build order, output locations, client-mode output, and the dev handover. A test builds an app through a stand-in provider that relies on it.
  • e4538d8: Correct the README on why start.serverSetup cannot be a static import (the whole graph loads before any module runs, and an async module does not hold back the imports after it) and on what the env leak scan skips.
  • 314a961: Ship the plugin as ESM only, which makes the package about 1 MB smaller unpacked. Vite is ESM-only already, and on the supported Node versions (22.12 and later) require('@solidjs/vite-plugin') loads the ESM build with the same exports (Node 22.12 prints a one-time experimental warning; 22.13 and later don't).
  • b06c37e: Use Vite hook filters on the plugin's transform, resolveId and load hooks, so under Rolldown the JavaScript side only runs for modules a hook can act on. In a 2,100-module start-mode build, this cut build time by about 8% with identical output.
  • 0d50833: Resolve static asset URLs in JSX: a relative src, srcset, poster or href on <img>, <source>, <video>, <image> and <use> becomes an import of the asset, and a / URL naming a public-directory file follows base, relative bases (Electron builds) included. The compiler used to put them in the template as written, so relative URLs resolved against the page and public URLs ignored base.
  • 0d45ea0: Load Babel and @solidjs/babel-plugin on first use instead of at import. The default native compiler never calls them, so importing the plugin takes about half as long (roughly 100 ms down to 50 ms).
  • 9a96d74: The published package no longer includes type declarations for the plugin's own Cypress tests (dist/types/cypress).
  • 51f9a7d: Rename the types entry @solidjs/vite-plugin/virtual-solid-manifest to @solidjs/vite-plugin/virtual-modules (it declares every virtual module the plugin serves) and css.filter to css.devInline (it picks which module graphs dev SSR crawls for the CSS it inlines). Remove serverFunctions.manifest: the module id is always virtual:solid-server-function-manifest. The old option names fail at config time with a message naming the replacement.
  • e35b1e3: Add the StartServerRenderSetup and StartServerRenderContext types (a start.serverRenderSetup module's default export, and the context an authored server entry's render receives), and type the options of handleServerFunctionRequest and handleRequest's serverFunctions with the runtime's HandleServerFunctionOptions, so a misspelled option no longer type-checks. The README now documents the client build's .vite/solid-server-functions.json (PersistedServerFunctionManifest), and option docs that still mentioned solid-refresh or @solidjs/babel-plugin are corrected.
  • cfddf51: Server-function skew protection now holds when a host builds the app in one process and relocates the client output (nitro): once the same plugin instance built the client, the server build uses that build's id and discoveries from memory instead of reading .vite/solid-server-functions.json, which could be stale. Calls are also stamped when the app configures the client through @solidjs/web/server-functions/client; its prepareRequest used to drop the stamp.
  • d6be37a: The server build now reads the client build's .vite/solid-server-functions.json from where the client build wrote it in the same process, then from the client environment's configured outDir, and only then from dist/client. With a custom client outDir (a single vite build, or environments.client.build.outDir set), client-only server functions now register and the build id check runs. Setting serverFunctions.runtime to the default runtime no longer turns the build id check off.
  • b92affb: Rename serverFunctions.configure to serverFunctions.serverSetup: it is a server-only module that runs once before any server-function call is handled, the same role start.serverSetup plays for the whole server. The old key fails at config time with a message naming the replacement.
  • 4a8eb04: Rename the env modules virtual:env/server and virtual:env/client to virtual:solid-env/server and virtual:solid-env/client, matching the plugin's other virtual:solid-* modules. Importing an old ID fails with a message naming the new one, and the generated solid-env.d.ts declares the new IDs.
  • 262d48d: Rename start.node to start.nodeServer: it emits a ready-to-run Node server (dist/server/node.js) and does not change the build target, which node: true could suggest. The old key fails at config time with a message naming the replacement.
  • 5cfe7f8: Add the StartRequestEvent type: the request event in start mode, with the response head every start-mode event carries and the optional nativeEvent. StartMiddleware now receives it, so event.response.headers.set(...) type-checks in middleware; @solidjs/web's base RequestEvent declares neither field.

@github-actions
github-actions Bot force-pushed the changeset-release/next branch from 491a141 to 0fe4b4f Compare October 30, 2026 22:14
@pkg-pr-new

pkg-pr-new Bot commented Oct 30, 2026

Copy link
Copy Markdown

Open in StackBlitz

npm i https://pkg.pr.new/@solidjs/vite-plugin@517

commit: 0fe4b4f

@birkskyum
birkskyum merged commit 357c01f into next Oct 30, 2026
6 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