Skip to content

Commit 0523867

Browse files
committed
fix: add polyfills / avoid using structuredClone
- polyfills for `at` and `withResolvers` - avoid using `structuredClone`, we can use `JSON.parse(JSON.stringify(..))` instead at that position makes the site work in more browsers closes #911
1 parent 83ae719 commit 0523867

File tree

10 files changed

+29
-2
lines changed

10 files changed

+29
-2
lines changed

apps/svelte.dev/package.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -61,6 +61,7 @@
6161
"@vercel/speed-insights": "^1.0.0",
6262
"browserslist": "^4.23.1",
6363
"chokidar": "^4.0.1",
64+
"core-js": "^3.39.0",
6465
"degit": "^2.8.4",
6566
"dotenv": "^16.4.5",
6667
"esbuild": "^0.21.5",
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
import 'core-js/es/array/at';

apps/svelte.dev/src/routes/(authed)/playground/[id]/+page.svelte

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -69,8 +69,8 @@
6969
7070
if (!hash && !saved) {
7171
repl?.set({
72-
// TODO make this munging unnecessary
73-
files: structuredClone(data.gist.components).map(munge)
72+
// TODO make this munging unnecessary (using JSON instead of structuredClone for better browser compat)
73+
files: JSON.parse(JSON.stringify(data.gist.components)).map(munge)
7474
});
7575
7676
modified = false;

packages/editor/package.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -52,6 +52,7 @@
5252
"@sveltejs/site-kit": "workspace:*",
5353
"@sveltejs/vite-plugin-svelte": "^4.0.0",
5454
"codemirror": "^6.0.1",
55+
"core-js": "^3.39.0",
5556
"prettier": "^3.1.1",
5657
"prettier-plugin-svelte": "^3.1.2",
5758
"publint": "^0.2.0",

packages/editor/src/lib/compile-worker/worker.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
import 'core-js/es/array/at';
2+
import 'core-js/es/promise/with-resolvers';
13
import { parseTar } from 'tarparser';
24
import type { CompileResult } from 'svelte/compiler';
35
import type { ExposedCompilerOptions, File } from '../Workspace.svelte';

packages/repl/package.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -53,6 +53,7 @@
5353
"@sveltejs/package": "^2.0.0",
5454
"@sveltejs/vite-plugin-svelte": "4.0.0",
5555
"@types/estree": "^1.0.5",
56+
"core-js": "^3.39.0",
5657
"prettier": "^3.3.2",
5758
"prettier-plugin-svelte": "^3.2.4",
5859
"publint": "^0.1.9",

packages/repl/src/lib/workers/bundler/index.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
import 'core-js/es/array/at';
2+
import 'core-js/es/promise/with-resolvers';
13
import '../patch_window';
24
import { sleep } from '../../utils';
35
import { rollup } from '@rollup/browser';

packages/site-kit/package.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -48,6 +48,7 @@
4848
"devDependencies": {
4949
"@sveltejs/kit": "^2.8.0",
5050
"@types/node": "^20.12.11",
51+
"core-js": "^3.39.0",
5152
"flexsearch": "^0.7.43",
5253
"magic-string": "^0.30.11",
5354
"marked": "^14.1.2",

packages/site-kit/src/lib/search/search.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
import 'core-js/es/array/at';
12
import flexsearch, { type Index as FlexSearchIndex } from 'flexsearch';
23
import type { Block, BlockGroup } from './types';
34

pnpm-lock.yaml

Lines changed: 17 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)