Skip to content

Conversation

@Rich-Harris
Copy link
Member

@Rich-Harris Rich-Harris commented Mar 3, 2022

Closes #4112
Closes #3792
Closes #2271
Closes #923

  • Add new config.kit.prerender.default option (defaults to false)
  • Prerender during build, and pass builder.prerendered object to adapters
  • Implement builder.writePrerendered(dest, { fallback }) method
  • Include default option in builder.prerendered, so e.g. adapter-static can warn if default was false when there's no fallback
  • Use prerendered pages in svelte-kit preview
  • Make prerendered available to service workers
  • Update all adapters
  • Update docs

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 pnpx changeset and following the prompts. All changesets should be patch until SvelteKit 1.0

@changeset-bot
Copy link

changeset-bot bot commented Mar 3, 2022

🦋 Changeset detected

Latest commit: 9545b8b

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


- `concurrency` — how many pages can be prerendered simultaneously. JS is single-threaded, but in cases where prerendering performance is network-bound (for example loading content from a remote CMS) this can speed things up by processing other tasks while waiting on the network response
- `crawl` — determines whether SvelteKit should find pages to prerender by following links from the seed page(s)
- `default` — set to `true` to prerender every page without `export const prerender = false`
Copy link
Member

Choose a reason for hiding this comment

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

I wonder if we should combine default and enabled into a single option. E.g. with values like true | false | 'never' or 'default-true' | 'default-false' | 'never'

Copy link
Member Author

Choose a reason for hiding this comment

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

I think I prefer the booleans, personally

@github-actions github-actions bot mentioned this pull request Mar 5, 2022
jamesscottbrown added a commit to networkcube/vistorian-monorepo that referenced this pull request Mar 9, 2022
This restores the creation of HTML files after this was broken by a recent change to sveltekit: sveltejs/kit#4192
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

3 participants