diff --git a/.changeset/drop-internal-nonce-helpers.md b/.changeset/drop-internal-nonce-helpers.md new file mode 100644 index 000000000..f16015ebb --- /dev/null +++ b/.changeset/drop-internal-nonce-helpers.md @@ -0,0 +1,5 @@ +--- +"@solidjs/web": patch +--- + +Remove the internal `scriptNonce`/`styleNonce` exports from the server build. They stayed exported after #4016 only because `@solidjs/vite-plugin` ≤ 3.0.0-next.49 imported them. 3.0.0-next.50 projects the nonce itself (solidjs/solid-vite-plugin#409). Apps must use `@solidjs/vite-plugin` 3.0.0-next.50 or later with this release. diff --git a/examples/board/package.json b/examples/board/package.json index 321404423..3cce585e7 100644 --- a/examples/board/package.json +++ b/examples/board/package.json @@ -20,7 +20,7 @@ "unstorage": "^1.17.5" }, "devDependencies": { - "@solidjs/vite-plugin": "3.0.0-next.49", + "@solidjs/vite-plugin": "3.0.0-next.50", "@vitejs/plugin-basic-ssl": "^2.3.0", "vite": "^8.0.0" } diff --git a/examples/chat/package.json b/examples/chat/package.json index 9b31e1d46..d3fbc08d2 100644 --- a/examples/chat/package.json +++ b/examples/chat/package.json @@ -24,7 +24,7 @@ "unstorage": "^1.17.5" }, "devDependencies": { - "@solidjs/vite-plugin": "3.0.0-next.49", + "@solidjs/vite-plugin": "3.0.0-next.50", "@vitejs/plugin-basic-ssl": "^2.3.0", "vite": "^8.0.0" } diff --git a/examples/effect/package.json b/examples/effect/package.json index c7b136124..5d56dc83d 100644 --- a/examples/effect/package.json +++ b/examples/effect/package.json @@ -16,7 +16,7 @@ "effect": "^3.22.0" }, "devDependencies": { - "@solidjs/vite-plugin": "3.0.0-next.49", + "@solidjs/vite-plugin": "3.0.0-next.50", "@solidjs/web": "workspace:*", "@types/node": "^25.6.0", "solid-js": "workspace:*", diff --git a/examples/hackernews-spa/package.json b/examples/hackernews-spa/package.json index 3c9a0069c..85569cc3d 100644 --- a/examples/hackernews-spa/package.json +++ b/examples/hackernews-spa/package.json @@ -18,7 +18,7 @@ "solid-js": "workspace:*" }, "devDependencies": { - "@solidjs/vite-plugin": "3.0.0-next.49", + "@solidjs/vite-plugin": "3.0.0-next.50", "vite": "^8.0.0" } } diff --git a/examples/hackernews/package.json b/examples/hackernews/package.json index 69c41d5d3..1580e8004 100644 --- a/examples/hackernews/package.json +++ b/examples/hackernews/package.json @@ -18,7 +18,7 @@ "solid-js": "workspace:*" }, "devDependencies": { - "@solidjs/vite-plugin": "3.0.0-next.49", + "@solidjs/vite-plugin": "3.0.0-next.50", "vite": "^8.0.0" } } diff --git a/examples/migrating-element/package.json b/examples/migrating-element/package.json index 9f519b923..327c698ce 100644 --- a/examples/migrating-element/package.json +++ b/examples/migrating-element/package.json @@ -13,7 +13,7 @@ "typecheck": "tsc --noEmit -p tsconfig.json" }, "devDependencies": { - "@solidjs/vite-plugin": "3.0.0-next.49", + "@solidjs/vite-plugin": "3.0.0-next.50", "@solidjs/web": "workspace:*", "@types/node": "^25.6.0", "solid-js": "workspace:*", diff --git a/examples/notes/package.json b/examples/notes/package.json index ca9cedb4e..4d8a518fe 100644 --- a/examples/notes/package.json +++ b/examples/notes/package.json @@ -21,7 +21,7 @@ "unstorage": "^1.17.5" }, "devDependencies": { - "@solidjs/vite-plugin": "3.0.0-next.49", + "@solidjs/vite-plugin": "3.0.0-next.50", "vite": "^8.0.0" } } diff --git a/examples/rendering/package.json b/examples/rendering/package.json index f97d09246..f00b8028a 100644 --- a/examples/rendering/package.json +++ b/examples/rendering/package.json @@ -20,7 +20,7 @@ "clean": "rimraf */dist/" }, "devDependencies": { - "@solidjs/vite-plugin": "3.0.0-next.49", + "@solidjs/vite-plugin": "3.0.0-next.50", "@solidjs/web": "workspace:*", "@types/node": "^25.6.0", "rimraf": "^3.0.2", diff --git a/examples/room/package.json b/examples/room/package.json index 1b185e912..57a4da4a0 100644 --- a/examples/room/package.json +++ b/examples/room/package.json @@ -18,7 +18,7 @@ "solid-js": "workspace:*" }, "devDependencies": { - "@solidjs/vite-plugin": "3.0.0-next.49", + "@solidjs/vite-plugin": "3.0.0-next.50", "@vitejs/plugin-basic-ssl": "^2.3.0", "vite": "^8.0.0" } diff --git a/examples/sierpinski/package.json b/examples/sierpinski/package.json index 5e6cbee30..6e43404a2 100644 --- a/examples/sierpinski/package.json +++ b/examples/sierpinski/package.json @@ -13,7 +13,7 @@ "typecheck": "tsc --noEmit -p tsconfig.json" }, "devDependencies": { - "@solidjs/vite-plugin": "3.0.0-next.49", + "@solidjs/vite-plugin": "3.0.0-next.50", "@solidjs/web": "workspace:*", "@types/node": "^25.6.0", "solid-js": "workspace:*", diff --git a/examples/todos-server/package.json b/examples/todos-server/package.json index 921e00e77..d9597df58 100644 --- a/examples/todos-server/package.json +++ b/examples/todos-server/package.json @@ -19,7 +19,7 @@ "unstorage": "^1.17.5" }, "devDependencies": { - "@solidjs/vite-plugin": "3.0.0-next.49", + "@solidjs/vite-plugin": "3.0.0-next.50", "vite": "^8.0.0" } } diff --git a/examples/todos/package.json b/examples/todos/package.json index bb885ffe4..583bb9b29 100644 --- a/examples/todos/package.json +++ b/examples/todos/package.json @@ -13,7 +13,7 @@ "typecheck": "tsc --noEmit -p tsconfig.json" }, "devDependencies": { - "@solidjs/vite-plugin": "3.0.0-next.49", + "@solidjs/vite-plugin": "3.0.0-next.50", "@solidjs/web": "workspace:*", "@types/node": "^25.6.0", "solid-js": "workspace:*", diff --git a/packages/web/src/server.ts b/packages/web/src/server.ts index 2cf01bf7a..2ce494a5f 100644 --- a/packages/web/src/server.ts +++ b/packages/web/src/server.ts @@ -1450,29 +1450,6 @@ function destinationNonce(nonce, destination) { return typeof value === "string" && value ? value : undefined; } -/** - * The script half of a `CSPNonce`. The surfaces that emit one script take a - * `CSPNonce` and project it themselves; this stays exported only for - * `@solidjs/vite-plugin`'s generated handler, which still imports it. - * @internal - */ -export function scriptNonce(nonce?: CSPNonce): string | undefined; - -export function scriptNonce(nonce) { - return destinationNonce(nonce, "script"); -} - -/** - * The style half of a `CSPNonce`. Exported only for - * `@solidjs/vite-plugin`'s generated handler, which still imports it. - * @internal - */ -export function styleNonce(nonce?: CSPNonce): string | undefined; - -export function styleNonce(nonce) { - return destinationNonce(nonce, "style"); -} - // Attribute names are ASCII case-insensitive, so a caller-supplied `Nonce` // counts as one too. function hasNonceProp(props) { @@ -3502,7 +3479,7 @@ export function HydrationScript(props) { nonce: sharedConfig.context && sharedConfig.context.nonce, ...props }; - return ssr(hydrationBootstrap(eventNames, scriptNonce(nonce), true)); + return ssr(hydrationBootstrap(eventNames, destinationNonce(nonce, "script"), true)); } export function ssrGroup any[]>(fn: T, n: number): T; @@ -5895,7 +5872,7 @@ export function generateHydrationScript(options?: { // `unhandledrejection` from the inline script alone, and a handler attached // later only revokes the report. A consumer still meets the rejection. export function generateHydrationScript({ eventNames, nonce } = {}) { - return hydrationBootstrap(eventNames, scriptNonce(nonce), false); + return hydrationBootstrap(eventNames, destinationNonce(nonce, "script"), false); } // `ledger` (#3971): only an in-render declares `_$HY.s`, diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 83747c8a4..15ea8d34d 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -122,8 +122,8 @@ importers: version: 1.17.5 devDependencies: '@solidjs/vite-plugin': - specifier: 3.0.0-next.49 - version: 3.0.0-next.49(@solidjs/web@packages+web)(@testing-library/jest-dom@6.9.1)(solid-js@packages+solid)(vite@8.1.5(@types/node@25.6.0)(esbuild@0.27.7)(terser@5.49.0)) + specifier: 3.0.0-next.50 + version: 3.0.0-next.50(@solidjs/web@packages+web)(@testing-library/jest-dom@6.9.1)(solid-js@packages+solid)(vite@8.1.5(@types/node@25.6.0)(esbuild@0.27.7)(terser@5.49.0)) '@vitejs/plugin-basic-ssl': specifier: ^2.3.0 version: 2.3.0(vite@8.1.5(@types/node@25.6.0)(esbuild@0.27.7)(terser@5.49.0)) @@ -156,8 +156,8 @@ importers: version: 1.17.5 devDependencies: '@solidjs/vite-plugin': - specifier: 3.0.0-next.49 - version: 3.0.0-next.49(@solidjs/web@packages+web)(@testing-library/jest-dom@6.9.1)(solid-js@packages+solid)(vite@8.1.5(@types/node@25.6.0)(esbuild@0.27.7)(terser@5.49.0)) + specifier: 3.0.0-next.50 + version: 3.0.0-next.50(@solidjs/web@packages+web)(@testing-library/jest-dom@6.9.1)(solid-js@packages+solid)(vite@8.1.5(@types/node@25.6.0)(esbuild@0.27.7)(terser@5.49.0)) '@vitejs/plugin-basic-ssl': specifier: ^2.3.0 version: 2.3.0(vite@8.1.5(@types/node@25.6.0)(esbuild@0.27.7)(terser@5.49.0)) @@ -172,8 +172,8 @@ importers: version: 3.22.1 devDependencies: '@solidjs/vite-plugin': - specifier: 3.0.0-next.49 - version: 3.0.0-next.49(@solidjs/web@packages+web)(@testing-library/jest-dom@6.9.1)(solid-js@packages+solid)(vite@8.1.5(@types/node@25.6.0)(esbuild@0.27.7)(terser@5.49.0)) + specifier: 3.0.0-next.50 + version: 3.0.0-next.50(@solidjs/web@packages+web)(@testing-library/jest-dom@6.9.1)(solid-js@packages+solid)(vite@8.1.5(@types/node@25.6.0)(esbuild@0.27.7)(terser@5.49.0)) '@solidjs/web': specifier: workspace:* version: link:../../packages/web @@ -203,8 +203,8 @@ importers: version: link:../../packages/solid devDependencies: '@solidjs/vite-plugin': - specifier: 3.0.0-next.49 - version: 3.0.0-next.49(@solidjs/web@packages+web)(@testing-library/jest-dom@6.9.1)(solid-js@packages+solid)(vite@8.1.5(@types/node@25.6.0)(esbuild@0.27.7)(terser@5.49.0)) + specifier: 3.0.0-next.50 + version: 3.0.0-next.50(@solidjs/web@packages+web)(@testing-library/jest-dom@6.9.1)(solid-js@packages+solid)(vite@8.1.5(@types/node@25.6.0)(esbuild@0.27.7)(terser@5.49.0)) vite: specifier: ^8.0.0 version: 8.1.5(@types/node@25.6.0)(esbuild@0.27.7)(terser@5.49.0) @@ -222,8 +222,8 @@ importers: version: link:../../packages/solid devDependencies: '@solidjs/vite-plugin': - specifier: 3.0.0-next.49 - version: 3.0.0-next.49(@solidjs/web@packages+web)(@testing-library/jest-dom@6.9.1)(solid-js@packages+solid)(vite@8.1.5(@types/node@25.6.0)(esbuild@0.27.7)(terser@5.49.0)) + specifier: 3.0.0-next.50 + version: 3.0.0-next.50(@solidjs/web@packages+web)(@testing-library/jest-dom@6.9.1)(solid-js@packages+solid)(vite@8.1.5(@types/node@25.6.0)(esbuild@0.27.7)(terser@5.49.0)) vite: specifier: ^8.0.0 version: 8.1.5(@types/node@25.6.0)(esbuild@0.27.7)(terser@5.49.0) @@ -231,8 +231,8 @@ importers: examples/migrating-element: devDependencies: '@solidjs/vite-plugin': - specifier: 3.0.0-next.49 - version: 3.0.0-next.49(@solidjs/web@packages+web)(@testing-library/jest-dom@6.9.1)(solid-js@packages+solid)(vite@8.1.5(@types/node@25.6.0)(esbuild@0.27.7)(terser@5.49.0)) + specifier: 3.0.0-next.50 + version: 3.0.0-next.50(@solidjs/web@packages+web)(@testing-library/jest-dom@6.9.1)(solid-js@packages+solid)(vite@8.1.5(@types/node@25.6.0)(esbuild@0.27.7)(terser@5.49.0)) '@solidjs/web': specifier: workspace:* version: link:../../packages/web @@ -271,8 +271,8 @@ importers: version: 1.17.5 devDependencies: '@solidjs/vite-plugin': - specifier: 3.0.0-next.49 - version: 3.0.0-next.49(@solidjs/web@packages+web)(@testing-library/jest-dom@6.9.1)(solid-js@packages+solid)(vite@8.1.5(@types/node@25.6.0)(esbuild@0.27.7)(terser@5.49.0)) + specifier: 3.0.0-next.50 + version: 3.0.0-next.50(@solidjs/web@packages+web)(@testing-library/jest-dom@6.9.1)(solid-js@packages+solid)(vite@8.1.5(@types/node@25.6.0)(esbuild@0.27.7)(terser@5.49.0)) vite: specifier: ^8.0.0 version: 8.1.5(@types/node@25.6.0)(esbuild@0.27.7)(terser@5.49.0) @@ -280,8 +280,8 @@ importers: examples/rendering: devDependencies: '@solidjs/vite-plugin': - specifier: 3.0.0-next.49 - version: 3.0.0-next.49(@solidjs/web@packages+web)(@testing-library/jest-dom@6.9.1)(solid-js@packages+solid)(vite@8.1.5(@types/node@25.6.0)(esbuild@0.27.7)(terser@5.49.0)) + specifier: 3.0.0-next.50 + version: 3.0.0-next.50(@solidjs/web@packages+web)(@testing-library/jest-dom@6.9.1)(solid-js@packages+solid)(vite@8.1.5(@types/node@25.6.0)(esbuild@0.27.7)(terser@5.49.0)) '@solidjs/web': specifier: workspace:* version: link:../../packages/web @@ -314,8 +314,8 @@ importers: version: link:../../packages/solid devDependencies: '@solidjs/vite-plugin': - specifier: 3.0.0-next.49 - version: 3.0.0-next.49(@solidjs/web@packages+web)(@testing-library/jest-dom@6.9.1)(solid-js@packages+solid)(vite@8.1.5(@types/node@25.6.0)(esbuild@0.27.7)(terser@5.49.0)) + specifier: 3.0.0-next.50 + version: 3.0.0-next.50(@solidjs/web@packages+web)(@testing-library/jest-dom@6.9.1)(solid-js@packages+solid)(vite@8.1.5(@types/node@25.6.0)(esbuild@0.27.7)(terser@5.49.0)) '@vitejs/plugin-basic-ssl': specifier: ^2.3.0 version: 2.3.0(vite@8.1.5(@types/node@25.6.0)(esbuild@0.27.7)(terser@5.49.0)) @@ -326,8 +326,8 @@ importers: examples/sierpinski: devDependencies: '@solidjs/vite-plugin': - specifier: 3.0.0-next.49 - version: 3.0.0-next.49(@solidjs/web@packages+web)(@testing-library/jest-dom@6.9.1)(solid-js@packages+solid)(vite@8.1.5(@types/node@25.6.0)(esbuild@0.27.7)(terser@5.49.0)) + specifier: 3.0.0-next.50 + version: 3.0.0-next.50(@solidjs/web@packages+web)(@testing-library/jest-dom@6.9.1)(solid-js@packages+solid)(vite@8.1.5(@types/node@25.6.0)(esbuild@0.27.7)(terser@5.49.0)) '@solidjs/web': specifier: workspace:* version: link:../../packages/web @@ -347,8 +347,8 @@ importers: examples/todos: devDependencies: '@solidjs/vite-plugin': - specifier: 3.0.0-next.49 - version: 3.0.0-next.49(@solidjs/web@packages+web)(@testing-library/jest-dom@6.9.1)(solid-js@packages+solid)(vite@8.1.5(@types/node@25.6.0)(esbuild@0.27.7)(terser@5.49.0)) + specifier: 3.0.0-next.50 + version: 3.0.0-next.50(@solidjs/web@packages+web)(@testing-library/jest-dom@6.9.1)(solid-js@packages+solid)(vite@8.1.5(@types/node@25.6.0)(esbuild@0.27.7)(terser@5.49.0)) '@solidjs/web': specifier: workspace:* version: link:../../packages/web @@ -381,8 +381,8 @@ importers: version: 1.17.5 devDependencies: '@solidjs/vite-plugin': - specifier: 3.0.0-next.49 - version: 3.0.0-next.49(@solidjs/web@packages+web)(@testing-library/jest-dom@6.9.1)(solid-js@packages+solid)(vite@8.1.5(@types/node@25.6.0)(esbuild@0.27.7)(terser@5.49.0)) + specifier: 3.0.0-next.50 + version: 3.0.0-next.50(@solidjs/web@packages+web)(@testing-library/jest-dom@6.9.1)(solid-js@packages+solid)(vite@8.1.5(@types/node@25.6.0)(esbuild@0.27.7)(terser@5.49.0)) vite: specifier: ^8.0.0 version: 8.1.5(@types/node@25.6.0)(esbuild@0.27.7)(terser@5.49.0) @@ -2435,8 +2435,8 @@ packages: '@testing-library/jest-dom': optional: true - '@solidjs/vite-plugin@3.0.0-next.49': - resolution: {integrity: sha512-s50Tz24Nh061/lTSvG6VyVIAraQ4gYnnwjUCe2XfDAHY2jD85vYIckJiH1XV4ZnF4I79PaOsSoa7HhzZGO99+w==} + '@solidjs/vite-plugin@3.0.0-next.50': + resolution: {integrity: sha512-eCtI4SwZOCnhwFist0WpUtAf/HPQ26z74XOtzm3z41FFJdKprHEMEVKw8NKfViwp9mecMK4FLZSm6k6OY4yBsA==} engines: {node: '>=22.12.0'} peerDependencies: '@solidjs/start-devtools': ^1.0.0-next.2 @@ -6115,7 +6115,7 @@ snapshots: transitivePeerDependencies: - supports-color - '@solidjs/vite-plugin@3.0.0-next.49(@solidjs/web@packages+web)(@testing-library/jest-dom@6.9.1)(solid-js@packages+solid)(vite@8.1.5(@types/node@25.6.0)(esbuild@0.27.7)(terser@5.49.0))': + '@solidjs/vite-plugin@3.0.0-next.50(@solidjs/web@packages+web)(@testing-library/jest-dom@6.9.1)(solid-js@packages+solid)(vite@8.1.5(@types/node@25.6.0)(esbuild@0.27.7)(terser@5.49.0))': dependencies: '@ampproject/remapping': 2.3.0 '@babel/core': 7.29.0