Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions .changeset/pre.json
Original file line number Diff line number Diff line change
Expand Up @@ -15,9 +15,11 @@
"client-manifest-outdir",
"compiler-package-rename",
"dev-css-and-client-manifest",
"dev-manifest-bridge-and-boundary-modules",
"dev-ssr-entry-styles",
"drop-vite-lt-6",
"empty-dragons-grow",
"external-dev-styles",
"host-integration-extension-points",
"lazy-entry-eliminated-importers",
"lazy-entry-rolldown-reclassify",
Expand Down
38 changes: 38 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,43 @@
# Changelog

## 3.0.0-next.19

### Patch Changes

- 83f7bb5: Two pieces hoisted from SolidStart so any host gets them plugin-side:

- Dev-manifest HTTP bridge for isolated SSR runners. The dev asset resolver
lives in the Vite process and is normally reached through a
process-global registry; hosts that evaluate server modules in an
isolated module runner (nitro's dev worker, workerd via
@cloudflare/vite-plugin) can't see it, which broke lazy-route CSS and
hydration preloads in dev. With `ssr` enabled the dev server now serves
`GET /@vite-plugin-solid/dev-manifest?key=<module key>` (ResolvedAssets
JSON, `null` for unresolvable keys), and the dev flavor of
`virtual:solid-manifest` transparently falls back to fetching it when the
registry has no entry for the root — the endpoint URL is baked in at
module generation time from the live server's resolved origin, so
isolated runners need zero host code. In-process consumers still
short-circuit on the registry hit and never touch HTTP. Misses log loudly
on both sides (registry miss / empty resolution on the serve side,
non-OK responses and network failures on the fetch side) and resolve to
`null`, keeping the runtime's own no-assets warning as the final
catch-all.
- Always-on `server-only` / `client-only` boundary marker modules:
importing `server-only` from a module bundled for the client fails the
build with an error naming the importer (and vice versa for
`client-only`); the allowed environment resolves the marker to an empty
module. Ambient type declarations ship at
`vite-plugin-solid/boundary-modules`. The bare specifiers are claimed
even when React's same-named npm packages are installed; the errors are
prefixed `[vite-plugin-solid]`.

- 8386fb4: Let provider-owned SSR environments serve turnkey development requests without
calling `ssrLoadModule`. Entry CSS and server functions are transported through
the generated handler so isolated runtimes retain SSR styles and HMR support.

Add `ssr.external` for integrations that also own the server build wiring.

## 3.0.0-next.18

### Patch Changes
Expand Down
2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "vite-plugin-solid",
"version": "3.0.0-next.18",
"version": "3.0.0-next.19",
"description": "solid-js integration plugin for vite 6/7/8",
"type": "module",
"files": [
Expand Down