Skip to content

chore: flatten SSRManifest - #16878

Merged
teemingc merged 6 commits into
version-3from
flatten-ssrmanifest
Aug 27, 2026
Merged

chore: flatten SSRManifest#16878
teemingc merged 6 commits into
version-3from
flatten-ssrmanifest

Conversation

@ottomated

@ottomated ottomated commented Aug 20, 2026

Copy link
Copy Markdown
Contributor

Now that #16876 makes SSRManifest an internal type, we can remove the _ property and rename everything to snake_case. No changeset because no user impact.


Please don't delete this checklist! Before submitting the PR, please make sure you do the following:

  • 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
  • This message body should clearly illustrate what problems it solves.
  • Ideally, include a test that fails without this PR but passes with it.

Tests

  • 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:.

@pkg-svelte-dev

pkg-svelte-dev Bot commented Aug 20, 2026

Copy link
Copy Markdown

Install the latest version of @sveltejs/kit from 04fd295:

pnpm add https://pkg.svelte.dev/@sveltejs/kit/c/04fd29581795ce00bacee296171c9025f17bfffd

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

@changeset-bot

changeset-bot Bot commented Aug 20, 2026

Copy link
Copy Markdown

⚠️ No Changeset found

Latest commit: 04fd295

Merging this PR will not cause a version bump for any packages. If these changes should not result in a new version, you're good to go. If these changes should result in a version bump, you need to add a changeset.

This PR includes changesets to release 1 package
Name Type
@sveltejs/kit Major

Click here to learn what changesets are, and how to add one.

Click here if you're a maintainer who wants to add a changeset to this PR

@svelte-docs-bot

Copy link
Copy Markdown

@Nic-Polumeyv

Nic-Polumeyv commented Aug 21, 2026

Copy link
Copy Markdown
Contributor

Once this lands I'm planning a follow-up that drops the manifest parameter from internal_respond and the call sites under runtime/server and reads manifest from internal.js instead, same as #16871 did for options

Comment thread packages/kit/types/index.d.ts Outdated
assets: Set<string>;
mimeTypes: Record<string, string>;
/** Map of file extensions to MIME types */
mime_types: Record<string, string>;

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This PR has the unintended side effect of shipping all our internal types in the public type declaration. Is there any way we can avoid this?

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Marking SSRManifest as @internal means we're shipping invalid types, we could mark all of its fields as internal instead?

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Sounds good 😄

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I opened #16951 which should allow us to avoid exporting SSRManifest completely

@ottomated
ottomated requested a review from teemingc August 26, 2026 19:39
Comment thread packages/kit/src/runtime/server/remote-functions.js
@ottomated
ottomated force-pushed the flatten-ssrmanifest branch from 790c9f9 to f98b501 Compare August 26, 2026 20:17
@ottomated
ottomated force-pushed the flatten-ssrmanifest branch from 3180ea8 to a8f9939 Compare August 26, 2026 20:34
@teemingc
teemingc force-pushed the flatten-ssrmanifest branch from a8f9939 to 7091d36 Compare August 27, 2026 06:10
Base automatically changed from private-ssrmanifest to version-3 August 27, 2026 08:58
Building on top of #16878

Removing the constructor lets us remove the `SSRManifest` type
completely from the public types. We still keep it for the internal
`Server` class though

@teemingc teemingc left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nice!

@svelte-triage-bot

Copy link
Copy Markdown
Contributor

I investigated this failed test run and found that test/client.test.js:2305:2 › Shallow routing › Preserves scroll and focus across popstate unless an intervening navigation resets them is flaky.

The test continued after browser traversal as soon as URL and unchanged scroll/focus values matched, before SvelteKit's asynchronous popstate handler had accepted the new history index. Under parallel-worker contention, a later navigation could reuse a stale index and restore scroll y=700 rather than y=400. The verified test-only fix waits until rendered $app/state reflects the traversed popstate. I opened #16954 with a proposed fix.

@teemingc
teemingc merged commit d83dd06 into version-3 Aug 27, 2026
39 of 40 checks passed
@teemingc
teemingc deleted the flatten-ssrmanifest branch August 27, 2026 16:37
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants