From 649100730e7dd2346f6f2617207b9c74a441e6fa Mon Sep 17 00:00:00 2001 From: Potch Date: Tue, 16 Apr 2024 13:38:04 -0700 Subject: [PATCH 1/5] feat: Add %sveltekit.version% placeholder for template interpolation --- packages/kit/src/core/sync/write_server.js | 1 + playgrounds/basic/src/app.html | 1 + playgrounds/basic/svelte.config.js | 5 ++++- 3 files changed, 6 insertions(+), 1 deletion(-) diff --git a/packages/kit/src/core/sync/write_server.js b/packages/kit/src/core/sync/write_server.js index 3aa65f9ebe0b..7fe2921e8a57 100644 --- a/packages/kit/src/core/sync/write_server.js +++ b/packages/kit/src/core/sync/write_server.js @@ -51,6 +51,7 @@ export const options = { .replace('%sveltekit.body%', '" + body + "') .replace(/%sveltekit\.assets%/g, '" + assets + "') .replace(/%sveltekit\.nonce%/g, '" + nonce + "') + .replace(/%sveltekit\.version%/g, config.kit.version.name) .replace( /%sveltekit\.env\.([^%]+)%/g, (_match, capture) => `" + (env[${s(capture)}] ?? "") + "` diff --git a/playgrounds/basic/src/app.html b/playgrounds/basic/src/app.html index 6769ed5e89c5..6f9fad7564b8 100644 --- a/playgrounds/basic/src/app.html +++ b/playgrounds/basic/src/app.html @@ -4,6 +4,7 @@ + %sveltekit.head% diff --git a/playgrounds/basic/svelte.config.js b/playgrounds/basic/svelte.config.js index 301e785eb88c..834d5429439a 100644 --- a/playgrounds/basic/svelte.config.js +++ b/playgrounds/basic/svelte.config.js @@ -3,7 +3,10 @@ import adapter from '@sveltejs/adapter-auto'; /** @type {import('@sveltejs/kit').Config} */ const config = { kit: { - adapter: adapter() + adapter: adapter(), + version: { + name: 'playground' + } } }; From 2f4e2c795cbdc85119a271d853feae8fb5f0d44f Mon Sep 17 00:00:00 2001 From: Rich Harris Date: Mon, 15 Sep 2025 18:25:52 -0400 Subject: [PATCH 2/5] docs --- documentation/docs/10-getting-started/30-project-structure.md | 1 + 1 file changed, 1 insertion(+) diff --git a/documentation/docs/10-getting-started/30-project-structure.md b/documentation/docs/10-getting-started/30-project-structure.md index f12af5695942..665a96a0497b 100644 --- a/documentation/docs/10-getting-started/30-project-structure.md +++ b/documentation/docs/10-getting-started/30-project-structure.md @@ -52,6 +52,7 @@ The `src` directory contains the meat of your project. Everything except `src/ro - `error.html` is the page that is rendered when everything else fails. It can contain the following placeholders: - `%sveltekit.status%` — the HTTP status - `%sveltekit.error.message%` — the error message + - `%sveltekit.version%` — the deployment version, which can be specified with the [`version`](configuration#version) configuration - `hooks.client.js` contains your client [hooks](hooks) - `hooks.server.js` contains your server [hooks](hooks) - `service-worker.js` contains your [service worker](service-workers) From 2ee3acf8f4d49a08c677fe495f63717b1bf0efed Mon Sep 17 00:00:00 2001 From: Rich Harris Date: Mon, 15 Sep 2025 18:27:14 -0400 Subject: [PATCH 3/5] changeset --- .changeset/twelve-cows-hear.md | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 .changeset/twelve-cows-hear.md diff --git a/.changeset/twelve-cows-hear.md b/.changeset/twelve-cows-hear.md new file mode 100644 index 000000000000..48caf8dd32bb --- /dev/null +++ b/.changeset/twelve-cows-hear.md @@ -0,0 +1,5 @@ +--- +'@sveltejs/kit': minor +--- + +feat: add `%sveltekit.version%` to `app.html` From 6bf3895bda8cd6b8318ae26dfc8e06f7bdf1c08f Mon Sep 17 00:00:00 2001 From: Rich Harris Date: Mon, 15 Sep 2025 18:35:26 -0400 Subject: [PATCH 4/5] oops --- playgrounds/basic/src/app.html | 1 - 1 file changed, 1 deletion(-) diff --git a/playgrounds/basic/src/app.html b/playgrounds/basic/src/app.html index 758f07d5da63..77a5ff52c923 100644 --- a/playgrounds/basic/src/app.html +++ b/playgrounds/basic/src/app.html @@ -4,7 +4,6 @@ - %sveltekit.head% From eda91c8d43559d0f7aef2de6379ba61e9a188ead Mon Sep 17 00:00:00 2001 From: Rich Harris Date: Mon, 15 Sep 2025 18:41:27 -0400 Subject: [PATCH 5/5] escape --- packages/kit/src/core/sync/write_server.js | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/packages/kit/src/core/sync/write_server.js b/packages/kit/src/core/sync/write_server.js index 983ee281acd1..9abf9bae7b88 100644 --- a/packages/kit/src/core/sync/write_server.js +++ b/packages/kit/src/core/sync/write_server.js @@ -7,6 +7,7 @@ import { load_error_page, load_template } from '../config/index.js'; import { runtime_directory } from '../utils.js'; import { isSvelte5Plus, write_if_changed } from './utils.js'; import colors from 'kleur'; +import { escape_html } from '../../utils/escape.js'; /** * @param {{ @@ -54,7 +55,7 @@ export const options = { .replace('%sveltekit.body%', '" + body + "') .replace(/%sveltekit\.assets%/g, '" + assets + "') .replace(/%sveltekit\.nonce%/g, '" + nonce + "') - .replace(/%sveltekit\.version%/g, config.kit.version.name) + .replace(/%sveltekit\.version%/g, escape_html(config.kit.version.name)) .replace( /%sveltekit\.env\.([^%]+)%/g, (_match, capture) => `" + (env[${s(capture)}] ?? "") + "`