From 1c64bda3f2d3d0d0815594de9118386f125a0403 Mon Sep 17 00:00:00 2001 From: Birk Skyum Date: Thu, 16 Jul 2026 05:57:59 +0200 Subject: [PATCH 1/2] fix: use per-environment Vite plugin hook APIs --- .changeset/tame-dingos-wave.md | 5 +++++ packages/start/src/config/env.ts | 9 +++++---- packages/start/src/directives/index.ts | 8 ++++---- 3 files changed, 14 insertions(+), 8 deletions(-) create mode 100644 .changeset/tame-dingos-wave.md diff --git a/.changeset/tame-dingos-wave.md b/.changeset/tame-dingos-wave.md new file mode 100644 index 000000000..9f98046db --- /dev/null +++ b/.changeset/tame-dingos-wave.md @@ -0,0 +1,5 @@ +--- +"@solidjs/start": patch +--- + +Use per-environment Vite plugin hook APIs for forward compatibility with Vite 9. diff --git a/packages/start/src/config/env.ts b/packages/start/src/config/env.ts index fb98c200e..a8683e98e 100644 --- a/packages/start/src/config/env.ts +++ b/packages/start/src/config/env.ts @@ -71,9 +71,10 @@ export function envPlugin(options?: EnvPluginOptions): Plugin { } return undefined; }, - load(id, opts) { + load(id) { + const isServer = this.environment.config.consumer === "server"; if (id === SERVER_ENV) { - if (!opts?.ssr) { + if (!isServer) { return SERVER_ONLY_MODULE; } const vars = currentOptions.server?.load @@ -88,13 +89,13 @@ export function envPlugin(options?: EnvPluginOptions): Plugin { return convertObjectToModule(vars); } if (id === SERVER_RUNTIME_LOADER) { - if (!opts?.ssr) { + if (!isServer) { return SERVER_ONLY_MODULE; } return runtimeCode; } if (id === SERVER_RUNTIME_ENV) { - if (!opts?.ssr) { + if (!isServer) { return SERVER_ONLY_MODULE; } return SERVER_RUNTIME_CODE; diff --git a/packages/start/src/directives/index.ts b/packages/start/src/directives/index.ts index 04a30395c..0a012aad4 100644 --- a/packages/start/src/directives/index.ts +++ b/packages/start/src/directives/index.ts @@ -181,8 +181,8 @@ export function serverFunctionsPlugin(options: ServerFunctionsOptions): Plugin[] } return null; }, - async load(id, opts) { - const mode = opts?.ssr ? "server" : "client"; + async load(id) { + const mode = this.environment.config.consumer; if (id === options.manifest) { const current = new Debouncer(() => [...manifest[mode]].map(entry => `import "${entry}";`).join("\n"), @@ -197,8 +197,8 @@ export function serverFunctionsPlugin(options: ServerFunctionsOptions): Plugin[] { name: "solid-start:server-functions/compiler", enforce: 'pre', - async transform(code, fileId, opts) { - const mode = opts?.ssr ? "server" : "client"; + async transform(code, fileId) { + const mode = this.environment.config.consumer; const [id] = fileId.split("?"); if (!filter(id)) { return null; From 1d174b77f42d49dc7d957d4bfb15cfd96dd6c57e Mon Sep 17 00:00:00 2001 From: Birk Skyum Date: Thu, 16 Jul 2026 05:59:29 +0200 Subject: [PATCH 2/2] or vite 9 --- packages/start/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/start/package.json b/packages/start/package.json index babc047d1..edfb886bc 100644 --- a/packages/start/package.json +++ b/packages/start/package.json @@ -89,6 +89,6 @@ "vitest": "^4.1.0" }, "peerDependencies": { - "vite": "^8" + "vite": "^8 || ^9" } }