kit icon indicating copy to clipboard operation
kit copied to clipboard

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

Open potch opened this issue 1 year 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

🦋 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

changeset-bot[bot] avatar Apr 16 '24 20:04 changeset-bot[bot]

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

benmccann avatar Jun 19 '24 19:06 benmccann