kit icon indicating copy to clipboard operation
kit copied to clipboard

feat: add %sveltekit.version% placeholder for template interpolation

Open potch opened this issue 10 months ago • 2 comments

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.html in hooks.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 test and lint the project with pnpm lint and pnpm check

Changesets

  • [ ] If your PR makes a change that should be noted in one or more packages' changelogs, generate a changeset by running pnpm changeset and following the prompts. Changesets that add features should be minor and those that fix bugs should be patch. Please prefix changeset messages with feat:, fix:, or chore:.

Edits

  • [x] Please ensure that 'Allow edits from maintainers' is checked. PRs without this option may be closed.

potch avatar Apr 16 '24 20:04 potch