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

Update docs to show how load differs from Next.js's getStaticProps #813

Merged
merged 3 commits into from
Apr 1, 2021

Conversation

Nick-Mazuk
Copy link
Contributor

Currently the docs say that the load function is the Sveltekit equivalent to Next.js's getStaticProps or getServerSideProps.

load is the SvelteKit equivalent of getStaticProps or getServerSideProps in Next.js or asyncData in Nuxt.js.

This PR reflects the fact that Sveltekit's load function also runs on the client. Here's the new sentence:

load is similar to Next.js's getStaticProps or getServerSideProps or Nuxt.js's asyncData, except that it runs on both the server and the client.

In Next.js, getStaticProps and getServerSideProps both only run on the server. This means it's safe to run privileged code in these functions. However, according the current Sveltekit docs, load runs on both the client and server, meaning that you should not run privileged code in it.

This PR should help prevent Sveltekit users from accidentally creating security vulnerabilities in their apps due to this difference.

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

Changesets

  • If your PR makes a change that should be noted in one or more packages' changelogs, generate a changeset by running pnpx changeset and following the prompts

documentation/docs/03-loading.md Outdated Show resolved Hide resolved
I'm unsure about Nuxt, so I'll go with the change you just made.

Co-authored-by: Rich Harris <[email protected]>
@Rich-Harris Rich-Harris merged commit 59e6f28 into sveltejs:master Apr 1, 2021
@Rich-Harris
Copy link
Member

thanks!

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.

2 participants