diff --git a/.changeset/dry-cars-dance.md b/.changeset/dry-cars-dance.md new file mode 100644 index 000000000000..1fe726215a8f --- /dev/null +++ b/.changeset/dry-cars-dance.md @@ -0,0 +1,5 @@ +--- +'@sveltejs/kit': patch +--- + +Reload page to recover from HMR errors diff --git a/packages/kit/package.json b/packages/kit/package.json index e81133b93a50..c3c104b92730 100644 --- a/packages/kit/package.json +++ b/packages/kit/package.json @@ -10,7 +10,7 @@ "homepage": "https://kit.svelte.dev", "type": "module", "dependencies": { - "@sveltejs/vite-plugin-svelte": "^1.0.0-next.44", + "@sveltejs/vite-plugin-svelte": "^1.0.0-next.46", "chokidar": "^3.5.3", "sade": "^1.7.4", "vite": "^2.9.9" diff --git a/packages/kit/src/runtime/client/client.js b/packages/kit/src/runtime/client/client.js index 331861ff73be..ddc5c329cdd9 100644 --- a/packages/kit/src/runtime/client/client.js +++ b/packages/kit/src/runtime/client/client.js @@ -986,6 +986,12 @@ export function create_client({ target, session, base, trailing_slash }) { return new Promise(() => {}); } + if (import.meta.hot) { + import.meta.hot.on('vite:beforeUpdate', () => { + if (current.error) location.reload(); + }); + } + return { after_navigate: (fn) => { onMount(() => { diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index f31e644756e1..6e49abf92bd9 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -201,7 +201,7 @@ importers: packages/kit: specifiers: - '@sveltejs/vite-plugin-svelte': ^1.0.0-next.44 + '@sveltejs/vite-plugin-svelte': ^1.0.0-next.46 '@types/connect': ^3.4.35 '@types/cookie': ^0.5.0 '@types/marked': ^4.0.1 @@ -221,7 +221,7 @@ importers: svelte: ^3.48.0 vite: ^2.9.9 dependencies: - '@sveltejs/vite-plugin-svelte': 1.0.0-next.44_svelte@3.48.0+vite@2.9.9 + '@sveltejs/vite-plugin-svelte': 1.0.0-next.46_svelte@3.48.0+vite@2.9.9 chokidar: 3.5.3 sade: 1.7.4 vite: 2.9.9 @@ -1325,8 +1325,8 @@ packages: golden-fleece: 1.0.9 dev: true - /@sveltejs/vite-plugin-svelte/1.0.0-next.44_svelte@3.48.0+vite@2.9.9: - resolution: {integrity: sha512-n+sssEWbzykPS447FmnNyU5GxEhrBPDVd0lxNZnxRGz9P6651LjjwAnISKr3CKgT9v8IybP8VD0n2i5XzbqExg==} + /@sveltejs/vite-plugin-svelte/1.0.0-next.46_svelte@3.48.0+vite@2.9.9: + resolution: {integrity: sha512-dumtaI5XusnDgXoQ3vxQAdoCaTWf8zKVezJdiTGjuaS/GSsmLIvtHUvMt0NlwEikPQ/hL53eIzMliRQ/j35w9w==} engines: {node: ^14.13.1 || >= 16} peerDependencies: diff-match-patch: ^1.0.5 @@ -1342,7 +1342,7 @@ packages: kleur: 4.1.4 magic-string: 0.26.2 svelte: 3.48.0 - svelte-hmr: 0.14.11_svelte@3.48.0 + svelte-hmr: 0.14.12_svelte@3.48.0 vite: 2.9.9 transitivePeerDependencies: - supports-color @@ -5485,8 +5485,8 @@ packages: - sugarss dev: true - /svelte-hmr/0.14.11_svelte@3.48.0: - resolution: {integrity: sha512-R9CVfX6DXxW1Kn45Jtmx+yUe+sPhrbYSUp7TkzbW0jI5fVPn6lsNG9NEs5dFg5qRhFNAoVdRw5qQDLALNKhwbQ==} + /svelte-hmr/0.14.12_svelte@3.48.0: + resolution: {integrity: sha512-4QSW/VvXuqVcFZ+RhxiR8/newmwOCTlbYIezvkeN6302YFRE8cXy0naamHcjz8Y9Ce3ITTZtrHrIL0AGfyo61w==} engines: {node: ^12.20 || ^14.13.1 || >= 16} peerDependencies: svelte: '>=3.19.0' diff --git a/turbo.json b/turbo.json index 6befd0c66819..9c25db101f29 100644 --- a/turbo.json +++ b/turbo.json @@ -27,7 +27,9 @@ "outputs": [] }, "format": {}, - "sync": {}, + "sync": { + "outputs": [".svelte-kit/types/**", ".custom-out-dir/types/**"] + }, "test": { "dependsOn": ["^build", "$CI", "$TURBO_CACHE_KEY"], "outputs": []