Skip to content

chore: read build-time config from defines instead of SSROptions - #16873

Merged
Rich-Harris merged 1 commit into
version-3from
options-globalname
Aug 21, 2026
Merged

chore: read build-time config from defines instead of SSROptions#16873
Rich-Harris merged 1 commit into
version-3from
options-globalname

Conversation

@Nic-Polumeyv

@Nic-Polumeyv Nic-Polumeyv commented Aug 20, 2026

Copy link
Copy Markdown
Contributor

Several SSROptions fields are build-time constants that already exist as defines for the client, __SVELTEKIT_EMBEDDED__ and __SVELTEKIT_HASH_ROUTING__. The server took a second route to the same values through options, though app/paths/internal/server.js already reads __SVELTEKIT_APP_DIR__. This moves the server onto those two and adds defines for csrf_check_origin, link_header_preload, paths_origin and service_worker.

The app's global name was derived in five places: exports/vite/index.js twice, core/env.js twice, and runtime/server/utils.js in get_global_name, which read it back out of SSROptions.version_hash. Two of them called hash(config.version.name) separately. get_global_name(version_name, dev) in core/utils.js is now the only derivation, and the server reads the result through __SVELTEKIT_GLOBAL_NAME__. SSROptions.version had no readers at all.

csp, csrf_trusted_origins, service_worker_options and templates stay put: a define is a textual substitution, so a structured value gets re-inlined at every read.

Stacked on #16871.

@pkg-svelte-dev

pkg-svelte-dev Bot commented Aug 20, 2026

Copy link
Copy Markdown

Install the latest version of @sveltejs/kit from 8a0b079:

pnpm add https://pkg.svelte.dev/@sveltejs/kit/c/8a0b079beb386aebb3540ae71ed983e3ed95a88f

Open in pkg.svelte.dev: https://pkg.svelte.dev/repos/kit/pr/16873

@changeset-bot

changeset-bot Bot commented Aug 20, 2026

Copy link
Copy Markdown

🦋 Changeset detected

Latest commit: 8a0b079

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 Patch

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

@svelte-docs-bot

Copy link
Copy Markdown

@Nic-Polumeyv Nic-Polumeyv changed the title chore: derive the app's global name in one place chore: read build-time config from defines instead of SSROptions Aug 20, 2026
Base automatically changed from options-singleton to version-3 August 20, 2026 23:08
@Rich-Harris
Rich-Harris merged commit 4b7a483 into version-3 Aug 21, 2026
72 of 73 checks passed
@Rich-Harris
Rich-Harris deleted the options-globalname branch August 21, 2026 00:29
@Rich-Harris

Copy link
Copy Markdown
Member

love this

Rich-Harris pushed a commit that referenced this pull request Aug 21, 2026
This PR was opened by the [Changesets
release](https://github.com/changesets/action) GitHub action. When
you're ready to do a release, you can merge this and the packages will
be published to npm automatically. If you're not ready to do a release
yet, that's fine, whenever you add more changesets to version-3, this PR
will be updated.

⚠️⚠️⚠️⚠️⚠️⚠️

`version-3` is currently in **pre mode** so this branch has prereleases
rather than normal releases. If you want to exit prereleases, run
`changeset pre exit` on `version-3`.

⚠️⚠️⚠️⚠️⚠️⚠️

# Releases
## @sveltejs/adapter-bun@1.0.0-next.1

### Minor Changes

- feat: add a Bun-native adapter with static file serving and
single-executable support
([#16695](#16695))

### Patch Changes

- Updated dependencies
[[`9b3d195`](9b3d195),
[`385d378`](385d378),
[`3782448`](3782448),
[`d0d3a33`](d0d3a33),
[`4b7a483`](4b7a483),
[`e325d7d`](e325d7d),
[`4f63c79`](4f63c79)]:
  - @sveltejs/kit@3.0.0-next.25
## @sveltejs/kit@3.0.0-next.25

### Minor Changes

- feat: add an `applyReroute` helper for adapters that support split
serverless function deployments
([#16665](#16665))

### Patch Changes

- chore: build streamed responses from async generators
([#16847](#16847))

- fix: tweak response logging for remote requests
([#16865](#16865))

- fix: discard invalidation results when a navigation completes while
they load ([#16852](#16852))

- fix: route dev-server response logging through Vite's logger so it
respects `logLevel` and `customLogger`
([#16858](#16858))

- chore: read build-time config from defines on the server instead of
carrying it in `options`
([#16873](#16873))

- chore: read `options` from a single module instead of passing it
through the server runtime
([#16871](#16871))
## @sveltejs/adapter-netlify@7.0.0-next.10

### Patch Changes

- fix: correctly apply `reroute` results for apps configured with split
serverless functions
([#16665](#16665))
- Updated dependencies
[[`9b3d195`](9b3d195),
[`385d378`](385d378),
[`3782448`](3782448),
[`d0d3a33`](d0d3a33),
[`4b7a483`](4b7a483),
[`e325d7d`](e325d7d),
[`4f63c79`](4f63c79)]:
  - @sveltejs/kit@3.0.0-next.25
## @sveltejs/adapter-vercel@7.0.0-next.8

### Patch Changes

- fix: omit ISR data endpoints for server-only routes
([#16731](#16731))

- fix: correctly apply `reroute` results for apps configured with split
serverless functions
([#16665](#16665))
- Updated dependencies
[[`9b3d195`](9b3d195),
[`385d378`](385d378),
[`3782448`](3782448),
[`d0d3a33`](d0d3a33),
[`4b7a483`](4b7a483),
[`e325d7d`](e325d7d),
[`4f63c79`](4f63c79)]:
  - @sveltejs/kit@3.0.0-next.25

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants