Skip to content

breaking: replace the generateManifest adapter api again - #16875

Merged
teemingc merged 18 commits into
version-3from
adapter-generateServer-2
Aug 27, 2026
Merged

breaking: replace the generateManifest adapter api again#16875
teemingc merged 18 commits into
version-3from
adapter-generateServer-2

Conversation

@ottomated

@ottomated ottomated commented Aug 20, 2026

Copy link
Copy Markdown
Contributor

breaking #16843 into smaller pieces

This PR just removes all adapter code that accesses SSRManifest. #16876 is stacked on top of this and actually makes SSRManifest private, which is the end goal.


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 8d7123e:

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

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

@changeset-bot

changeset-bot Bot commented Aug 20, 2026

Copy link
Copy Markdown

🦋 Changeset detected

Latest commit: 8d7123e

The changes in this PR will be included in the next version bump.

This PR includes changesets to release 5 packages
Name Type
@sveltejs/adapter-cloudflare Major
@sveltejs/adapter-netlify Major
@sveltejs/adapter-node Major
@sveltejs/adapter-vercel Major
@sveltejs/kit Major

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

@ottomated ottomated changed the title Adapter generate server 2 breaking: replace the generateManifest adapter api again Aug 20, 2026
@svelte-docs-bot

Copy link
Copy Markdown

Comment thread packages/adapter-cloudflare/index.js Outdated
Comment thread packages/adapter-cloudflare/index.js Outdated
@ottomated
ottomated requested a review from Rich-Harris August 20, 2026 22:13
@elliott-with-the-longest-name-on-github elliott-with-the-longest-name-on-github added the needs-platform-tests This PR needs to run platform tests in order to merge. label Aug 20, 2026

@Nic-Polumeyv Nic-Polumeyv left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

I had AI write these for me, since I wanted to quickly review this, but the issues are my findings, just might be a bit wordy.

The adapter-node build failure is the blocker (first comment, reproduced on 1a17e1f; the suggested change builds and passes the adapter-node tests). The service-worker, mime and $-substitution comments share a cause: builder.manifest and builder.mimeTypes are computed from manifest_data while the generated entry's manifest gets the augmented versions from generate_manifest, so every adapter that switched to the builder getters lost something. Computing both from the same data as generate_manifest fixes all three without exposing the manifest to adapters.

Comment thread packages/kit/src/core/adapt/builder.js Outdated
Comment thread packages/kit/src/exports/vite/index.js Outdated
Comment thread packages/adapter-node/index.js
Comment thread packages/adapter-node/index.js
Comment thread packages/adapter-cloudflare/index.js Outdated
Comment thread packages/adapter-netlify/index.js Outdated
Comment thread packages/kit/src/core/adapt/builder.js
Comment thread packages/kit/src/exports/vite/index.js Outdated
Comment thread documentation/docs/25-build-and-deploy/99-writing-adapters.md Outdated
Comment thread packages/adapter-bun/src/routes-util.js
@ottomated
ottomated force-pushed the adapter-generateServer-2 branch from f33d358 to 4b231f3 Compare August 26, 2026 15:40
@teemingc teemingc added the adapters - general Support for functionality general to all adapters label Aug 26, 2026
Comment thread packages/kit/src/exports/public.d.ts Outdated

@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.

If not in a follow up PR, can we talk about the breaking change in https://next.svelte.dev/docs/kit/migrating-to-sveltekit-3#Adapters (documentation/docs/60-appendix/35-migrating-to-sveltekit-3.md) ?

Comment thread packages/adapter-netlify/index.js Outdated
Comment thread packages/kit/src/core/adapt/builder.js
@teemingc

Copy link
Copy Markdown
Member

/autofix

@ottomated
ottomated force-pushed the adapter-generateServer-2 branch from 25058a9 to 5ec53b0 Compare August 26, 2026 20:15
@ottomated
ottomated requested a review from teemingc August 26, 2026 20:35
Comment thread .changeset/smooth-flies-begin.md Outdated
@teemingc
teemingc merged commit 7f376b1 into version-3 Aug 27, 2026
40 checks passed
@teemingc
teemingc deleted the adapter-generateServer-2 branch August 27, 2026 06:10
teemingc pushed a commit that referenced this pull request Aug 27, 2026
We want `SSRManifest` to be an internal implementation detail rather
than a public type that has to remain stable. #16875 removes all adapter
uses of `SSRManifest`, this PR moves it to `internal.d.ts`.

---

### 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
- [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

- [x] 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:`.


---

<sub>Stack created with <a
href="https://github.com/github/gh-stack">GitHub Stacks CLI</a> • <a
href="https://gh.io/stacks-feedback">Give Feedback 💬</a></sub>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

adapters - general Support for functionality general to all adapters needs-platform-tests This PR needs to run platform tests in order to merge.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants