Repository: sveltejs/kit
Pull request #8191 (2022-12-16 04:55:52)

[docs] clarify order of error page precedence
Added 'then'. It is needed here.

### 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. All changesets should be `patch` until SvelteKit 1.0


changeset-bot[bot]: ###  ⚠️  No Changeset found

Latest commit: d3f31a93073f0b38562641994b8646218f0a6195

Merging this PR will not cause a version bump for any packages. If these changes should not result in a new version, you're good to go. **If these changes should result in a version bump, you need to add a changeset.**

<details><summary>This PR includes no changesets</summary>

  When changesets are added to this PR, you'll see the packages that this PR includes changesets for and the associated semver types

</details>

[Click here to learn what changesets are, and how to add one](https://github.com/changesets/changesets/blob/master/docs/adding-a-changeset.md).

[Click here if you're a maintainer who wants to add a changeset to this PR](https://github.com/yousufiqbal/kit/new/patch-3?filename=.changeset/heavy-fishes-heal.md&value=---%0A%0A---%0A%0AGrammar%0A)


vercel[bot]: @yousufiqbal is attempting to deploy a commit to the **Svelte** Team on [Vercel](https://vercel.com).

A member of the Team first needs to [authorize it](https://vercel.com/git/authorize?team=Svelte&type=github&job=%7B%22headInfo%22%3A%7B%22sha%22%3A%22d3f31a93073f0b38562641994b8646218f0a6195%22%7D%2C%22id%22%3A%22QmZLYbaVQUHvQr2QYEACmqmhuCzmAVc8R2Zc9MmbPiEuJ8%22%2C%22org%22%3A%22sveltejs%22%2C%22prId%22%3A8191%2C%22repo%22%3A%22kit%22%7D).



Patch:
diff --git a/.changeset/chilly-maps-worry.md b/.changeset/chilly-maps-worry.md
new file mode 100644
index 000000000..c8c1a5a53
--- /dev/null
+++ b/.changeset/chilly-maps-worry.md
@@ -0,0 +1,5 @@
+---
+'@sveltejs/adapter-cloudflare-workers': patch
+---
+
+[chore] update @cloudflare/kv-asset-handler
diff --git a/.changeset/config.json b/.changeset/config.json
index cc0d41521..9f121d529 100644
--- a/.changeset/config.json
+++ b/.changeset/config.json
@@ -5,5 +5,6 @@
 	"linked": [],
 	"access": "public",
 	"baseBranch": "master",
-	"bumpVersionsWithWorkspaceProtocolOnly": true
+	"bumpVersionsWithWorkspaceProtocolOnly": true,
+	"ignore": ["!(@sveltejs/*|create-svelte|svelte-migrate)"]
 }
diff --git a/.changeset/large-ravens-attack.md b/.changeset/large-ravens-attack.md
new file mode 100644
index 000000000..60cd95f58
--- /dev/null
+++ b/.changeset/large-ravens-attack.md
@@ -0,0 +1,7 @@
+---
+"@sveltejs/adapter-node": patch
+---
+
+Update dependency @rollup/plugin-json to v6
+
+Note: plugin-json v6 fails your build for parse errors that only logged a warning with v5. We consider this a bugfix as only healthy input should result in a successful build.
diff --git a/.changeset/nervous-lamps-pay.md b/.changeset/nervous-lamps-pay.md
deleted file mode 100644
index d2ded59ab..000000000
--- a/.changeset/nervous-lamps-pay.md
+++ /dev/null
@@ -1,6 +0,0 @@
----
-'@sveltejs/kit': patch
-'@sveltejs/package': patch
----
-
-Explicitly mark Node 17.x as not supported
diff --git a/.changeset/quick-mice-hope.md b/.changeset/quick-mice-hope.md
new file mode 100644
index 000000000..05db2c29b
--- /dev/null
+++ b/.changeset/quick-mice-hope.md
@@ -0,0 +1,5 @@
+---
+'@sveltejs/package': patch
+---
+
+[chore] update svelte2tsx
diff --git a/.changeset/rare-frogs-crash.md b/.changeset/rare-frogs-crash.md
new file mode 100644
index 000000000..cf0bec2f5
--- /dev/null
+++ b/.changeset/rare-frogs-crash.md
@@ -0,0 +1,5 @@
+---
+"create-svelte": patch
+---
+
+[fix] address flakiness in playwright test
diff --git a/.changeset/sour-comics-dress.md b/.changeset/sour-comics-dress.md
new file mode 100644
index 000000000..58a76da84
--- /dev/null
+++ b/.changeset/sour-comics-dress.md
@@ -0,0 +1,5 @@
+---
+"@sveltejs/adapter-node": patch
+---
+
+chore(deps): update dependency @rollup/plugin-commonjs to v24
diff --git a/.changeset/tidy-pandas-report.md b/.changeset/tidy-pandas-report.md
new file mode 100644
index 000000000..d328468ff
--- /dev/null
+++ b/.changeset/tidy-pandas-report.md
@@ -0,0 +1,5 @@
+---
+'@sveltejs/kit': patch
+---
+
+Fix form action redirect status code
diff --git a/documentation/docs/10-getting-started/20-creating-a-project.md b/documentation/docs/10-getting-started/20-creating-a-project.md
index 5446b3998..ada1e0910 100644
--- a/documentation/docs/10-getting-started/20-creating-a-project.md
+++ b/documentation/docs/10-getting-started/20-creating-a-project.md
@@ -18,7 +18,7 @@ There are two basic concepts:
 - Each page of your app is a [Svelte](https://svelte.dev) component
 - You create pages by adding files to the `src/routes` directory of your project. These will be server-rendered so that a user's first visit to your app is as fast as possible, then a client-side app takes over
 
-Try editing the files to get a feel for how everything works – you may not need to bother reading the rest of this guide!
+Try editing the files to get a feel for how everything works.
 
 ## Editor setup
 
diff --git a/documentation/docs/20-core-concepts/10-routing.md b/documentation/docs/20-core-concepts/10-routing.md
index 0387089c1..0f2d1beeb 100644
--- a/documentation/docs/20-core-concepts/10-routing.md
+++ b/documentation/docs/20-core-concepts/10-routing.md
@@ -127,7 +127,7 @@ If an error occurs during `load`, SvelteKit will render a default error page. Yo
 <h1>{$page.status}: {$page.error.message}</h1>
 ```
 
-SvelteKit will 'walk up the tree' looking for the closest error boundary — if the file above didn't exist it would try `src/routes/blog/+error.svelte` and `src/routes/+error.svelte` before rendering the default error page. If _that_ fails (or if the error was thrown from the `load` function of the root `+layout`, which sits 'above' the root `+error`), SvelteKit will bail out and render a static fallback error page, which you can customise by creating a `src/error.html` file.
+SvelteKit will 'walk up the tree' looking for the closest error boundary — if the file above didn't exist it would try `src/routes/blog/+error.svelte` and then `src/routes/+error.svelte` before rendering the default error page. If _that_ fails (or if the error was thrown from the `load` function of the root `+layout`, which sits 'above' the root `+error`), SvelteKit will bail out and render a static fallback error page, which you can customise by creating a `src/error.html` file.
 
 > `+error.svelte` is _not_ used when an error occurs inside [`handle`](/docs/hooks#server-hooks-handle) or a [+server.js](#server) request handler.
 
diff --git a/documentation/docs/20-core-concepts/20-load.md b/documentation/docs/20-core-concepts/20-load.md
index 3d9fcf980..0e7b5ede3 100644
--- a/documentation/docs/20-core-concepts/20-load.md
+++ b/documentation/docs/20-core-concepts/20-load.md
@@ -90,8 +90,9 @@ export async function load() {
 </script>
 
 <main>
-	<!-- +page.svelte is rendered here -->
-	<slot />
+	<slot>
+		<!-- +page.svelte is rendered here -->
+	</slot>
 </main>
 
 <aside>
@@ -420,7 +421,7 @@ export function load({ locals }) {
 Top-level promises will be awaited, which makes it easy to return multiple promises without creating a waterfall:
 
 ```js
-/// file: src/routes/+page.server.js
+/// file: src/routes/+page.js
 /** @type {import('./$types').PageServerLoad} */
 export function load() {
 	return {
diff --git a/documentation/docs/30-advanced/20-hooks.md b/documentation/docs/30-advanced/20-hooks.md
index 2f7b0b2e8..39eb6710f 100644
--- a/documentation/docs/30-advanced/20-hooks.md
+++ b/documentation/docs/30-advanced/20-hooks.md
@@ -66,7 +66,7 @@ export async function handle({ event, resolve }) {
 }
 ```
 
-You can add call multiple `handle` functions with [the `sequence` helper function](/docs/modules#sveltejs-kit-hooks).
+You can define multiple `handle` functions and execute them with [the `sequence` helper function](/docs/modules#sveltejs-kit-hooks).
 
 `resolve` also supports a second, optional parameter that gives you more control over how the response will be rendered. That parameter is an object that can have the following fields:
 
diff --git a/documentation/faq/40-adapters.md b/documentation/faq/40-adapters.md
deleted file mode 100644
index 3a0fdc24f..000000000
--- a/documentation/faq/40-adapters.md
+++ /dev/null
@@ -1,5 +0,0 @@
----
-title: I'm having trouble using an adapter.
----
-
-Please make sure the version of the adapter specified in your `package.json` is `"next"`.
diff --git a/documentation/faq/70-packages.md b/documentation/faq/70-packages.md
index f41a2d310..6c7a1fd9c 100644
--- a/documentation/faq/70-packages.md
+++ b/documentation/faq/70-packages.md
@@ -11,6 +11,6 @@ Libraries work best with Vite when they distribute an ESM version and you may wi
 - `main` should be defined if `exports` is not. It should be either a CommonJS or ESM file and adhere to the previous bullet. If a `module` field is defined, it should refer to an ESM file.
 - Svelte components should be distributed entirely as ESM and have a `svelte` field defining the entry point.
 
-It is encouraged to make sure the dependencies of external Svelte components provide an ESM version. However, in order to handle CommonJS dependencies [`vite-plugin-svelte` will look for any CJS dependencies of external Svelte components](https://github.com/sveltejs/vite-plugin-svelte/blob/main/docs/faq.md#what-is-going-on-with-vite-and-pre-bundling-dependencies) and ask Vite to pre-bundle them by automatically adding them to Vite's `optimizeDeps.include` which will use `esbuild` to convert them to ESM. A side effect of this approach is that it takes longer to load the initial page. If this becomes noticable, try setting [experimental.prebundleSvelteLibraries: true](https://github.com/sveltejs/vite-plugin-svelte/blob/main/docs/config.md#prebundlesveltelibraries) in `svelte.config.js`. Note that this option is experimental.
+It is encouraged to make sure the dependencies of external Svelte components provide an ESM version. However, in order to handle CommonJS dependencies [`vite-plugin-svelte` will look for any CJS dependencies of external Svelte components](https://github.com/sveltejs/vite-plugin-svelte/blob/main/docs/faq.md#what-is-going-on-with-vite-and-pre-bundling-dependencies) and ask Vite to pre-bundle them by automatically adding them to Vite's `optimizeDeps.include` which will use `esbuild` to convert them to ESM. A side effect of this approach is that it takes longer to load the initial page. If this becomes noticeable, try setting [experimental.prebundleSvelteLibraries: true](https://github.com/sveltejs/vite-plugin-svelte/blob/main/docs/config.md#prebundlesveltelibraries) in `svelte.config.js`. Note that this option is experimental.
 
 If you are still encountering issues we recommend checking [the list of known Vite issues most commonly affecting SvelteKit users](https://github.com/sveltejs/kit/issues/2086) and searching both [the Vite issue tracker](https://github.com/vitejs/vite/issues) and the issue tracker of the library in question. Sometimes issues can be worked around by fiddling with the [`optimizeDeps`](https://vitejs.dev/config/#dep-optimization-options) or [`ssr`](https://vitejs.dev/config/#ssr-options) config values.
diff --git a/package.json b/package.json
index 02a774658..17cd828cd 100644
--- a/package.json
+++ b/package.json
@@ -24,19 +24,19 @@
 	"homepage": "https://github.com/sveltejs/kit#readme",
 	"devDependencies": {
 		"@changesets/cli": "^2.25.2",
-		"@rollup/plugin-commonjs": "^23.0.3",
-		"@rollup/plugin-json": "^5.0.2",
+		"@rollup/plugin-commonjs": "^24.0.0",
+		"@rollup/plugin-json": "^6.0.0",
 		"@rollup/plugin-node-resolve": "^15.0.1",
 		"@svitejs/changesets-changelog-github-compact": "^1.0.0",
 		"playwright": "^1.28.1",
 		"prettier": "^2.8.0",
 		"rollup": "^3.7.0",
-		"svelte": "^3.54.0",
+		"svelte": "^3.55.0",
 		"tiny-glob": "^0.2.9",
 		"turbo": "^1.6.3",
-		"typescript": "^4.9.3"
+		"typescript": "^4.9.4"
 	},
-	"packageManager": "pnpm@7.18.2",
+	"packageManager": "pnpm@7.21.0",
 	"engines": {
 		"pnpm": "^7.0.0"
 	},
diff --git a/packages/adapter-auto/package.json b/packages/adapter-auto/package.json
index 368efd548..22ee8a13e 100644
--- a/packages/adapter-auto/package.json
+++ b/packages/adapter-auto/package.json
@@ -32,7 +32,7 @@
 	"devDependencies": {
 		"@sveltejs/kit": "workspace:^",
 		"@types/node": "^16.18.6",
-		"typescript": "^4.9.3"
+		"typescript": "^4.9.4"
 	},
 	"dependencies": {
 		"import-meta-resolve": "^2.2.0"
diff --git a/packages/adapter-cloudflare-workers/package.json b/packages/adapter-cloudflare-workers/package.json
index 315f67647..d7195b467 100644
--- a/packages/adapter-cloudflare-workers/package.json
+++ b/packages/adapter-cloudflare-workers/package.json
@@ -34,9 +34,9 @@
 		"esbuild": "^0.16.3"
 	},
 	"devDependencies": {
-		"@cloudflare/kv-asset-handler": "^0.2.0",
+		"@cloudflare/kv-asset-handler": "^0.3.0",
 		"@types/node": "^16.18.6",
-		"typescript": "^4.9.3"
+		"typescript": "^4.9.4"
 	},
 	"peerDependencies": {
 		"@sveltejs/kit": "^1.0.0"
diff --git a/packages/adapter-cloudflare/package.json b/packages/adapter-cloudflare/package.json
index 3887c25c0..7318ed75f 100644
--- a/packages/adapter-cloudflare/package.json
+++ b/packages/adapter-cloudflare/package.json
@@ -39,7 +39,7 @@
 	"devDependencies": {
 		"@types/node": "^16.18.6",
 		"@types/ws": "^8.5.3",
-		"typescript": "^4.9.3"
+		"typescript": "^4.9.4"
 	},
 	"peerDependencies": {
 		"@sveltejs/kit": "^1.0.0"
diff --git a/packages/adapter-netlify/package.json b/packages/adapter-netlify/package.json
index ecdff5d46..13cd02a73 100644
--- a/packages/adapter-netlify/package.json
+++ b/packages/adapter-netlify/package.json
@@ -38,15 +38,15 @@
 	},
 	"devDependencies": {
 		"@netlify/functions": "^1.3.0",
-		"@rollup/plugin-commonjs": "^23.0.3",
-		"@rollup/plugin-json": "^5.0.2",
+		"@rollup/plugin-commonjs": "^24.0.0",
+		"@rollup/plugin-json": "^6.0.0",
 		"@rollup/plugin-node-resolve": "^15.0.1",
 		"@sveltejs/kit": "workspace:^",
 		"@types/node": "^16.18.6",
 		"@types/set-cookie-parser": "^2.4.2",
 		"rimraf": "^3.0.2",
 		"rollup": "^3.7.0",
-		"typescript": "^4.9.3",
+		"typescript": "^4.9.4",
 		"uvu": "^0.5.6"
 	},
 	"peerDependencies": {
diff --git a/packages/adapter-node/package.json b/packages/adapter-node/package.json
index 009b727dc..dbbe91e4f 100644
--- a/packages/adapter-node/package.json
+++ b/packages/adapter-node/package.json
@@ -38,12 +38,12 @@
 		"polka": "^1.0.0-next.22",
 		"rimraf": "^3.0.2",
 		"sirv": "^2.0.2",
-		"typescript": "^4.9.3",
+		"typescript": "^4.9.4",
 		"uvu": "^0.5.6"
 	},
 	"dependencies": {
-		"@rollup/plugin-commonjs": "^23.0.2",
-		"@rollup/plugin-json": "^5.0.1",
+		"@rollup/plugin-commonjs": "^24.0.0",
+		"@rollup/plugin-json": "^6.0.0",
 		"@rollup/plugin-node-resolve": "^15.0.1",
 		"rollup": "^3.7.0"
 	},
diff --git a/packages/adapter-static/package.json b/packages/adapter-static/package.json
index 74d3cab60..47949a5e3 100644
--- a/packages/adapter-static/package.json
+++ b/packages/adapter-static/package.json
@@ -28,8 +28,8 @@
 		"@sveltejs/kit": "workspace:^",
 		"@types/node": "^16.18.6",
 		"sirv": "^2.0.2",
-		"svelte": "^3.54.0",
-		"typescript": "^4.9.3",
+		"svelte": "^3.55.0",
+		"typescript": "^4.9.4",
 		"uvu": "^0.5.6",
 		"vite": "^4.0.0"
 	},
diff --git a/packages/adapter-vercel/package.json b/packages/adapter-vercel/package.json
index 1563842e9..68fce47b2 100644
--- a/packages/adapter-vercel/package.json
+++ b/packages/adapter-vercel/package.json
@@ -34,7 +34,7 @@
 	"devDependencies": {
 		"@sveltejs/kit": "workspace:^",
 		"@types/node": "^16.18.6",
-		"typescript": "^4.9.3"
+		"typescript": "^4.9.4"
 	},
 	"peerDependencies": {
 		"@sveltejs/kit": "^1.0.0"
diff --git a/packages/create-svelte/package.json b/packages/create-svelte/package.json
index 68151f7bf..28355f820 100644
--- a/packages/create-svelte/package.json
+++ b/packages/create-svelte/package.json
@@ -23,7 +23,7 @@
 		"prettier": "^2.8.0",
 		"prettier-plugin-svelte": "^2.8.1",
 		"sucrase": "^3.29.0",
-		"svelte": "^3.54.0",
+		"svelte": "^3.55.0",
 		"tiny-glob": "^0.2.9",
 		"uvu": "^0.5.6"
 	},
diff --git a/packages/create-svelte/templates/default/package.json b/packages/create-svelte/templates/default/package.json
index f9e6f7903..3b62800ad 100644
--- a/packages/create-svelte/templates/default/package.json
+++ b/packages/create-svelte/templates/default/package.json
@@ -11,8 +11,8 @@
 		"@neoconfetti/svelte": "^1.0.0",
 		"@sveltejs/adapter-auto": "workspace:*",
 		"@sveltejs/kit": "workspace:*",
-		"svelte": "^3.54.0",
-		"typescript": "^4.9.3",
+		"svelte": "^3.55.0",
+		"typescript": "^4.9.4",
 		"vite": "^4.0.0"
 	},
 	"type": "module",
diff --git a/packages/kit/CHANGELOG.md b/packages/kit/CHANGELOG.md
index fd946a717..e1a361713 100644
--- a/packages/kit/CHANGELOG.md
+++ b/packages/kit/CHANGELOG.md
@@ -1,5 +1,11 @@
 # @sveltejs/kit
 
+## 1.0.1
+
+### Patch Changes
+
+- Explicitly mark Node 17.x as not supported ([#8174](https://github.com/sveltejs/kit/pull/8174))
+
 ## 1.0.0
 
 ### Major Changes
diff --git a/packages/kit/package.json b/packages/kit/package.json
index 9025d7aab..5bce20566 100644
--- a/packages/kit/package.json
+++ b/packages/kit/package.json
@@ -1,6 +1,6 @@
 {
 	"name": "@sveltejs/kit",
-	"version": "1.0.0",
+	"version": "1.0.1",
 	"repository": {
 		"type": "git",
 		"url": "https://github.com/sveltejs/kit",
@@ -34,9 +34,9 @@
 		"@types/set-cookie-parser": "^2.4.2",
 		"marked": "^4.2.3",
 		"rollup": "^3.7.0",
-		"svelte": "^3.54.0",
+		"svelte": "^3.55.0",
 		"svelte-preprocess": "^5.0.0",
-		"typescript": "^4.9.3",
+		"typescript": "^4.9.4",
 		"uvu": "^0.5.6",
 		"vite": "^4.0.0"
 	},
diff --git a/packages/kit/src/runtime/server/page/index.js b/packages/kit/src/runtime/server/page/index.js
index 84c712d4f..463e72d01 100644
--- a/packages/kit/src/runtime/server/page/index.js
+++ b/packages/kit/src/runtime/server/page/index.js
@@ -62,7 +62,7 @@ export async function render_page(event, route, page, options, state, resolve_op
 			// (this also determines status code)
 			action_result = await handle_action_request(event, leaf_node.server);
 			if (action_result?.type === 'redirect') {
-				return redirect_response(303, action_result.location);
+				return redirect_response(action_result.status, action_result.location);
 			}
 			if (action_result?.type === 'error') {
 				const error = action_result.error;
diff --git a/packages/migrate/package.json b/packages/migrate/package.json
index 685072c85..bc5536c86 100644
--- a/packages/migrate/package.json
+++ b/packages/migrate/package.json
@@ -24,7 +24,7 @@
 		"magic-string": "^0.27.0",
 		"prompts": "^2.4.2",
 		"tiny-glob": "^0.2.9",
-		"typescript": "^4.9.3"
+		"typescript": "^4.9.4"
 	},
 	"devDependencies": {
 		"@types/prompts": "^2.4.1",
diff --git a/packages/package/CHANGELOG.md b/packages/package/CHANGELOG.md
index 0cadd9f62..20101aaed 100644
--- a/packages/package/CHANGELOG.md
+++ b/packages/package/CHANGELOG.md
@@ -1,5 +1,11 @@
 # @sveltejs/package
 
+## 1.0.1
+
+### Patch Changes
+
+- Explicitly mark Node 17.x as not supported ([#8174](https://github.com/sveltejs/kit/pull/8174))
+
 ## 1.0.0
 
 ### Major Changes
diff --git a/packages/package/package.json b/packages/package/package.json
index 76ce8935c..b5085cbcc 100644
--- a/packages/package/package.json
+++ b/packages/package/package.json
@@ -1,6 +1,6 @@
 {
 	"name": "@sveltejs/package",
-	"version": "1.0.0",
+	"version": "1.0.1",
 	"repository": {
 		"type": "git",
 		"url": "https://github.com/sveltejs/kit",
@@ -13,13 +13,13 @@
 		"chokidar": "^3.5.3",
 		"kleur": "^4.1.5",
 		"sade": "^1.8.1",
-		"svelte2tsx": "~0.5.20"
+		"svelte2tsx": "~0.6.0"
 	},
 	"devDependencies": {
 		"@types/node": "^16.18.6",
-		"svelte": "^3.54.0",
+		"svelte": "^3.55.0",
 		"svelte-preprocess": "^5.0.0",
-		"typescript": "^4.9.3",
+		"typescript": "^4.9.4",
 		"uvu": "^0.5.6"
 	},
 	"peerDependencies": {
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
index c86f1bf06..ba5b6ff7e 100644
--- a/pnpm-lock.yaml
+++ b/pnpm-lock.yaml
@@ -5,43 +5,43 @@ importers:
   .:
     specifiers:
       '@changesets/cli': ^2.25.2
-      '@rollup/plugin-commonjs': ^23.0.3
-      '@rollup/plugin-json': ^5.0.2
+      '@rollup/plugin-commonjs': ^24.0.0
+      '@rollup/plugin-json': ^6.0.0
       '@rollup/plugin-node-resolve': ^15.0.1
       '@svitejs/changesets-changelog-github-compact': ^1.0.0
       playwright: ^1.28.1
       prettier: ^2.8.0
       rollup: ^3.7.0
-      svelte: ^3.54.0
+      svelte: ^3.55.0
       tiny-glob: ^0.2.9
       turbo: ^1.6.3
-      typescript: ^4.9.3
+      typescript: ^4.9.4
     devDependencies:
       '@changesets/cli': 2.25.2
-      '@rollup/plugin-commonjs': 23.0.3_rollup@3.7.0
-      '@rollup/plugin-json': 5.0.2_rollup@3.7.0
+      '@rollup/plugin-commonjs': 24.0.0_rollup@3.7.0
+      '@rollup/plugin-json': 6.0.0_rollup@3.7.0
       '@rollup/plugin-node-resolve': 15.0.1_rollup@3.7.0
       '@svitejs/changesets-changelog-github-compact': 1.0.0
       playwright: 1.28.1
       prettier: 2.8.0
       rollup: 3.7.0
-      svelte: 3.54.0
+      svelte: 3.55.0
       tiny-glob: 0.2.9
       turbo: 1.6.3
-      typescript: 4.9.3
+      typescript: 4.9.4
 
   packages/adapter-auto:
     specifiers:
       '@sveltejs/kit': workspace:^
       '@types/node': ^16.18.6
       import-meta-resolve: ^2.2.0
-      typescript: ^4.9.3
+      typescript: ^4.9.4
     dependencies:
       import-meta-resolve: 2.2.0
     devDependencies:
       '@sveltejs/kit': link:../kit
       '@types/node': 16.18.6
-      typescript: 4.9.3
+      typescript: 4.9.4
 
   packages/adapter-cloudflare:
     specifiers:
@@ -49,7 +49,7 @@ importers:
       '@types/node': ^16.18.6
       '@types/ws': ^8.5.3
       esbuild: ^0.16.3
-      typescript: ^4.9.3
+      typescript: ^4.9.4
       worktop: 0.8.0-next.14
     dependencies:
       '@cloudflare/workers-types': 4.20221111.1
@@ -58,31 +58,31 @@ importers:
     devDependencies:
       '@types/node': 16.18.6
       '@types/ws': 8.5.3
-      typescript: 4.9.3
+      typescript: 4.9.4
 
   packages/adapter-cloudflare-workers:
     specifiers:
-      '@cloudflare/kv-asset-handler': ^0.2.0
+      '@cloudflare/kv-asset-handler': ^0.3.0
       '@cloudflare/workers-types': ^4.20221111.1
       '@iarna/toml': ^2.2.5
       '@types/node': ^16.18.6
       esbuild: ^0.16.3
-      typescript: ^4.9.3
+      typescript: ^4.9.4
     dependencies:
       '@cloudflare/workers-types': 4.20221111.1
       '@iarna/toml': 2.2.5
       esbuild: 0.16.3
     devDependencies:
-      '@cloudflare/kv-asset-handler': 0.2.0
+      '@cloudflare/kv-asset-handler': 0.3.0
       '@types/node': 16.18.6
-      typescript: 4.9.3
+      typescript: 4.9.4
 
   packages/adapter-netlify:
     specifiers:
       '@iarna/toml': ^2.2.5
       '@netlify/functions': ^1.3.0
-      '@rollup/plugin-commonjs': ^23.0.3
-      '@rollup/plugin-json': ^5.0.2
+      '@rollup/plugin-commonjs': ^24.0.0
+      '@rollup/plugin-json': ^6.0.0
       '@rollup/plugin-node-resolve': ^15.0.1
       '@sveltejs/kit': workspace:^
       '@types/node': ^16.18.6
@@ -91,7 +91,7 @@ importers:
       rimraf: ^3.0.2
       rollup: ^3.7.0
       set-cookie-parser: ^2.5.1
-      typescript: ^4.9.3
+      typescript: ^4.9.4
       uvu: ^0.5.6
     dependencies:
       '@iarna/toml': 2.2.5
@@ -99,21 +99,21 @@ importers:
       set-cookie-parser: 2.5.1
     devDependencies:
       '@netlify/functions': 1.3.0
-      '@rollup/plugin-commonjs': 23.0.3_rollup@3.7.0
-      '@rollup/plugin-json': 5.0.2_rollup@3.7.0
+      '@rollup/plugin-commonjs': 24.0.0_rollup@3.7.0
+      '@rollup/plugin-json': 6.0.0_rollup@3.7.0
       '@rollup/plugin-node-resolve': 15.0.1_rollup@3.7.0
       '@sveltejs/kit': link:../kit
       '@types/node': 16.18.6
       '@types/set-cookie-parser': 2.4.2
       rimraf: 3.0.2
       rollup: 3.7.0
-      typescript: 4.9.3
+      typescript: 4.9.4
       uvu: 0.5.6
 
   packages/adapter-node:
     specifiers:
-      '@rollup/plugin-commonjs': ^23.0.2
-      '@rollup/plugin-json': ^5.0.1
+      '@rollup/plugin-commonjs': ^24.0.0
+      '@rollup/plugin-json': ^6.0.0
       '@rollup/plugin-node-resolve': ^15.0.1
       '@sveltejs/kit': workspace:^
       '@types/node': ^16.18.6
@@ -122,11 +122,11 @@ importers:
       rimraf: ^3.0.2
       rollup: ^3.7.0
       sirv: ^2.0.2
-      typescript: ^4.9.3
+      typescript: ^4.9.4
       uvu: ^0.5.6
     dependencies:
-      '@rollup/plugin-commonjs': 23.0.2_rollup@3.7.0
-      '@rollup/plugin-json': 5.0.1_rollup@3.7.0
+      '@rollup/plugin-commonjs': 24.0.0_rollup@3.7.0
+      '@rollup/plugin-json': 6.0.0_rollup@3.7.0
       '@rollup/plugin-node-resolve': 15.0.1_rollup@3.7.0
       rollup: 3.7.0
     devDependencies:
@@ -136,7 +136,7 @@ importers:
       polka: 1.0.0-next.22
       rimraf: 3.0.2
       sirv: 2.0.2
-      typescript: 4.9.3
+      typescript: 4.9.4
       uvu: 0.5.6
 
   packages/adapter-static:
@@ -144,27 +144,27 @@ importers:
       '@sveltejs/kit': workspace:^
       '@types/node': ^16.18.6
       sirv: ^2.0.2
-      svelte: ^3.54.0
-      typescript: ^4.9.3
+      svelte: ^3.55.0
+      typescript: ^4.9.4
       uvu: ^0.5.6
       vite: ^4.0.0
     devDependencies:
       '@sveltejs/kit': link:../kit
       '@types/node': 16.18.6
       sirv: 2.0.2
-      svelte: 3.54.0
-      typescript: 4.9.3
+      svelte: 3.55.0
+      typescript: 4.9.4
       uvu: 0.5.6
       vite: 4.0.0_@types+node@16.18.6
 
   packages/adapter-static/test/apps/prerendered:
     specifiers:
       '@sveltejs/kit': workspace:^
-      svelte: ^3.54.0
+      svelte: ^3.55.0
       vite: ^4.0.0
     devDependencies:
       '@sveltejs/kit': link:../../../../kit
-      svelte: 3.54.0
+      svelte: 3.55.0
       vite: 4.0.0
 
   packages/adapter-static/test/apps/spa:
@@ -172,13 +172,13 @@ importers:
       '@sveltejs/adapter-node': workspace:^
       '@sveltejs/kit': workspace:^
       sirv-cli: ^2.0.2
-      svelte: ^3.54.0
+      svelte: ^3.55.0
       vite: ^4.0.0
     devDependencies:
       '@sveltejs/adapter-node': link:../../../../adapter-node
       '@sveltejs/kit': link:../../../../kit
       sirv-cli: 2.0.2
-      svelte: 3.54.0
+      svelte: 3.55.0
       vite: 4.0.0
 
   packages/adapter-vercel:
@@ -187,14 +187,14 @@ importers:
       '@types/node': ^16.18.6
       '@vercel/nft': ^0.22.1
       esbuild: ^0.16.3
-      typescript: ^4.9.3
+      typescript: ^4.9.4
     dependencies:
       '@vercel/nft': 0.22.1
       esbuild: 0.16.3
     devDependencies:
       '@sveltejs/kit': link:../kit
       '@types/node': 16.18.6
-      typescript: 4.9.3
+      typescript: 4.9.4
 
   packages/amp:
     specifiers: {}
@@ -211,7 +211,7 @@ importers:
       prettier-plugin-svelte: ^2.8.1
       prompts: ^2.4.2
       sucrase: ^3.29.0
-      svelte: ^3.54.0
+      svelte: ^3.55.0
       tiny-glob: ^0.2.9
       uvu: ^0.5.6
     dependencies:
@@ -224,9 +224,9 @@ importers:
       '@types/prompts': 2.4.1
       gitignore-parser: 0.0.2
       prettier: 2.8.0
-      prettier-plugin-svelte: 2.8.1_kaioqtfwjumrsfopsgfoca65re
+      prettier-plugin-svelte: 2.8.1_nxhwyzrlb2jiv2xtis3ad534qu
       sucrase: 3.29.0
-      svelte: 3.54.0
+      svelte: 3.55.0
       tiny-glob: 0.2.9
       uvu: 0.5.6
 
@@ -236,8 +236,8 @@ importers:
       '@neoconfetti/svelte': ^1.0.0
       '@sveltejs/adapter-auto': workspace:*
       '@sveltejs/kit': workspace:*
-      svelte: ^3.54.0
-      typescript: ^4.9.3
+      svelte: ^3.55.0
+      typescript: ^4.9.4
       vite: ^4.0.0
     dependencies:
       '@fontsource/fira-mono': 4.5.10
@@ -245,8 +245,8 @@ importers:
       '@neoconfetti/svelte': 1.0.0
       '@sveltejs/adapter-auto': link:../../../adapter-auto
       '@sveltejs/kit': link:../../../kit
-      svelte: 3.54.0
-      typescript: 4.9.3
+      svelte: 3.55.0
+      typescript: 4.9.4
       vite: 4.0.0
 
   packages/create-svelte/templates/skeleton:
@@ -277,15 +277,15 @@ importers:
       sade: ^1.8.1
       set-cookie-parser: ^2.5.1
       sirv: ^2.0.2
-      svelte: ^3.54.0
+      svelte: ^3.55.0
       svelte-preprocess: ^5.0.0
       tiny-glob: ^0.2.9
-      typescript: ^4.9.3
+      typescript: ^4.9.4
       undici: 5.14.0
       uvu: ^0.5.6
       vite: ^4.0.0
     dependencies:
-      '@sveltejs/vite-plugin-svelte': 2.0.0_svelte@3.54.0+vite@4.0.0
+      '@sveltejs/vite-plugin-svelte': 2.0.0_svelte@3.55.0+vite@4.0.0
       '@types/cookie': 0.5.1
       cookie: 0.5.0
       devalue: 4.2.0
@@ -308,9 +308,9 @@ importers:
       '@types/set-cookie-parser': 2.4.2
       marked: 4.2.3
       rollup: 3.7.0
-      svelte: 3.54.0
-      svelte-preprocess: 5.0.0_gf4dcx76vtk2o62ixxeqx7chra
-      typescript: 4.9.3
+      svelte: 3.55.0
+      svelte-preprocess: 5.0.0_niwyv7xychq2ag6arq5eqxbomm
+      typescript: 4.9.4
       uvu: 0.5.6
       vite: 4.0.0_@types+node@16.18.6
 
@@ -320,18 +320,18 @@ importers:
       '@sveltejs/kit': workspace:^
       cross-env: ^7.0.3
       purify-css: ^1.2.5
-      svelte: ^3.54.0
+      svelte: ^3.55.0
       svelte-check: ^2.9.2
-      typescript: ^4.9.3
+      typescript: ^4.9.4
       vite: ^4.0.0
     devDependencies:
       '@sveltejs/amp': link:../../../../amp
       '@sveltejs/kit': link:../../..
       cross-env: 7.0.3
       purify-css: 1.2.5
-      svelte: 3.54.0
-      svelte-check: 2.9.2_svelte@3.54.0
-      typescript: 4.9.3
+      svelte: 3.55.0
+      svelte-check: 2.9.2_svelte@3.55.0
+      typescript: 4.9.4
       vite: 4.0.0
 
   packages/kit/test/apps/basics:
@@ -339,17 +339,17 @@ importers:
       '@sveltejs/kit': workspace:^
       cross-env: ^7.0.3
       rimraf: ^3.0.2
-      svelte: ^3.54.0
+      svelte: ^3.55.0
       svelte-check: ^2.9.2
-      typescript: ^4.9.3
+      typescript: ^4.9.4
       vite: ^4.0.0
     devDependencies:
       '@sveltejs/kit': link:../../..
       cross-env: 7.0.3
       rimraf: 3.0.2
-      svelte: 3.54.0
-      svelte-check: 2.9.2_svelte@3.54.0
-      typescript: 4.9.3
+      svelte: 3.55.0
+      svelte-check: 2.9.2_svelte@3.55.0
+      typescript: 4.9.4
       vite: 4.0.0
 
   packages/kit/test/apps/dev-only:
@@ -357,33 +357,33 @@ importers:
       '@sveltejs/kit': workspace:^
       cross-env: ^7.0.3
       rimraf: ^3.0.2
-      svelte: ^3.54.0
+      svelte: ^3.55.0
       svelte-check: ^2.9.2
-      typescript: ^4.9.3
+      typescript: ^4.9.4
       vite: ^4.0.0
     devDependencies:
       '@sveltejs/kit': link:../../..
       cross-env: 7.0.3
       rimraf: 3.0.2
-      svelte: 3.54.0
-      svelte-check: 2.9.2_svelte@3.54.0
-      typescript: 4.9.3
+      svelte: 3.55.0
+      svelte-check: 2.9.2_svelte@3.55.0
+      typescript: 4.9.4
       vite: 4.0.0
 
   packages/kit/test/apps/options:
     specifiers:
       '@sveltejs/kit': workspace:^
       cross-env: ^7.0.3
-      svelte: ^3.54.0
+      svelte: ^3.55.0
       svelte-check: ^2.9.2
-      typescript: ^4.9.3
+      typescript: ^4.9.4
       vite: ^4.0.0
     devDependencies:
       '@sveltejs/kit': link:../../..
       cross-env: 7.0.3
-      svelte: 3.54.0
-      svelte-check: 2.9.2_svelte@3.54.0
-      typescript: 4.9.3
+      svelte: 3.55.0
+      svelte-check: 2.9.2_svelte@3.55.0
+      typescript: 4.9.4
       vite: 4.0.0
 
   packages/kit/test/apps/options-2:
@@ -391,17 +391,17 @@ importers:
       '@sveltejs/adapter-node': workspace:^
       '@sveltejs/kit': workspace:^
       cross-env: ^7.0.3
-      svelte: ^3.54.0
+      svelte: ^3.55.0
       svelte-check: ^2.9.2
-      typescript: ^4.9.3
+      typescript: ^4.9.4
       vite: ^4.0.0
     devDependencies:
       '@sveltejs/adapter-node': link:../../../../adapter-node
       '@sveltejs/kit': link:../../..
       cross-env: 7.0.3
-      svelte: 3.54.0
-      svelte-check: 2.9.2_svelte@3.54.0
-      typescript: 4.9.3
+      svelte: 3.55.0
+      svelte-check: 2.9.2_svelte@3.55.0
+      typescript: 4.9.4
       vite: 4.0.0
 
   packages/kit/test/apps/writes:
@@ -409,17 +409,17 @@ importers:
       '@sveltejs/kit': workspace:^
       cross-env: ^7.0.3
       rimraf: ^3.0.2
-      svelte: ^3.54.0
+      svelte: ^3.55.0
       svelte-check: ^2.9.2
-      typescript: ^4.9.3
+      typescript: ^4.9.4
       vite: ^4.0.0
     devDependencies:
       '@sveltejs/kit': link:../../..
       cross-env: 7.0.3
       rimraf: 3.0.2
-      svelte: 3.54.0
-      svelte-check: 2.9.2_svelte@3.54.0
-      typescript: 4.9.3
+      svelte: 3.55.0
+      svelte-check: 2.9.2_svelte@3.55.0
+      typescript: 4.9.4
       vite: 4.0.0
 
   packages/kit/test/build-errors:
@@ -432,209 +432,209 @@ importers:
     specifiers:
       '@sveltejs/adapter-auto': workspace:^
       '@sveltejs/kit': workspace:^
-      svelte: ^3.54.0
+      svelte: ^3.55.0
       svelte-check: ^2.7.1
-      typescript: ^4.9.3
+      typescript: ^4.9.4
       vite: ^4.0.0
     devDependencies:
       '@sveltejs/adapter-auto': link:../../../../../adapter-auto
       '@sveltejs/kit': link:../../../..
-      svelte: 3.54.0
-      svelte-check: 2.9.2_svelte@3.54.0
-      typescript: 4.9.3
+      svelte: 3.55.0
+      svelte-check: 2.9.2_svelte@3.55.0
+      typescript: 4.9.4
       vite: 4.0.0
 
   packages/kit/test/build-errors/apps/prerenderable-not-prerendered:
     specifiers:
       '@sveltejs/adapter-auto': workspace:^
       '@sveltejs/kit': workspace:^
-      svelte: ^3.54.0
+      svelte: ^3.55.0
       svelte-check: ^2.9.2
-      typescript: ^4.9.3
+      typescript: ^4.9.4
       vite: ^4.0.0
     devDependencies:
       '@sveltejs/adapter-auto': link:../../../../../adapter-auto
       '@sveltejs/kit': link:../../../..
-      svelte: 3.54.0
-      svelte-check: 2.9.2_svelte@3.54.0
-      typescript: 4.9.3
+      svelte: 3.55.0
+      svelte-check: 2.9.2_svelte@3.55.0
+      typescript: 4.9.4
       vite: 4.0.0
 
   packages/kit/test/build-errors/apps/private-dynamic-env:
     specifiers:
       '@sveltejs/kit': workspace:^
-      svelte: ^3.54.0
+      svelte: ^3.55.0
       svelte-check: ^2.9.2
-      typescript: ^4.9.3
+      typescript: ^4.9.4
       vite: ^4.0.0
     devDependencies:
       '@sveltejs/kit': link:../../../..
-      svelte: 3.54.0
-      svelte-check: 2.9.2_svelte@3.54.0
-      typescript: 4.9.3
+      svelte: 3.55.0
+      svelte-check: 2.9.2_svelte@3.55.0
+      typescript: 4.9.4
       vite: 4.0.0
 
   packages/kit/test/build-errors/apps/private-dynamic-env-dynamic-import:
     specifiers:
       '@sveltejs/kit': workspace:^
-      svelte: ^3.54.0
+      svelte: ^3.55.0
       svelte-check: ^2.9.2
-      typescript: ^4.9.3
+      typescript: ^4.9.4
       vite: ^4.0.0
     devDependencies:
       '@sveltejs/kit': link:../../../..
-      svelte: 3.54.0
-      svelte-check: 2.9.2_svelte@3.54.0
-      typescript: 4.9.3
+      svelte: 3.55.0
+      svelte-check: 2.9.2_svelte@3.55.0
+      typescript: 4.9.4
       vite: 4.0.0
 
   packages/kit/test/build-errors/apps/private-static-env:
     specifiers:
       '@sveltejs/kit': workspace:^
       cross-env: ^7.0.3
-      svelte: ^3.54.0
+      svelte: ^3.55.0
       svelte-check: ^2.9.2
-      typescript: ^4.9.3
+      typescript: ^4.9.4
       vite: ^4.0.0
     devDependencies:
       '@sveltejs/kit': link:../../../..
       cross-env: 7.0.3
-      svelte: 3.54.0
-      svelte-check: 2.9.2_svelte@3.54.0
-      typescript: 4.9.3
+      svelte: 3.55.0
+      svelte-check: 2.9.2_svelte@3.55.0
+      typescript: 4.9.4
       vite: 4.0.0
 
   packages/kit/test/build-errors/apps/private-static-env-dynamic-import:
     specifiers:
       '@sveltejs/kit': workspace:^
-      svelte: ^3.54.0
+      svelte: ^3.55.0
       svelte-check: ^2.9.2
-      typescript: ^4.9.3
+      typescript: ^4.9.4
       vite: ^4.0.0
     devDependencies:
       '@sveltejs/kit': link:../../../..
-      svelte: 3.54.0
-      svelte-check: 2.9.2_svelte@3.54.0
-      typescript: 4.9.3
+      svelte: 3.55.0
+      svelte-check: 2.9.2_svelte@3.55.0
+      typescript: 4.9.4
       vite: 4.0.0
 
   packages/kit/test/build-errors/apps/server-only-folder:
     specifiers:
       '@sveltejs/kit': workspace:^
-      svelte: ^3.54.0
+      svelte: ^3.55.0
       svelte-check: ^2.9.2
-      typescript: ^4.9.3
+      typescript: ^4.9.4
       vite: ^4.0.0
     devDependencies:
       '@sveltejs/kit': link:../../../..
-      svelte: 3.54.0
-      svelte-check: 2.9.2_svelte@3.54.0
-      typescript: 4.9.3
+      svelte: 3.55.0
+      svelte-check: 2.9.2_svelte@3.55.0
+      typescript: 4.9.4
       vite: 4.0.0
 
   packages/kit/test/build-errors/apps/server-only-folder-dynamic-import:
     specifiers:
       '@sveltejs/kit': workspace:^
-      svelte: ^3.54.0
+      svelte: ^3.55.0
       svelte-check: ^2.9.2
-      typescript: ^4.9.3
+      typescript: ^4.9.4
       vite: ^4.0.0
     devDependencies:
       '@sveltejs/kit': link:../../../..
-      svelte: 3.54.0
-      svelte-check: 2.9.2_svelte@3.54.0
-      typescript: 4.9.3
+      svelte: 3.55.0
+      svelte-check: 2.9.2_svelte@3.55.0
+      typescript: 4.9.4
       vite: 4.0.0
 
   packages/kit/test/build-errors/apps/server-only-module:
     specifiers:
       '@sveltejs/kit': workspace:^
-      svelte: ^3.54.0
+      svelte: ^3.55.0
       svelte-check: ^2.9.2
-      typescript: ^4.9.3
+      typescript: ^4.9.4
       vite: ^4.0.0
     devDependencies:
       '@sveltejs/kit': link:../../../..
-      svelte: 3.54.0
-      svelte-check: 2.9.2_svelte@3.54.0
-      typescript: 4.9.3
+      svelte: 3.55.0
+      svelte-check: 2.9.2_svelte@3.55.0
+      typescript: 4.9.4
       vite: 4.0.0
 
   packages/kit/test/build-errors/apps/server-only-module-dynamic-import:
     specifiers:
       '@sveltejs/kit': workspace:^
-      svelte: ^3.54.0
+      svelte: ^3.55.0
       svelte-check: ^2.9.2
-      typescript: ^4.9.3
+      typescript: ^4.9.4
       vite: ^4.0.0
     devDependencies:
       '@sveltejs/kit': link:../../../..
-      svelte: 3.54.0
-      svelte-check: 2.9.2_svelte@3.54.0
-      typescript: 4.9.3
+      svelte: 3.55.0
+      svelte-check: 2.9.2_svelte@3.55.0
+      typescript: 4.9.4
       vite: 4.0.0
 
   packages/kit/test/prerendering/basics:
     specifiers:
       '@sveltejs/kit': workspace:^
-      svelte: ^3.54.0
+      svelte: ^3.55.0
       svelte-check: ^2.9.2
-      typescript: ^4.9.3
+      typescript: ^4.9.4
       uvu: ^0.5.6
       vite: ^4.0.0
     devDependencies:
       '@sveltejs/kit': link:../../..
-      svelte: 3.54.0
-      svelte-check: 2.9.2_svelte@3.54.0
-      typescript: 4.9.3
+      svelte: 3.55.0
+      svelte-check: 2.9.2_svelte@3.55.0
+      typescript: 4.9.4
       uvu: 0.5.6
       vite: 4.0.0
 
   packages/kit/test/prerendering/options:
     specifiers:
       '@sveltejs/kit': workspace:^
-      svelte: ^3.54.0
+      svelte: ^3.55.0
       svelte-check: ^2.9.2
-      typescript: ^4.9.3
+      typescript: ^4.9.4
       uvu: ^0.5.6
       vite: ^4.0.0
     devDependencies:
       '@sveltejs/kit': link:../../..
-      svelte: 3.54.0
-      svelte-check: 2.9.2_svelte@3.54.0
-      typescript: 4.9.3
+      svelte: 3.55.0
+      svelte-check: 2.9.2_svelte@3.55.0
+      typescript: 4.9.4
       uvu: 0.5.6
       vite: 4.0.0
 
   packages/kit/test/prerendering/paths-base:
     specifiers:
       '@sveltejs/kit': workspace:^
-      svelte: ^3.54.0
+      svelte: ^3.55.0
       svelte-check: ^2.9.2
-      typescript: ^4.9.3
+      typescript: ^4.9.4
       uvu: ^0.5.6
       vite: ^4.0.0
     devDependencies:
       '@sveltejs/kit': link:../../..
-      svelte: 3.54.0
-      svelte-check: 2.9.2_svelte@3.54.0
-      typescript: 4.9.3
+      svelte: 3.55.0
+      svelte-check: 2.9.2_svelte@3.55.0
+      typescript: 4.9.4
       uvu: 0.5.6
       vite: 4.0.0
 
   packages/kit/test/prerendering/ssr-false:
     specifiers:
       '@sveltejs/kit': workspace:^
-      svelte: ^3.54.0
+      svelte: ^3.55.0
       svelte-check: ^2.9.2
-      typescript: ^4.9.3
+      typescript: ^4.9.4
       uvu: ^0.5.6
       vite: ^4.0.0
     devDependencies:
       '@sveltejs/kit': link:../../..
-      svelte: 3.54.0
-      svelte-check: 2.9.2_svelte@3.54.0
-      typescript: 4.9.3
+      svelte: 3.55.0
+      svelte-check: 2.9.2_svelte@3.55.0
+      typescript: 4.9.4
       uvu: 0.5.6
       vite: 4.0.0
 
@@ -646,14 +646,14 @@ importers:
       prettier: ^2.8.0
       prompts: ^2.4.2
       tiny-glob: ^0.2.9
-      typescript: ^4.9.3
+      typescript: ^4.9.4
       uvu: ^0.5.6
     dependencies:
       kleur: 4.1.5
       magic-string: 0.27.0
       prompts: 2.4.2
       tiny-glob: 0.2.9
-      typescript: 4.9.3
+      typescript: 4.9.4
     devDependencies:
       '@types/prompts': 2.4.1
       prettier: 2.8.0
@@ -665,21 +665,21 @@ importers:
       chokidar: ^3.5.3
       kleur: ^4.1.5
       sade: ^1.8.1
-      svelte: ^3.54.0
+      svelte: ^3.55.0
       svelte-preprocess: ^5.0.0
-      svelte2tsx: ~0.5.20
-      typescript: ^4.9.3
+      svelte2tsx: ~0.6.0
+      typescript: ^4.9.4
       uvu: ^0.5.6
     dependencies:
       chokidar: 3.5.3
       kleur: 4.1.5
       sade: 1.8.1
-      svelte2tsx: 0.5.20_gf4dcx76vtk2o62ixxeqx7chra
+      svelte2tsx: 0.6.0_niwyv7xychq2ag6arq5eqxbomm
     devDependencies:
       '@types/node': 16.18.6
-      svelte: 3.54.0
-      svelte-preprocess: 5.0.0_gf4dcx76vtk2o62ixxeqx7chra
-      typescript: 4.9.3
+      svelte: 3.55.0
+      svelte-preprocess: 5.0.0_niwyv7xychq2ag6arq5eqxbomm
+      typescript: 4.9.4
       uvu: 0.5.6
 
   sites/kit.svelte.dev:
@@ -691,7 +691,6 @@ importers:
       '@sveltejs/site-kit': ^3.0.3
       '@types/d3-geo': ^3.0.2
       '@types/node': ^16.18.6
-      '@vercel/edge': ^0.1.2
       d3-geo: ^3.0.1
       d3-geo-projection: ^4.0.0
       flexsearch: ^0.7.31
@@ -700,15 +699,14 @@ importers:
       prism-svelte: ^0.5.0
       prismjs: ^1.29.0
       shiki-twoslash: ^3.1.0
-      svelte: ^3.54.0
+      svelte: ^3.55.0
       tiny-glob: ^0.2.9
       topojson-client: ^3.1.0
-      typescript: ^4.9.3
+      typescript: ^4.9.4
       uvu: ^0.5.6
       vite: ^4.0.0
       vite-imagetools: ^4.0.11
     dependencies:
-      '@vercel/edge': 0.1.2
       d3-geo: 3.0.1
       d3-geo-projection: 4.0.0
       topojson-client: 3.1.0
@@ -726,9 +724,9 @@ importers:
       prism-svelte: 0.5.0
       prismjs: 1.29.0
       shiki-twoslash: 3.1.0
-      svelte: 3.54.0
+      svelte: 3.55.0
       tiny-glob: 0.2.9
-      typescript: 4.9.3
+      typescript: 4.9.4
       uvu: 0.5.6
       vite: 4.0.0_@types+node@16.18.6
       vite-imagetools: 4.0.11
@@ -959,8 +957,8 @@ packages:
       prettier: 2.8.0
     dev: true
 
-  /@cloudflare/kv-asset-handler/0.2.0:
-    resolution: {integrity: sha512-MVbXLbTcAotOPUj0pAMhVtJ+3/kFkwJqc5qNOleOZTv6QkZZABDMS21dSrSlVswEHwrpWC03e4fWytjqKvuE2A==}
+  /@cloudflare/kv-asset-handler/0.3.0:
+    resolution: {integrity: sha512-9CB/MKf/wdvbfkUdfrj+OkEwZ5b7rws0eogJ4293h+7b6KX5toPwym+VQKmILafNB9YiehqY0DlNrDcDhdWHSQ==}
     dependencies:
       mime: 3.0.0
     dev: true
@@ -1255,8 +1253,8 @@ packages:
   /@polka/url/1.0.0-next.21:
     resolution: {integrity: sha512-a5Sab1C4/icpTZVzZc5Ghpz88yQtGOyNqYXcZgOssB2uuAr+wF/MvN6bgtW32q7HHrvBki+BsZ0OuNv6EV3K9g==}
 
-  /@rollup/plugin-commonjs/23.0.2_rollup@3.7.0:
-    resolution: {integrity: sha512-e9ThuiRf93YlVxc4qNIurvv+Hp9dnD+4PjOqQs5vAYfcZ3+AXSrcdzXnVjWxcGQOa6KGJFcRZyUI3ktWLavFjg==}
+  /@rollup/plugin-commonjs/24.0.0_rollup@3.7.0:
+    resolution: {integrity: sha512-0w0wyykzdyRRPHOb0cQt14mIBLujfAv6GgP6g8nvg/iBxEm112t3YPPq+Buqe2+imvElTka+bjNlJ/gB56TD8g==}
     engines: {node: '>=14.0.0'}
     peerDependencies:
       rollup: ^2.68.0||^3.0.0
@@ -1269,43 +1267,11 @@ packages:
       estree-walker: 2.0.2
       glob: 8.0.3
       is-reference: 1.2.1
-      magic-string: 0.26.7
-      rollup: 3.7.0
-    dev: false
-
-  /@rollup/plugin-commonjs/23.0.3_rollup@3.7.0:
-    resolution: {integrity: sha512-31HxrT5emGfTyIfAs1lDQHj6EfYxTXcwtX5pIIhq+B/xZBNIqQ179d/CkYxlpYmFCxT78AeU4M8aL8Iv/IBxFA==}
-    engines: {node: '>=14.0.0'}
-    peerDependencies:
-      rollup: ^2.68.0||^3.0.0
-    peerDependenciesMeta:
-      rollup:
-        optional: true
-    dependencies:
-      '@rollup/pluginutils': 5.0.2_rollup@3.7.0
-      commondir: 1.0.1
-      estree-walker: 2.0.2
-      glob: 8.0.3
-      is-reference: 1.2.1
-      magic-string: 0.26.7
-      rollup: 3.7.0
-    dev: true
-
-  /@rollup/plugin-json/5.0.1_rollup@3.7.0:
-    resolution: {integrity: sha512-QCwhZZLvM8nRcTHyR1vOgyTMiAnjiNj1ebD/BMRvbO1oc/z14lZH6PfxXeegee2B6mky/u9fia4fxRM4TqrUaw==}
-    engines: {node: '>=14.0.0'}
-    peerDependencies:
-      rollup: ^1.20.0||^2.0.0||^3.0.0
-    peerDependenciesMeta:
-      rollup:
-        optional: true
-    dependencies:
-      '@rollup/pluginutils': 5.0.2_rollup@3.7.0
+      magic-string: 0.27.0
       rollup: 3.7.0
-    dev: false
 
-  /@rollup/plugin-json/5.0.2_rollup@3.7.0:
-    resolution: {integrity: sha512-D1CoOT2wPvadWLhVcmpkDnesTzjhNIQRWLsc3fA49IFOP2Y84cFOOJ+nKGYedvXHKUsPeq07HR4hXpBBr+CHlA==}
+  /@rollup/plugin-json/6.0.0_rollup@3.7.0:
+    resolution: {integrity: sha512-i/4C5Jrdr1XUarRhVu27EEwjt4GObltD7c+MkCIpO2QIbojw8MUs+CCTqOphQi3Qtg1FLmYt+l+6YeoIf51J7w==}
     engines: {node: '>=14.0.0'}
     peerDependencies:
       rollup: ^1.20.0||^2.0.0||^3.0.0
@@ -1315,7 +1281,6 @@ packages:
     dependencies:
       '@rollup/pluginutils': 5.0.2_rollup@3.7.0
       rollup: 3.7.0
-    dev: true
 
   /@rollup/plugin-node-resolve/15.0.1_rollup@3.7.0:
     resolution: {integrity: sha512-ReY88T7JhJjeRVbfCyNj+NXAG3IIsVMsX9b5/9jC98dRP8/yxlZdz7mHZbHk5zHr24wZZICS5AcXsFZAXYUQEg==}
@@ -1366,7 +1331,7 @@ packages:
     resolution: {integrity: sha512-zetnU9jGOu+DYcwqpgK9uSUv3qrGrL7JagMN7M8B4bQRoBq1lAPnCvBXtlfQckvkQLtH453JJTIX6ULqL1xtpA==}
     dev: true
 
-  /@sveltejs/vite-plugin-svelte/2.0.0_svelte@3.54.0+vite@4.0.0:
+  /@sveltejs/vite-plugin-svelte/2.0.0_svelte@3.55.0+vite@4.0.0:
     resolution: {integrity: sha512-oUFrYQarRv4fppmxdrv00qw3wX8Ycdj0uv33MfpRZyR8K67dyxiOcHnqkB0zSy5sDJA8RC/2aNtYhXJ8NINVHQ==}
     engines: {node: ^14.18.0 || >= 16}
     peerDependencies:
@@ -1377,8 +1342,8 @@ packages:
       deepmerge: 4.2.2
       kleur: 4.1.5
       magic-string: 0.27.0
-      svelte: 3.54.0
-      svelte-hmr: 0.15.1_svelte@3.54.0
+      svelte: 3.55.0
+      svelte-hmr: 0.15.1_svelte@3.55.0
       vite: 4.0.0_@types+node@16.18.6
       vitefu: 0.2.3_vite@4.0.0
     transitivePeerDependencies:
@@ -1534,10 +1499,6 @@ packages:
       - supports-color
     dev: true
 
-  /@vercel/edge/0.1.2:
-    resolution: {integrity: sha512-NmoJ4JvF2/LxU8e8fRJcxaMrO9A8a2WmW6CO9GEomlDltlREyQTUWMk13BuCDDpXUPcSBDrZ2TJIoWiFQEI4sg==}
-    dev: false
-
   /@vercel/nft/0.22.1:
     resolution: {integrity: sha512-lYYZIoxRurqDOSoVIdBicGnpUIpfyaS5qVjdPq+EfI285WqtZK3NK/dyCkiyBul+X2U2OEhRyeMdXPCHGJbohw==}
     hasBin: true
@@ -3035,12 +2996,6 @@ packages:
       sourcemap-codec: 1.4.8
     dev: true
 
-  /magic-string/0.26.7:
-    resolution: {integrity: sha512-hX9XH3ziStPoPhJxLq1syWuZMxbDvGNbVchfrdCtanC7D13888bMFow61x8axrx+GfHLtVeAx2kxL7tTGRl+Ow==}
-    engines: {node: '>=12'}
-    dependencies:
-      sourcemap-codec: 1.4.8
-
   /magic-string/0.27.0:
     resolution: {integrity: sha512-8UnnX2PeRAPZuN12svgR9j7M1uWMovg/CEnIwIG0LFkXSJJe4PdfUGiTGl8V9bsBHFUtfVINcSyYxd7q+kx9fA==}
     engines: {node: '>=12'}
@@ -3564,14 +3519,14 @@ packages:
       which-pm: 2.0.0
     dev: true
 
-  /prettier-plugin-svelte/2.8.1_kaioqtfwjumrsfopsgfoca65re:
+  /prettier-plugin-svelte/2.8.1_nxhwyzrlb2jiv2xtis3ad534qu:
     resolution: {integrity: sha512-KA3K1J3/wKDnCxW7ZDRA/QL2Q67N7Xs3gOERqJ5X1qFjq1DdnN3K1R29scSKwh+kA8FF67pXbYytUpvN/i3iQw==}
     peerDependencies:
       prettier: ^1.16.4 || ^2.0.0
       svelte: ^3.2.0
     dependencies:
       prettier: 2.8.0
-      svelte: 3.54.0
+      svelte: 3.55.0
     dev: true
 
   /prettier/2.8.0:
@@ -3911,7 +3866,7 @@ packages:
       '@typescript/twoslash': 3.1.0
       '@typescript/vfs': 1.3.4
       shiki: 0.10.1
-      typescript: 4.9.3
+      typescript: 4.9.4
     transitivePeerDependencies:
       - supports-color
     dev: true
@@ -4036,6 +3991,7 @@ packages:
   /sourcemap-codec/1.4.8:
     resolution: {integrity: sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==}
     deprecated: Please use @jridgewell/sourcemap-codec instead
+    dev: true
 
   /spawndamnit/2.0.0:
     resolution: {integrity: sha512-j4JKEcncSjFlqIwU5L/rp2N5SIPsdxaRsIv678+TZxZ0SRDJTm8JrxJMjE/XuiEZNEir3S8l0Fa3Ke339WI4qA==}
@@ -4200,7 +4156,7 @@ packages:
     resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==}
     engines: {node: '>= 0.4'}
 
-  /svelte-check/2.9.2_svelte@3.54.0:
+  /svelte-check/2.9.2_svelte@3.55.0:
     resolution: {integrity: sha512-DRi8HhnCiqiGR2YF9ervPGvtoYrheE09cXieCTEqeTPOTJzfoa54Py8rovIBv4bH4n5HgZYIyTQ3DDLHQLl2uQ==}
     hasBin: true
     peerDependencies:
@@ -4212,9 +4168,9 @@ packages:
       import-fresh: 3.3.0
       picocolors: 1.0.0
       sade: 1.8.1
-      svelte: 3.54.0
-      svelte-preprocess: 4.10.7_gf4dcx76vtk2o62ixxeqx7chra
-      typescript: 4.9.3
+      svelte: 3.55.0
+      svelte-preprocess: 4.10.7_niwyv7xychq2ag6arq5eqxbomm
+      typescript: 4.9.4
     transitivePeerDependencies:
       - '@babel/core'
       - coffeescript
@@ -4228,16 +4184,16 @@ packages:
       - sugarss
     dev: true
 
-  /svelte-hmr/0.15.1_svelte@3.54.0:
+  /svelte-hmr/0.15.1_svelte@3.55.0:
     resolution: {integrity: sha512-BiKB4RZ8YSwRKCNVdNxK/GfY+r4Kjgp9jCLEy0DuqAKfmQtpL38cQK3afdpjw4sqSs4PLi3jIPJIFp259NkZtA==}
     engines: {node: ^12.20 || ^14.13.1 || >= 16}
     peerDependencies:
       svelte: '>=3.19.0'
     dependencies:
-      svelte: 3.54.0
+      svelte: 3.55.0
     dev: false
 
-  /svelte-preprocess/4.10.7_gf4dcx76vtk2o62ixxeqx7chra:
+  /svelte-preprocess/4.10.7_niwyv7xychq2ag6arq5eqxbomm:
     resolution: {integrity: sha512-sNPBnqYD6FnmdBrUmBCaqS00RyCsCpj2BG58A1JBswNF7b0OKviwxqVrOL/CKyJrLSClrSeqQv5BXNg2RUbPOw==}
     engines: {node: '>= 9.11.2'}
     requiresBuild: true
@@ -4284,11 +4240,11 @@ packages:
       magic-string: 0.25.9
       sorcery: 0.10.0
       strip-indent: 3.0.0
-      svelte: 3.54.0
-      typescript: 4.9.3
+      svelte: 3.55.0
+      typescript: 4.9.4
     dev: true
 
-  /svelte-preprocess/5.0.0_gf4dcx76vtk2o62ixxeqx7chra:
+  /svelte-preprocess/5.0.0_niwyv7xychq2ag6arq5eqxbomm:
     resolution: {integrity: sha512-q7lpa7i2FBu8Pa+G0MmuQQWETBwCKgsGmuq1Sf6n8q4uaG9ZLcLP0Y+etC6bF4sE6EbLxfiI38zV6RfPe3RSfg==}
     engines: {node: '>= 14.10.0'}
     requiresBuild: true
@@ -4332,24 +4288,24 @@ packages:
       magic-string: 0.27.0
       sorcery: 0.10.0
       strip-indent: 3.0.0
-      svelte: 3.54.0
-      typescript: 4.9.3
+      svelte: 3.55.0
+      typescript: 4.9.4
     dev: true
 
-  /svelte/3.54.0:
-    resolution: {integrity: sha512-tdrgeJU0hob0ZWAMoKXkhcxXA7dpTg6lZGxUeko5YqvPdJBiyRspGsCwV27kIrbrqPP2WUoSV9ca0gnLlw8YzQ==}
+  /svelte/3.55.0:
+    resolution: {integrity: sha512-uGu2FVMlOuey4JoKHKrpZFkoYyj0VLjJdz47zX5+gVK5odxHM40RVhar9/iK2YFRVxvfg9FkhfVlR0sjeIrOiA==}
     engines: {node: '>= 8'}
 
-  /svelte2tsx/0.5.20_gf4dcx76vtk2o62ixxeqx7chra:
-    resolution: {integrity: sha512-yNHmN/uoAnJ7d1XqVohiNA6TMFOxibHyEddUAHVt1PiLXtbwAJF3WaGYlg8QbOdoXzOVsVNCAlqRUIdULUm+OA==}
+  /svelte2tsx/0.6.0_niwyv7xychq2ag6arq5eqxbomm:
+    resolution: {integrity: sha512-TrxfQkO7CKi8Pu2eC/FyteDCdk3OOeQV5u6z7OjYAsOhsd0ClzAKqxJdvp6xxNQLrbFzf/XvCi9Fy8MQ1MleFA==}
     peerDependencies:
-      svelte: ^3.24
-      typescript: ^4.1.2
+      svelte: ^3.55
+      typescript: ^4.9.4
     dependencies:
       dedent-js: 1.0.1
       pascal-case: 3.1.2
-      svelte: 3.54.0
-      typescript: 4.9.3
+      svelte: 3.55.0
+      typescript: 4.9.4
     dev: false
 
   /tar-fs/2.1.1:
@@ -4565,8 +4521,8 @@ packages:
     engines: {node: '>=8'}
     dev: true
 
-  /typescript/4.9.3:
-    resolution: {integrity: sha512-CIfGzTelbKNEnLpLdGFgdyKhG23CKdKgQPOBc+OUNrkJ2vr+KSzsSV5kq5iWhEQbok+quxgGzrAtGWCyU7tHnA==}
+  /typescript/4.9.4:
+    resolution: {integrity: sha512-Uz+dTXYzxXXbsFpM86Wh3dKCxrQqUcVMxwU54orwlJjOpO3ao8L7j5lH+dWfTwgCwIuM9GQ2kvVotzYJMXTBZg==}
     engines: {node: '>=4.2.0'}
     hasBin: true
 
diff --git a/sites/kit.svelte.dev/package.json b/sites/kit.svelte.dev/package.json
index 69aa30b8e..3a04d997e 100644
--- a/sites/kit.svelte.dev/package.json
+++ b/sites/kit.svelte.dev/package.json
@@ -23,16 +23,15 @@
 		"prism-svelte": "^0.5.0",
 		"prismjs": "^1.29.0",
 		"shiki-twoslash": "^3.1.0",
-		"svelte": "^3.54.0",
+		"svelte": "^3.55.0",
 		"tiny-glob": "^0.2.9",
-		"typescript": "^4.9.3",
+		"typescript": "^4.9.4",
 		"uvu": "^0.5.6",
 		"vite": "^4.0.0",
 		"vite-imagetools": "^4.0.11"
 	},
 	"type": "module",
 	"dependencies": {
-		"@vercel/edge": "^0.1.2",
 		"d3-geo": "^3.0.1",
 		"d3-geo-projection": "^4.0.0",
 		"topojson-client": "^3.1.0"
diff --git a/sites/kit.svelte.dev/src/routes/home/Svelte.svelte b/sites/kit.svelte.dev/src/routes/home/Svelte.svelte
index fa07bcb5e..7f0b44d4c 100644
--- a/sites/kit.svelte.dev/src/routes/home/Svelte.svelte
+++ b/sites/kit.svelte.dev/src/routes/home/Svelte.svelte
@@ -28,9 +28,7 @@
 			<p>
 				SvelteKit is built on Svelte, a UI framework that uses a compiler to let you write
 				breathtakingly concise components that do minimal work in the browser, using languages you
-				already know — HTML, CSS and JavaScript. <strong style="color: var(--sk-theme-2)"
-					>It's a love letter to web development.</strong
-				>
+				already know — HTML, CSS and JavaScript. <strong>It's a love letter to web development.</strong>
 			</p>
 
 			<p>


Test patch:
diff --git a/packages/adapter-static/test/apps/prerendered/package.json b/packages/adapter-static/test/apps/prerendered/package.json
index dc1169106..2948ecd1b 100644
--- a/packages/adapter-static/test/apps/prerendered/package.json
+++ b/packages/adapter-static/test/apps/prerendered/package.json
@@ -9,7 +9,7 @@
 	},
 	"devDependencies": {
 		"@sveltejs/kit": "workspace:^",
-		"svelte": "^3.54.0",
+		"svelte": "^3.55.0",
 		"vite": "^4.0.0"
 	},
 	"type": "module"
diff --git a/packages/adapter-static/test/apps/spa/package.json b/packages/adapter-static/test/apps/spa/package.json
index 5ae5f3629..f29595d6b 100644
--- a/packages/adapter-static/test/apps/spa/package.json
+++ b/packages/adapter-static/test/apps/spa/package.json
@@ -11,7 +11,7 @@
 		"@sveltejs/adapter-node": "workspace:^",
 		"@sveltejs/kit": "workspace:^",
 		"sirv-cli": "^2.0.2",
-		"svelte": "^3.54.0",
+		"svelte": "^3.55.0",
 		"vite": "^4.0.0"
 	},
 	"type": "module"
diff --git a/packages/create-svelte/shared/+playwright+default/tests/test.ts b/packages/create-svelte/shared/+playwright+default/tests/test.ts
index c104fe8eb..38b7f95bd 100644
--- a/packages/create-svelte/shared/+playwright+default/tests/test.ts
+++ b/packages/create-svelte/shared/+playwright+default/tests/test.ts
@@ -2,5 +2,5 @@ import { expect, test } from '@playwright/test';
 
 test('about page has expected h1', async ({ page }) => {
 	await page.goto('/about');
-	expect(await page.textContent('h1')).toBe('About this app');
+	await expect(page.locator('h1')).toHaveText('About this app');
 });
diff --git a/packages/kit/test/apps/amp/package.json b/packages/kit/test/apps/amp/package.json
index d773dadb7..f2fd96526 100644
--- a/packages/kit/test/apps/amp/package.json
+++ b/packages/kit/test/apps/amp/package.json
@@ -16,9 +16,9 @@
 		"@sveltejs/kit": "workspace:^",
 		"cross-env": "^7.0.3",
 		"purify-css": "^1.2.5",
-		"svelte": "^3.54.0",
+		"svelte": "^3.55.0",
 		"svelte-check": "^2.9.2",
-		"typescript": "^4.9.3",
+		"typescript": "^4.9.4",
 		"vite": "^4.0.0"
 	},
 	"type": "module"
diff --git a/packages/kit/test/apps/basics/package.json b/packages/kit/test/apps/basics/package.json
index a6fc6901d..fcb31a869 100644
--- a/packages/kit/test/apps/basics/package.json
+++ b/packages/kit/test/apps/basics/package.json
@@ -15,9 +15,9 @@
 		"@sveltejs/kit": "workspace:^",
 		"cross-env": "^7.0.3",
 		"rimraf": "^3.0.2",
-		"svelte": "^3.54.0",
+		"svelte": "^3.55.0",
 		"svelte-check": "^2.9.2",
-		"typescript": "^4.9.3",
+		"typescript": "^4.9.4",
 		"vite": "^4.0.0"
 	},
 	"type": "module"
diff --git a/packages/kit/test/apps/basics/test/test.js b/packages/kit/test/apps/basics/test/test.js
index 0193fbbad..0a8476d16 100644
--- a/packages/kit/test/apps/basics/test/test.js
+++ b/packages/kit/test/apps/basics/test/test.js
@@ -2010,12 +2010,25 @@ test.describe('Actions', () => {
 		);
 	});
 
-	test('redirect', async ({ page }) => {
+	test('redirect', async ({ page, javaScriptEnabled }) => {
 		await page.goto('/actions/redirect');
 
 		page.click('button');
 
-		await Promise.all([page.waitForResponse('/actions/redirect'), page.waitForNavigation()]);
+		const [redirect] = await Promise.all([
+			page.waitForResponse('/actions/redirect'),
+			page.waitForNavigation()
+		]);
+		if (javaScriptEnabled) {
+			expect(await redirect.json()).toEqual({
+				type: 'redirect',
+				location: '/actions/enhance',
+				status: 303
+			});
+		} else {
+			expect(redirect.status()).toBe(303);
+			expect(redirect.headers()['location']).toBe('/actions/enhance');
+		}
 
 		expect(page.url()).toContain('/actions/enhance');
 	});
diff --git a/packages/kit/test/apps/dev-only/package.json b/packages/kit/test/apps/dev-only/package.json
index 90daab97b..0dceef48e 100644
--- a/packages/kit/test/apps/dev-only/package.json
+++ b/packages/kit/test/apps/dev-only/package.json
@@ -13,9 +13,9 @@
 		"@sveltejs/kit": "workspace:^",
 		"cross-env": "^7.0.3",
 		"rimraf": "^3.0.2",
-		"svelte": "^3.54.0",
+		"svelte": "^3.55.0",
 		"svelte-check": "^2.9.2",
-		"typescript": "^4.9.3",
+		"typescript": "^4.9.4",
 		"vite": "^4.0.0"
 	},
 	"type": "module"
diff --git a/packages/kit/test/apps/options-2/package.json b/packages/kit/test/apps/options-2/package.json
index 91d83ae3f..0665d55c8 100644
--- a/packages/kit/test/apps/options-2/package.json
+++ b/packages/kit/test/apps/options-2/package.json
@@ -15,9 +15,9 @@
 		"@sveltejs/adapter-node": "workspace:^",
 		"@sveltejs/kit": "workspace:^",
 		"cross-env": "^7.0.3",
-		"svelte": "^3.54.0",
+		"svelte": "^3.55.0",
 		"svelte-check": "^2.9.2",
-		"typescript": "^4.9.3",
+		"typescript": "^4.9.4",
 		"vite": "^4.0.0"
 	},
 	"type": "module"
diff --git a/packages/kit/test/apps/options/package.json b/packages/kit/test/apps/options/package.json
index a463aa0ad..09f130c33 100644
--- a/packages/kit/test/apps/options/package.json
+++ b/packages/kit/test/apps/options/package.json
@@ -14,9 +14,9 @@
 	"devDependencies": {
 		"@sveltejs/kit": "workspace:^",
 		"cross-env": "^7.0.3",
-		"svelte": "^3.54.0",
+		"svelte": "^3.55.0",
 		"svelte-check": "^2.9.2",
-		"typescript": "^4.9.3",
+		"typescript": "^4.9.4",
 		"vite": "^4.0.0"
 	},
 	"type": "module"
diff --git a/packages/kit/test/apps/writes/package.json b/packages/kit/test/apps/writes/package.json
index 951dba079..8101b686c 100644
--- a/packages/kit/test/apps/writes/package.json
+++ b/packages/kit/test/apps/writes/package.json
@@ -15,9 +15,9 @@
 		"@sveltejs/kit": "workspace:^",
 		"cross-env": "^7.0.3",
 		"rimraf": "^3.0.2",
-		"svelte": "^3.54.0",
+		"svelte": "^3.55.0",
 		"svelte-check": "^2.9.2",
-		"typescript": "^4.9.3",
+		"typescript": "^4.9.4",
 		"vite": "^4.0.0"
 	},
 	"type": "module"
diff --git a/packages/kit/test/build-errors/apps/prerenderable-incorrect-fragment/package.json b/packages/kit/test/build-errors/apps/prerenderable-incorrect-fragment/package.json
index bcd1756b4..a88e5cca1 100644
--- a/packages/kit/test/build-errors/apps/prerenderable-incorrect-fragment/package.json
+++ b/packages/kit/test/build-errors/apps/prerenderable-incorrect-fragment/package.json
@@ -11,9 +11,9 @@
 	"devDependencies": {
 		"@sveltejs/adapter-auto": "workspace:^",
 		"@sveltejs/kit": "workspace:^",
-		"svelte": "^3.54.0",
+		"svelte": "^3.55.0",
 		"svelte-check": "^2.7.1",
-		"typescript": "^4.9.3",
+		"typescript": "^4.9.4",
 		"vite": "^4.0.0"
 	},
 	"type": "module"
diff --git a/packages/kit/test/build-errors/apps/prerenderable-not-prerendered/package.json b/packages/kit/test/build-errors/apps/prerenderable-not-prerendered/package.json
index 6121a2070..53bd4ede4 100644
--- a/packages/kit/test/build-errors/apps/prerenderable-not-prerendered/package.json
+++ b/packages/kit/test/build-errors/apps/prerenderable-not-prerendered/package.json
@@ -11,9 +11,9 @@
 	"devDependencies": {
 		"@sveltejs/adapter-auto": "workspace:^",
 		"@sveltejs/kit": "workspace:^",
-		"svelte": "^3.54.0",
+		"svelte": "^3.55.0",
 		"svelte-check": "^2.9.2",
-		"typescript": "^4.9.3",
+		"typescript": "^4.9.4",
 		"vite": "^4.0.0"
 	},
 	"type": "module"
diff --git a/packages/kit/test/build-errors/apps/private-dynamic-env-dynamic-import/package.json b/packages/kit/test/build-errors/apps/private-dynamic-env-dynamic-import/package.json
index 854ebd023..406510172 100644
--- a/packages/kit/test/build-errors/apps/private-dynamic-env-dynamic-import/package.json
+++ b/packages/kit/test/build-errors/apps/private-dynamic-env-dynamic-import/package.json
@@ -11,9 +11,9 @@
 	},
 	"devDependencies": {
 		"@sveltejs/kit": "workspace:^",
-		"svelte": "^3.54.0",
+		"svelte": "^3.55.0",
 		"svelte-check": "^2.9.2",
-		"typescript": "^4.9.3",
+		"typescript": "^4.9.4",
 		"vite": "^4.0.0"
 	},
 	"type": "module"
diff --git a/packages/kit/test/build-errors/apps/private-dynamic-env/package.json b/packages/kit/test/build-errors/apps/private-dynamic-env/package.json
index e334da656..46c8569b5 100644
--- a/packages/kit/test/build-errors/apps/private-dynamic-env/package.json
+++ b/packages/kit/test/build-errors/apps/private-dynamic-env/package.json
@@ -11,9 +11,9 @@
 	},
 	"devDependencies": {
 		"@sveltejs/kit": "workspace:^",
-		"svelte": "^3.54.0",
+		"svelte": "^3.55.0",
 		"svelte-check": "^2.9.2",
-		"typescript": "^4.9.3",
+		"typescript": "^4.9.4",
 		"vite": "^4.0.0"
 	},
 	"type": "module"
diff --git a/packages/kit/test/build-errors/apps/private-static-env-dynamic-import/package.json b/packages/kit/test/build-errors/apps/private-static-env-dynamic-import/package.json
index 44a2e5a5a..cabc02028 100644
--- a/packages/kit/test/build-errors/apps/private-static-env-dynamic-import/package.json
+++ b/packages/kit/test/build-errors/apps/private-static-env-dynamic-import/package.json
@@ -11,9 +11,9 @@
 	},
 	"devDependencies": {
 		"@sveltejs/kit": "workspace:^",
-		"svelte": "^3.54.0",
+		"svelte": "^3.55.0",
 		"svelte-check": "^2.9.2",
-		"typescript": "^4.9.3",
+		"typescript": "^4.9.4",
 		"vite": "^4.0.0"
 	},
 	"type": "module"
diff --git a/packages/kit/test/build-errors/apps/private-static-env/package.json b/packages/kit/test/build-errors/apps/private-static-env/package.json
index 6591bb197..793489980 100644
--- a/packages/kit/test/build-errors/apps/private-static-env/package.json
+++ b/packages/kit/test/build-errors/apps/private-static-env/package.json
@@ -12,9 +12,9 @@
 	"devDependencies": {
 		"@sveltejs/kit": "workspace:^",
 		"cross-env": "^7.0.3",
-		"svelte": "^3.54.0",
+		"svelte": "^3.55.0",
 		"svelte-check": "^2.9.2",
-		"typescript": "^4.9.3",
+		"typescript": "^4.9.4",
 		"vite": "^4.0.0"
 	},
 	"type": "module"
diff --git a/packages/kit/test/build-errors/apps/server-only-folder-dynamic-import/package.json b/packages/kit/test/build-errors/apps/server-only-folder-dynamic-import/package.json
index b3f83571c..8e10e3d9c 100644
--- a/packages/kit/test/build-errors/apps/server-only-folder-dynamic-import/package.json
+++ b/packages/kit/test/build-errors/apps/server-only-folder-dynamic-import/package.json
@@ -11,9 +11,9 @@
 	},
 	"devDependencies": {
 		"@sveltejs/kit": "workspace:^",
-		"svelte": "^3.54.0",
+		"svelte": "^3.55.0",
 		"svelte-check": "^2.9.2",
-		"typescript": "^4.9.3",
+		"typescript": "^4.9.4",
 		"vite": "^4.0.0"
 	},
 	"type": "module"
diff --git a/packages/kit/test/build-errors/apps/server-only-folder/package.json b/packages/kit/test/build-errors/apps/server-only-folder/package.json
index 310dd2dc7..63ce06eb2 100644
--- a/packages/kit/test/build-errors/apps/server-only-folder/package.json
+++ b/packages/kit/test/build-errors/apps/server-only-folder/package.json
@@ -11,9 +11,9 @@
 	},
 	"devDependencies": {
 		"@sveltejs/kit": "workspace:^",
-		"svelte": "^3.54.0",
+		"svelte": "^3.55.0",
 		"svelte-check": "^2.9.2",
-		"typescript": "^4.9.3",
+		"typescript": "^4.9.4",
 		"vite": "^4.0.0"
 	},
 	"type": "module"
diff --git a/packages/kit/test/build-errors/apps/server-only-module-dynamic-import/package.json b/packages/kit/test/build-errors/apps/server-only-module-dynamic-import/package.json
index 016624edf..6a0789716 100644
--- a/packages/kit/test/build-errors/apps/server-only-module-dynamic-import/package.json
+++ b/packages/kit/test/build-errors/apps/server-only-module-dynamic-import/package.json
@@ -11,9 +11,9 @@
 	},
 	"devDependencies": {
 		"@sveltejs/kit": "workspace:^",
-		"svelte": "^3.54.0",
+		"svelte": "^3.55.0",
 		"svelte-check": "^2.9.2",
-		"typescript": "^4.9.3",
+		"typescript": "^4.9.4",
 		"vite": "^4.0.0"
 	},
 	"type": "module"
diff --git a/packages/kit/test/build-errors/apps/server-only-module/package.json b/packages/kit/test/build-errors/apps/server-only-module/package.json
index 91a9e216a..33cf9eb04 100644
--- a/packages/kit/test/build-errors/apps/server-only-module/package.json
+++ b/packages/kit/test/build-errors/apps/server-only-module/package.json
@@ -11,9 +11,9 @@
 	},
 	"devDependencies": {
 		"@sveltejs/kit": "workspace:^",
-		"svelte": "^3.54.0",
+		"svelte": "^3.55.0",
 		"svelte-check": "^2.9.2",
-		"typescript": "^4.9.3",
+		"typescript": "^4.9.4",
 		"vite": "^4.0.0"
 	},
 	"type": "module"
diff --git a/packages/kit/test/prerendering/basics/package.json b/packages/kit/test/prerendering/basics/package.json
index 216d7accb..86562fd79 100644
--- a/packages/kit/test/prerendering/basics/package.json
+++ b/packages/kit/test/prerendering/basics/package.json
@@ -11,9 +11,9 @@
 	},
 	"devDependencies": {
 		"@sveltejs/kit": "workspace:^",
-		"svelte": "^3.54.0",
+		"svelte": "^3.55.0",
 		"svelte-check": "^2.9.2",
-		"typescript": "^4.9.3",
+		"typescript": "^4.9.4",
 		"uvu": "^0.5.6",
 		"vite": "^4.0.0"
 	},
diff --git a/packages/kit/test/prerendering/options/package.json b/packages/kit/test/prerendering/options/package.json
index f0667f467..849b72cd3 100644
--- a/packages/kit/test/prerendering/options/package.json
+++ b/packages/kit/test/prerendering/options/package.json
@@ -11,9 +11,9 @@
 	},
 	"devDependencies": {
 		"@sveltejs/kit": "workspace:^",
-		"svelte": "^3.54.0",
+		"svelte": "^3.55.0",
 		"svelte-check": "^2.9.2",
-		"typescript": "^4.9.3",
+		"typescript": "^4.9.4",
 		"uvu": "^0.5.6",
 		"vite": "^4.0.0"
 	},
diff --git a/packages/kit/test/prerendering/paths-base/package.json b/packages/kit/test/prerendering/paths-base/package.json
index bf75751d4..b44f73d5c 100644
--- a/packages/kit/test/prerendering/paths-base/package.json
+++ b/packages/kit/test/prerendering/paths-base/package.json
@@ -11,9 +11,9 @@
 	},
 	"devDependencies": {
 		"@sveltejs/kit": "workspace:^",
-		"svelte": "^3.54.0",
+		"svelte": "^3.55.0",
 		"svelte-check": "^2.9.2",
-		"typescript": "^4.9.3",
+		"typescript": "^4.9.4",
 		"uvu": "^0.5.6",
 		"vite": "^4.0.0"
 	},
diff --git a/packages/kit/test/prerendering/ssr-false/package.json b/packages/kit/test/prerendering/ssr-false/package.json
index 5075166c6..7887a34b6 100644
--- a/packages/kit/test/prerendering/ssr-false/package.json
+++ b/packages/kit/test/prerendering/ssr-false/package.json
@@ -11,9 +11,9 @@
 	},
 	"devDependencies": {
 		"@sveltejs/kit": "workspace:^",
-		"svelte": "^3.54.0",
+		"svelte": "^3.55.0",
 		"svelte-check": "^2.9.2",
-		"typescript": "^4.9.3",
+		"typescript": "^4.9.4",
 		"uvu": "^0.5.6",
 		"vite": "^4.0.0"
 	},
diff --git a/packages/package/test/fixtures/exports-merge/expected/internal/_Private.svelte.d.ts b/packages/package/test/fixtures/exports-merge/expected/internal/_Private.svelte.d.ts
index 6bd4c091a..55647e2f8 100644
--- a/packages/package/test/fixtures/exports-merge/expected/internal/_Private.svelte.d.ts
+++ b/packages/package/test/fixtures/exports-merge/expected/internal/_Private.svelte.d.ts
@@ -1,7 +1,10 @@
 /** @typedef {typeof __propDef.props}  PrivateProps */
 /** @typedef {typeof __propDef.events}  PrivateEvents */
 /** @typedef {typeof __propDef.slots}  PrivateSlots */
-export default class Private extends SvelteComponentTyped<{}, {
+export default class Private extends SvelteComponentTyped<
+{
+	[x:string]: never;
+}, {
 	[evt: string]: CustomEvent<any>;
 },
 {}
@@ -12,7 +15,9 @@ export type PrivateEvents = typeof __propDef.events;
 export type PrivateSlots = typeof __propDef.slots;
 import { SvelteComponentTyped } from "svelte";
 declare const __propDef: {
-	props: {};
+	props: {
+		[x:string]: never;
+	};
 	events: {
 		[evt: string]: CustomEvent<any>;
 	};