From b8163e540cbf812172fb6805d6e2798377954729 Mon Sep 17 00:00:00 2001 From: Birk Skyum Date: Mon, 30 Mar 2026 12:16:11 +0200 Subject: [PATCH 1/2] fix: rolldown-dep-scan-compat --- src/index.ts | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/src/index.ts b/src/index.ts index 7910275..17e2ea7 100644 --- a/src/index.ts +++ b/src/index.ts @@ -14,7 +14,9 @@ const runtimePublicPath = '/@solid-refresh'; const runtimeFilePath = require.resolve('solid-refresh/dist/solid-refresh.mjs'); const runtimeCode = readFileSync(runtimeFilePath, 'utf-8'); -const isVite6 = +version.split('.')[0] >= 6; +const viteVersionMajor = +version.split('.')[0]; +const isVite6 = viteVersionMajor >= 6; +const isVite8 = viteVersionMajor >= 8; /** Possible options for the extensions property */ export interface ExtensionOptions { @@ -277,6 +279,13 @@ export default function solidPlugin(options: Partial = {}): Plugin { optimizeDeps: { include: [...nestedDeps, ...solidPkgsConfig.optimizeDeps.include], exclude: solidPkgsConfig.optimizeDeps.exclude, + // Vite 8+ uses Rolldown for dependency scanning. Rolldown defaults to + // React's automatic JSX runtime for .tsx files, injecting a + // react/jsx-dev-runtime import. Tell it to preserve JSX as-is since + // this plugin handles JSX transformation via babel-preset-solid. + ...(isVite8 + ? { rolldownOptions: { transform: { jsx: 'preserve' as const } } } + : {}), }, ...(!isVite6 ? { ssr: solidPkgsConfig.ssr } : {}), ...(test.server ? { test } : {}), From 26597319f56eac902fa4c52501b23b59b1159ac3 Mon Sep 17 00:00:00 2001 From: Birk Skyum Date: Mon, 30 Mar 2026 12:16:54 +0200 Subject: [PATCH 2/2] fix: preserve jsx for rolldown dep scan --- .changeset/great-eggs-applaud.md | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 .changeset/great-eggs-applaud.md diff --git a/.changeset/great-eggs-applaud.md b/.changeset/great-eggs-applaud.md new file mode 100644 index 0000000..9d90f97 --- /dev/null +++ b/.changeset/great-eggs-applaud.md @@ -0,0 +1,5 @@ +--- +'vite-plugin-solid': patch +--- + +fix: preserve jsx for rolldown dep scan