diff --git a/.changeset/pre.json b/.changeset/pre.json index e660e3e..df81b3f 100644 --- a/.changeset/pre.json +++ b/.changeset/pre.json @@ -53,6 +53,7 @@ "fix-runnable-environment-check", "fix-ssr-stream-abort-crash", "handler-edge-commit-fold", + "honor-host-noexternal-patterns", "host-integration-extension-points", "http-bridge-h2-tls-abort", "id-hash-second-segment", @@ -70,6 +71,7 @@ "native-event-seam", "native-server-function-transform", "no-tla-server-env", + "observe-option", "path-addressed-server-functions", "plugin-package-rename", "production-error-boundary", diff --git a/CHANGELOG.md b/CHANGELOG.md index ceb3ea7..cda5d47 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,12 @@ # Changelog +## 3.0.0-next.43 + +### Patch Changes + +- 4fb1af3: Honor the host's `resolve.noExternal` patterns when adding vitefu's externals to the SSR environment. The plugin already refused to re-externalize anything `noExternal` inlines, but it compared literal names only, while Vite treats string entries as picomatch patterns and RegExp entries as tests (`createFilter(undefined, noExternal, { resolve: false })`). Since 3.0.0-next.41 the crawl also reaches the packages that consume the Solid runtime, and their non-Solid dependencies land in `ssr.external` — so a host that inlines its packages by pattern (TanStack Start's `@tanstack/start**`, whose `@tanstack/start-server-core` resolves its `#tanstack-*` imports only when Vite processes it) saw them re-externalized, and `vite dev` failed with `ERR_PACKAGE_IMPORT_NOT_DEFINED: Package import specifier "#tanstack-router-entry" is not defined`. The externals are now filtered with the same matcher Vite uses, and a single string or RegExp `noExternal` value is kept instead of being dropped. +- b173c94: New `observe` option: resolve Solid's observe builds for production observability. `observe: true` adds the `observe` export condition to every environment — client and server, inlined and externalized (`resolve.externalConditions`), inlining the core runtime and its consumers for server builds the way the dev posture already does so one build is loaded end to end — and turns on the compiler's `componentNames` option, so component owner labels (``) survive minification in diagnostics and attribution paths. `componentNames` is also enabled under the dev posture, where `lazy()` and HMR wrappers otherwise hide the tag name. Requires `@solidjs/compiler` / `@solidjs/babel-plugin` ≥ 2.0.0-rc.8 (the release that adds the option). + ## 3.0.0-next.42 ### Patch Changes diff --git a/package.json b/package.json index 87ed5f1..f7417ee 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@solidjs/vite-plugin", - "version": "3.0.0-next.42", + "version": "3.0.0-next.43", "description": "solid-js integration plugin for Vite", "type": "module", "engines": {