feat: add %sveltekit.version% placeholder for template interpolation
Allow app.html to interpolate the version string passed to kit.version.name in svelte.config.js. This makes it easier for static <head> includes for third-party scripts to be passed the current app version, e.g.
<script>
GenericAnalytics.init({
token: "abc123",
application: "web",
version: "%sveltekit.version%",
});
</script>
This is nice ergonomic improvement, but there are several available workarounds:
- set a variable using a globally included
%sveltekit.head% - duplicate the version string to an env variable and use
%sveltekit.env.PUBLIC_VERSION% - do your own pre-templating of
app.htmlinhooks.server
This PR resolves https://github.com/sveltejs/kit/issues/12130.
Please don't delete this checklist! Before submitting the PR, please make sure you do the following:
- [x] It's really useful if your PR references an issue where it is discussed ahead of time. In many cases, features are absent for a reason. For large changes, please create an RFC: https://github.com/sveltejs/rfcs
- [x] This message body should clearly illustrate what problems it solves.
- [ ] Ideally, include a test that fails without this PR but passes with it.
Tests
- [x] Run the tests with
pnpm testand lint the project withpnpm lintandpnpm check
Changesets
- [ ] If your PR makes a change that should be noted in one or more packages' changelogs, generate a changeset by running
pnpm changesetand following the prompts. Changesets that add features should beminorand those that fix bugs should bepatch. Please prefix changeset messages withfeat:,fix:, orchore:.
Edits
- [x] Please ensure that 'Allow edits from maintainers' is checked. PRs without this option may be closed.
🦋 Changeset detected
Latest commit: eda91c8d43559d0f7aef2de6379ba61e9a188ead
The changes in this PR will be included in the next version bump.
This PR includes changesets to release 1 package
| Name | Type |
|---|---|
| @sveltejs/kit | Minor |
Not sure what this means? Click here to learn what changesets are.
Click here if you're a maintainer who wants to add another changeset to this PR
If we did do this it would need to be added to the documentation. I'm not sure if needs to be in the playground though
The main question I have is whether we should add this vs having folks use the layout: https://github.com/sveltejs/kit/issues/12130#issuecomment-2059894722