Skip to content

fix: omit ISR data endpoints for server-only routes - #16731

Merged
Rich-Harris merged 5 commits into
sveltejs:version-3from
shixi-li:codex/skip-server-route-isr-data
Aug 20, 2026
Merged

fix: omit ISR data endpoints for server-only routes#16731
Rich-Harris merged 5 commits into
sveltejs:version-3from
shixi-li:codex/skip-server-route-isr-data

Conversation

@shixi-li

Copy link
Copy Markdown
Contributor

closes #12690

Server-only ISR routes do not have a page data endpoint, but the Vercel adapter currently emits a data function, prerender configuration, and routing entry for them.

This change only creates those data-specific ISR artifacts when a route has page methods. The server route main function, prerender configuration, and routing entry remain unchanged.

The build regression adds ISR to the existing API fixture and verifies that its main artifacts are present while its data artifacts are absent. It also verifies that a regular ISR page still keeps its data function and route.


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

  • It is 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 clearly illustrates what problems it solves.
  • Includes a test that fails without this PR but passes with it.

Tests

  • pnpm -C packages/adapter-vercel test
  • pnpm lint
  • pnpm check
  • pnpm -F @sveltejs/kit test:unit

Changesets

  • Added a patch changeset for @sveltejs/adapter-vercel.

Edits

  • Allow edits from maintainers is enabled.

@pkg-svelte-dev

pkg-svelte-dev Bot commented Aug 11, 2026

Copy link
Copy Markdown

Install the latest version of @sveltejs/kit from d6478bd:

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

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

Note

This PR is from a fork. A maintainer must approve approve each commit before it can be built and installed.

@changeset-bot

changeset-bot Bot commented Aug 11, 2026

Copy link
Copy Markdown

🦋 Changeset detected

Latest commit: d6478bd

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

This PR includes changesets to release 1 package
Name Type
@sveltejs/adapter-vercel 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

@teemingc teemingc added the pkg:adapter-vercel Pertaining to the Vercel adapter label Aug 11, 2026
@shixi-li
shixi-li marked this pull request as ready for review August 11, 2026 14:12
@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 11, 2026
@shixi-li
shixi-li force-pushed the codex/skip-server-route-isr-data branch from 4cbac70 to 0e50024 Compare August 12, 2026 02:37
@shixi-li

Copy link
Copy Markdown
Contributor Author

Rebased this PR onto the latest version-3 (bc07967c7) and resolved the one package-script conflict by preserving upstreams removal of the prepare script while retaining this PRs post-build assertion. The functional diff remains scoped to the same five files; git diff --check passes.

I attempted both the adapters complete test command and its focused unit/build halves locally. In this workspace each hung without output until the command timeout/interrupt, so I did not claim a local pass for the rebased head. The previous heads GitHub CI was green; the newly pushed head is 0e50024c9 and will get a fresh CI signal.

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

Additional Suggestion:

Package-level vitest run in adapter-vercel picks up test/apps/basic/build.test.js, which reads .vercel/output/config.json at module load and crashes with ENOENT when no build has run, breaking test:unit/test.

Fix on Vercel

Comment thread packages/adapter-vercel/test/apps/basic/build.test.js Outdated
@svelte-docs-bot

Copy link
Copy Markdown

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

thank you!

@Rich-Harris
Rich-Harris merged commit 8493df4 into sveltejs:version-3 Aug 20, 2026
24 checks passed
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

needs-platform-tests This PR needs to run platform tests in order to merge. pkg:adapter-vercel Pertaining to the Vercel adapter

Projects

None yet

Development

Successfully merging this pull request may close these issues.

adapter-vercel creates ISR symlinks for __data.json files for server routes

4 participants