Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

fix: avoid running load functions when prerendering if no server load function exists and SSR is off #11405

Merged
merged 6 commits into from
Dec 21, 2023

Conversation

eltigerchino
Copy link
Member

@eltigerchino eltigerchino commented Dec 19, 2023

fixes #11083

This PR builds upon the previous PR #10988 where we wanted to generate the server __data.json file even when SSR is turned off. However, if there are no server load functions and SSR is off, we should not attempt to generate this data (and avoid running those load functions during build). This will return the previous behaviour of rendering an SPA shell page when SSR is off only if there are no server load functions.

TODO: need to figure out a test for this. I'm not sure how to write one that checks the prerendered page is an app shell.

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

Copy link

changeset-bot bot commented Dec 19, 2023

🦋 Changeset detected

Latest commit: 8c89798

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

@eltigerchino eltigerchino changed the title fix: don't run load functions if SSR is false and there are no server load functions fix: avoid running load functions when prerendering and SSR is off if no server load function exists Dec 19, 2023
@eltigerchino eltigerchino changed the title fix: avoid running load functions when prerendering and SSR is off if no server load function exists fix: avoid running load functions if no server load function exists when prerendering is true but SSR is off Dec 19, 2023
@eltigerchino eltigerchino changed the title fix: avoid running load functions if no server load function exists when prerendering is true but SSR is off fix: avoid running load functions when prerendering if no server load function exists and SSR is off Dec 20, 2023
Copy link
Member

@benmccann benmccann left a comment

Choose a reason for hiding this comment

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

thanks!!

@benmccann benmccann merged commit b999cfd into main Dec 21, 2023
13 checks passed
@benmccann benmccann deleted the fix-no-ssr-regression branch December 21, 2023 16:28
@github-actions github-actions bot mentioned this pull request Dec 21, 2023
eltigerchino added a commit that referenced this pull request Jan 9, 2024
eltigerchino added a commit that referenced this pull request Jan 15, 2024
* add ability to copy server assets per route

* changeset

* fix test

* fix doc

* fix asset copying

* change process dir when using vite preview

* remove process.chdir from vite preview

* include assets used by default error pages

* fix doc link

* better doc example

* fix doc type

* ok for real

* add tests for vercel adapter

* prettier

* fix tests

* fix types

* more type fixes

* try this

* documentation

* skip adapter-vercel tests if on node v20

* oopsie wrong PR

* move server asset metadata resolving to function

* update changesets

* revert builder test fixes

* fix lockfile

* prettier

* lint

* fix vercel tsc errors

* prepublish only

* fix: avoid running load functions when prerendering if no server load function exists and SSR is off (#11405)

* chore: upgrade eslint-plugin-unicorn (#11432)

* Version Packages (#11420)

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>

* chore(deps): update dependency worktop to v0.8.0-next.16 (#11437)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* i don't think we need this any more (#11439)

Co-authored-by: Rich Harris <rich.harris@vercel.com>

* fix: only disallow dynamic env access when prerendering (#11436)

* only disallow dynamic env access when prerendering

* changeset

* add test

* sigh

---------

Co-authored-by: Rich Harris <rich.harris@vercel.com>

* docs: fix links to sveltesociety.dev (#11441)

* Version Packages (#11442)

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>

* fix: set ESLint config type to `Config` instead of `FlatConfig` (#11453)

* Version Packages (#11457)

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>

* fix: improve warning when encountering import.meta.env (#11440)

* empty commit (#11469)

Co-authored-by: Rich Harris <rich.harris@vercel.com>

* fix form actions docs (#11470)

Co-authored-by: Rich Harris <rich.harris@vercel.com>

* Version Packages (#11468)

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>

* chore(deps): update pnpm to v8.13.1 (#11471)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* docs: add performance page (#11424)

* docs: add performance page

* address minor feedback issues

* lazy loading and waterfalls

* prefetching

* Apply suggestions from code review

* Apply suggestions from code review

* various

* tweak

* MDN page says nothing about lazy-loading videos

* fix link

* Update documentation/docs/40-best-practices/05-performance.md

Co-authored-by: Ben McCann <322311+benmccann@users.noreply.github.com>

* move images page

* Update documentation/docs/40-best-practices/05-performance.md

Co-authored-by: Ben McCann <322311+benmccann@users.noreply.github.com>

* update font section (no point mentioning font-display without a recommended value)

* various tweaks

---------

Co-authored-by: Rich Harris <richard.a.harris@gmail.com>
Co-authored-by: Rich Harris <rich.harris@vercel.com>

* chore(deps): update pnpm to v8.14.0 (#11504)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* feat: use latest Azure adapter in adapter-auto (#11496)

* fix: update @vercel/nft to 0.26.1 (#11508)

* Version Packages (#11507)

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>

* exclude universal nodes

* include assets imported by server hooks

* update adapter-vercel tests

* fix tests

* fix and add test for server hooks assets

* update adapter-vercel test app packages

* im gonna lose my mind

* ignore hashes for filenames in tests

* oops

* fix tests?

* revert adapter-vercel types fix

* improve readability of route asset for loop

* simplify file reading in serverless functions example

---------

Co-authored-by: Ben McCann <322311+benmccann@users.noreply.github.com>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Rich Harris <richard.a.harris@gmail.com>
Co-authored-by: Rich Harris <rich.harris@vercel.com>
Co-authored-by: Geoff Rich <4992896+geoffrich@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.

Build process fails after attempting to prerender auth endpoints
2 participants