From 5a671cbfc0f7d1a60befb6a4b07af1f16006fe00 Mon Sep 17 00:00:00 2001
From: Puru Vijay <47742487+PuruVJ@users.noreply.github.com>
Date: Sat, 13 May 2023 05:23:15 +0530
Subject: [PATCH] feat(site-2): New REPL (#8545)
---
sites/svelte.dev/package-lock.json | 393 +++++++++++++++---
sites/svelte.dev/package.json | 5 +-
.../src/lib/components/ReplWidget.svelte | 15 +-
.../routes/(authed)/repl/[id]/+page.svelte | 11 +-
.../src/routes/examples/[slug]/+page.svelte | 5 +-
.../src/routes/tutorial/[slug]/+page.svelte | 8 +-
sites/svelte.dev/vite.config.js | 24 +-
7 files changed, 365 insertions(+), 96 deletions(-)
diff --git a/sites/svelte.dev/package-lock.json b/sites/svelte.dev/package-lock.json
index 2bd1cdd34b..64059891b2 100644
--- a/sites/svelte.dev/package-lock.json
+++ b/sites/svelte.dev/package-lock.json
@@ -9,13 +9,12 @@
"version": "1.0.0",
"dependencies": {
"@supabase/supabase-js": "^2.21.0",
- "@sveltejs/repl": "^0.4.0",
+ "@sveltejs/repl": "^0.5.0-next.3",
"cookie": "^0.5.0",
"devalue": "^4.3.0",
"do-not-zip": "^1.0.0",
"flexsearch": "^0.7.31",
- "flru": "^1.0.2",
- "sourcemap-codec": "^1.4.8"
+ "flru": "^1.0.2"
},
"devDependencies": {
"@resvg/resvg-js": "^2.4.1",
@@ -84,6 +83,146 @@
"node": ">=6.9.0"
}
},
+ "node_modules/@codemirror/autocomplete": {
+ "version": "6.7.0",
+ "resolved": "https://registry.npmjs.org/@codemirror/autocomplete/-/autocomplete-6.7.0.tgz",
+ "integrity": "sha512-di5NFfxuG3c2dllwb33Zyw6Qsmo/W+cFCO2JzBPZLWlLSkgKQfr+r0Kf3qK1b/TwkQ3MbnBQY8Z01hkSYX6Qfw==",
+ "dependencies": {
+ "@codemirror/language": "^6.0.0",
+ "@codemirror/state": "^6.0.0",
+ "@codemirror/view": "^6.6.0",
+ "@lezer/common": "^1.0.0"
+ },
+ "peerDependencies": {
+ "@codemirror/language": "^6.0.0",
+ "@codemirror/state": "^6.0.0",
+ "@codemirror/view": "^6.0.0",
+ "@lezer/common": "^1.0.0"
+ }
+ },
+ "node_modules/@codemirror/commands": {
+ "version": "6.2.4",
+ "resolved": "https://registry.npmjs.org/@codemirror/commands/-/commands-6.2.4.tgz",
+ "integrity": "sha512-42lmDqVH0ttfilLShReLXsDfASKLXzfyC36bzwcqzox9PlHulMcsUOfHXNo2X2aFMVNUoQ7j+d4q5bnfseYoOA==",
+ "dependencies": {
+ "@codemirror/language": "^6.0.0",
+ "@codemirror/state": "^6.2.0",
+ "@codemirror/view": "^6.0.0",
+ "@lezer/common": "^1.0.0"
+ }
+ },
+ "node_modules/@codemirror/lang-css": {
+ "version": "6.2.0",
+ "resolved": "https://registry.npmjs.org/@codemirror/lang-css/-/lang-css-6.2.0.tgz",
+ "integrity": "sha512-oyIdJM29AyRPM3+PPq1I2oIk8NpUfEN3kAM05XWDDs6o3gSneIKaVJifT2P+fqONLou2uIgXynFyMUDQvo/szA==",
+ "dependencies": {
+ "@codemirror/autocomplete": "^6.0.0",
+ "@codemirror/language": "^6.0.0",
+ "@codemirror/state": "^6.0.0",
+ "@lezer/common": "^1.0.2",
+ "@lezer/css": "^1.0.0"
+ }
+ },
+ "node_modules/@codemirror/lang-html": {
+ "version": "6.4.3",
+ "resolved": "https://registry.npmjs.org/@codemirror/lang-html/-/lang-html-6.4.3.tgz",
+ "integrity": "sha512-VKzQXEC8nL69Jg2hvAFPBwOdZNvL8tMFOrdFwWpU+wc6a6KEkndJ/19R5xSaglNX6v2bttm8uIEFYxdQDcIZVQ==",
+ "dependencies": {
+ "@codemirror/autocomplete": "^6.0.0",
+ "@codemirror/lang-css": "^6.0.0",
+ "@codemirror/lang-javascript": "^6.0.0",
+ "@codemirror/language": "^6.4.0",
+ "@codemirror/state": "^6.0.0",
+ "@codemirror/view": "^6.2.2",
+ "@lezer/common": "^1.0.0",
+ "@lezer/css": "^1.1.0",
+ "@lezer/html": "^1.3.0"
+ }
+ },
+ "node_modules/@codemirror/lang-javascript": {
+ "version": "6.1.7",
+ "resolved": "https://registry.npmjs.org/@codemirror/lang-javascript/-/lang-javascript-6.1.7.tgz",
+ "integrity": "sha512-KXKqxlZ4W6t5I7i2ScmITUD3f/F5Cllk3kj0De9P9mFeYVfhOVOWuDLgYiLpk357u7Xh4dhqjJAnsNPPoTLghQ==",
+ "dependencies": {
+ "@codemirror/autocomplete": "^6.0.0",
+ "@codemirror/language": "^6.6.0",
+ "@codemirror/lint": "^6.0.0",
+ "@codemirror/state": "^6.0.0",
+ "@codemirror/view": "^6.0.0",
+ "@lezer/common": "^1.0.0",
+ "@lezer/javascript": "^1.0.0"
+ }
+ },
+ "node_modules/@codemirror/lang-json": {
+ "version": "6.0.1",
+ "resolved": "https://registry.npmjs.org/@codemirror/lang-json/-/lang-json-6.0.1.tgz",
+ "integrity": "sha512-+T1flHdgpqDDlJZ2Lkil/rLiRy684WMLc74xUnjJH48GQdfJo/pudlTRreZmKwzP8/tGdKf83wlbAdOCzlJOGQ==",
+ "dependencies": {
+ "@codemirror/language": "^6.0.0",
+ "@lezer/json": "^1.0.0"
+ }
+ },
+ "node_modules/@codemirror/lang-markdown": {
+ "version": "6.1.1",
+ "resolved": "https://registry.npmjs.org/@codemirror/lang-markdown/-/lang-markdown-6.1.1.tgz",
+ "integrity": "sha512-n87Ms6Y5UYb1UkFu8sRzTLfq/yyF1y2AYiWvaVdbBQi5WDj1tFk5N+AKA+WC0Jcjc1VxvrCCM0iizjdYYi9sFQ==",
+ "dependencies": {
+ "@codemirror/lang-html": "^6.0.0",
+ "@codemirror/language": "^6.3.0",
+ "@codemirror/state": "^6.0.0",
+ "@codemirror/view": "^6.0.0",
+ "@lezer/common": "^1.0.0",
+ "@lezer/markdown": "^1.0.0"
+ }
+ },
+ "node_modules/@codemirror/language": {
+ "version": "6.6.0",
+ "resolved": "https://registry.npmjs.org/@codemirror/language/-/language-6.6.0.tgz",
+ "integrity": "sha512-cwUd6lzt3MfNYOobdjf14ZkLbJcnv4WtndYaoBkbor/vF+rCNguMPK0IRtvZJG4dsWiaWPcK8x1VijhvSxnstg==",
+ "dependencies": {
+ "@codemirror/state": "^6.0.0",
+ "@codemirror/view": "^6.0.0",
+ "@lezer/common": "^1.0.0",
+ "@lezer/highlight": "^1.0.0",
+ "@lezer/lr": "^1.0.0",
+ "style-mod": "^4.0.0"
+ }
+ },
+ "node_modules/@codemirror/lint": {
+ "version": "6.2.1",
+ "resolved": "https://registry.npmjs.org/@codemirror/lint/-/lint-6.2.1.tgz",
+ "integrity": "sha512-y1muai5U/uUPAGRyHMx9mHuHLypPcHWxzlZGknp/U5Mdb5Ol8Q5ZLp67UqyTbNFJJ3unVxZ8iX3g1fMN79S1JQ==",
+ "dependencies": {
+ "@codemirror/state": "^6.0.0",
+ "@codemirror/view": "^6.0.0",
+ "crelt": "^1.0.5"
+ }
+ },
+ "node_modules/@codemirror/search": {
+ "version": "6.4.0",
+ "resolved": "https://registry.npmjs.org/@codemirror/search/-/search-6.4.0.tgz",
+ "integrity": "sha512-zMDgaBXah+nMLK2dHz9GdCnGbQu+oaGRXS1qviqNZkvOCv/whp5XZFyoikLp/23PM9RBcbuKUUISUmQHM1eRHw==",
+ "dependencies": {
+ "@codemirror/state": "^6.0.0",
+ "@codemirror/view": "^6.0.0",
+ "crelt": "^1.0.5"
+ }
+ },
+ "node_modules/@codemirror/state": {
+ "version": "6.2.0",
+ "resolved": "https://registry.npmjs.org/@codemirror/state/-/state-6.2.0.tgz",
+ "integrity": "sha512-69QXtcrsc3RYtOtd+GsvczJ319udtBf1PTrr2KbLWM/e2CXUPnh0Nz9AUo8WfhSQ7GeL8dPVNUmhQVgpmuaNGA=="
+ },
+ "node_modules/@codemirror/view": {
+ "version": "6.11.1",
+ "resolved": "https://registry.npmjs.org/@codemirror/view/-/view-6.11.1.tgz",
+ "integrity": "sha512-ffKhfty5XcadA2/QSmDCnG6ZQnDfKT4YsH9ACWluhoTpkHuW5gMAK07s9Y76j/OzUqyoUuF+/VISr9BuCWzPqw==",
+ "dependencies": {
+ "@codemirror/state": "^6.1.4",
+ "style-mod": "^4.0.0",
+ "w3c-keyname": "^2.2.4"
+ }
+ },
"node_modules/@esbuild/android-arm": {
"version": "0.17.18",
"resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.17.18.tgz",
@@ -864,6 +1003,73 @@
"integrity": "sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==",
"dev": true
},
+ "node_modules/@lezer/common": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/@lezer/common/-/common-1.0.2.tgz",
+ "integrity": "sha512-SVgiGtMnMnW3ActR8SXgsDhw7a0w0ChHSYAyAUxxrOiJ1OqYWEKk/xJd84tTSPo1mo6DXLObAJALNnd0Hrv7Ng=="
+ },
+ "node_modules/@lezer/css": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/@lezer/css/-/css-1.1.1.tgz",
+ "integrity": "sha512-mSjx+unLLapEqdOYDejnGBokB5+AiJKZVclmud0MKQOKx3DLJ5b5VTCstgDDknR6iIV4gVrN6euzsCnj0A2gQA==",
+ "dependencies": {
+ "@lezer/highlight": "^1.0.0",
+ "@lezer/lr": "^1.0.0"
+ }
+ },
+ "node_modules/@lezer/highlight": {
+ "version": "1.1.4",
+ "resolved": "https://registry.npmjs.org/@lezer/highlight/-/highlight-1.1.4.tgz",
+ "integrity": "sha512-IECkFmw2l7sFcYXrV8iT9GeY4W0fU4CxX0WMwhmhMIVjoDdD1Hr6q3G2NqVtLg/yVe5n7i4menG3tJ2r4eCrPQ==",
+ "dependencies": {
+ "@lezer/common": "^1.0.0"
+ }
+ },
+ "node_modules/@lezer/html": {
+ "version": "1.3.4",
+ "resolved": "https://registry.npmjs.org/@lezer/html/-/html-1.3.4.tgz",
+ "integrity": "sha512-HdJYMVZcT4YsMo7lW3ipL4NoyS2T67kMPuSVS5TgLGqmaCjEU/D6xv7zsa1ktvTK5lwk7zzF1e3eU6gBZIPm5g==",
+ "dependencies": {
+ "@lezer/common": "^1.0.0",
+ "@lezer/highlight": "^1.0.0",
+ "@lezer/lr": "^1.0.0"
+ }
+ },
+ "node_modules/@lezer/javascript": {
+ "version": "1.4.3",
+ "resolved": "https://registry.npmjs.org/@lezer/javascript/-/javascript-1.4.3.tgz",
+ "integrity": "sha512-k7Eo9z9B1supZ5cCD4ilQv/RZVN30eUQL+gGbr6ybrEY3avBAL5MDiYi2aa23Aj0A79ry4rJRvPAwE2TM8bd+A==",
+ "dependencies": {
+ "@lezer/highlight": "^1.1.3",
+ "@lezer/lr": "^1.3.0"
+ }
+ },
+ "node_modules/@lezer/json": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/@lezer/json/-/json-1.0.0.tgz",
+ "integrity": "sha512-zbAuUY09RBzCoCA3lJ1+ypKw5WSNvLqGMtasdW6HvVOqZoCpPr8eWrsGnOVWGKGn8Rh21FnrKRVlJXrGAVUqRw==",
+ "dependencies": {
+ "@lezer/highlight": "^1.0.0",
+ "@lezer/lr": "^1.0.0"
+ }
+ },
+ "node_modules/@lezer/lr": {
+ "version": "1.3.4",
+ "resolved": "https://registry.npmjs.org/@lezer/lr/-/lr-1.3.4.tgz",
+ "integrity": "sha512-7o+e4og/QoC/6btozDPJqnzBhUaD1fMfmvnEKQO1wRRiTse1WxaJ3OMEXZJnkgT6HCcTVOctSoXK9jGJw2oe9g==",
+ "dependencies": {
+ "@lezer/common": "^1.0.0"
+ }
+ },
+ "node_modules/@lezer/markdown": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/@lezer/markdown/-/markdown-1.0.2.tgz",
+ "integrity": "sha512-8CY0OoZ6V5EzPjSPeJ4KLVbtXdLBd8V6sRCooN5kHnO28ytreEGTyrtU/zUwo/XLRzGr/e1g44KlzKi3yWGB5A==",
+ "dependencies": {
+ "@lezer/common": "^1.0.0",
+ "@lezer/highlight": "^1.0.0"
+ }
+ },
"node_modules/@mapbox/node-pre-gyp": {
"version": "1.0.10",
"resolved": "https://registry.npmjs.org/@mapbox/node-pre-gyp/-/node-pre-gyp-1.0.10.tgz",
@@ -904,6 +1110,23 @@
}
}
},
+ "node_modules/@neocodemirror/svelte": {
+ "version": "0.0.8",
+ "resolved": "https://registry.npmjs.org/@neocodemirror/svelte/-/svelte-0.0.8.tgz",
+ "integrity": "sha512-t3CP/ZsWgPYzrhqLH9Dukw0GNpMJSpqGBYAQFP1OvYXerd9xwBdXcKovP/x5SmKAiJF6cvWey/5plZNzJvB3vQ==",
+ "dependencies": {
+ "csstype": "^3.1.2",
+ "nanostores": "^0.8.1"
+ },
+ "peerDependencies": {
+ "@codemirror/commands": "^6.2.0",
+ "@codemirror/language": "^6.0.0",
+ "@codemirror/lint": "^6.0.0",
+ "@codemirror/state": "^6.0.0",
+ "@codemirror/view": "^6.0.0",
+ "codemirror": "^6.0.1"
+ }
+ },
"node_modules/@nodelib/fs.scandir": {
"version": "2.1.5",
"resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz",
@@ -944,6 +1167,24 @@
"resolved": "https://registry.npmjs.org/@polka/url/-/url-1.0.0-next.21.tgz",
"integrity": "sha512-a5Sab1C4/icpTZVzZc5Ghpz88yQtGOyNqYXcZgOssB2uuAr+wF/MvN6bgtW32q7HHrvBki+BsZ0OuNv6EV3K9g=="
},
+ "node_modules/@replit/codemirror-lang-svelte": {
+ "version": "6.0.0",
+ "resolved": "https://registry.npmjs.org/@replit/codemirror-lang-svelte/-/codemirror-lang-svelte-6.0.0.tgz",
+ "integrity": "sha512-U2OqqgMM6jKelL0GNWbAmqlu1S078zZNoBqlJBW+retTc5M4Mha6/Y2cf4SVg6ddgloJvmcSpt4hHrVoM4ePRA==",
+ "peerDependencies": {
+ "@codemirror/autocomplete": "^6.0.0",
+ "@codemirror/lang-css": "^6.0.1",
+ "@codemirror/lang-html": "^6.2.0",
+ "@codemirror/lang-javascript": "^6.1.1",
+ "@codemirror/language": "^6.0.0",
+ "@codemirror/state": "^6.0.0",
+ "@codemirror/view": "^6.0.0",
+ "@lezer/common": "^1.0.0",
+ "@lezer/highlight": "^1.0.0",
+ "@lezer/javascript": "^1.2.0",
+ "@lezer/lr": "^1.0.0"
+ }
+ },
"node_modules/@resvg/resvg-js": {
"version": "2.4.1",
"resolved": "https://registry.npmjs.org/@resvg/resvg-js/-/resvg-js-2.4.1.tgz",
@@ -1159,6 +1400,14 @@
"node": ">= 10"
}
},
+ "node_modules/@rich_harris/svelte-split-pane": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/@rich_harris/svelte-split-pane/-/svelte-split-pane-1.1.0.tgz",
+ "integrity": "sha512-gxDfPqRSRx11/t+cs5ao0pXzKSO6CiBDmbcVwD8o/zToNZZTZjompoRmvRRICT9OhPxwwl/87nXJEToorPyICg==",
+ "peerDependencies": {
+ "svelte": "^3.54.0"
+ }
+ },
"node_modules/@rollup/browser": {
"version": "3.21.6",
"resolved": "https://registry.npmjs.org/@rollup/browser/-/browser-3.21.6.tgz",
@@ -1208,9 +1457,9 @@
}
},
"node_modules/@supabase/gotrue-js": {
- "version": "2.25.0",
- "resolved": "https://registry.npmjs.org/@supabase/gotrue-js/-/gotrue-js-2.25.0.tgz",
- "integrity": "sha512-tZXArO0f1NKMQo6rtGryOSqS51WQJQMS3lEHIyH50WffQb/n1tiYY1L8yCyrvTogz9RXpihdQeUjVW77kKd7sQ==",
+ "version": "2.26.0",
+ "resolved": "https://registry.npmjs.org/@supabase/gotrue-js/-/gotrue-js-2.26.0.tgz",
+ "integrity": "sha512-orxz8nwaF5D1nY/9H5xxTfFSCTvYeDLx24UO/Mxsx83xFP0t5RNxQZ0lEHBOhHhXJ4vR/COv79AxoWCOTu/7Rg==",
"dependencies": {
"cross-fetch": "^3.1.5"
}
@@ -1299,34 +1548,36 @@
}
},
"node_modules/@sveltejs/repl": {
- "version": "0.4.0",
- "resolved": "https://registry.npmjs.org/@sveltejs/repl/-/repl-0.4.0.tgz",
- "integrity": "sha512-rx0PepYzLaGCQRbRbMUflKhCqz94Yf+4yov9M9+Qgbb07/5a6fKTito8oYrVRhhh+K/fAJz4lEqif80kuTZg1g==",
- "dependencies": {
- "@rollup/browser": "^3.20.4",
- "@sveltejs/site-kit": "5.0.1",
+ "version": "0.5.0-next.3",
+ "resolved": "https://registry.npmjs.org/@sveltejs/repl/-/repl-0.5.0-next.3.tgz",
+ "integrity": "sha512-objIeGuUkgKcMUklAZ7XL0x/4eO3ocTFgaQnn18eVl/L1KkZALdPUEvvrgkiJ4GPQ4cqAwLv0LdYr3Z62p+48w==",
+ "dependencies": {
+ "@codemirror/autocomplete": "^6.7.0",
+ "@codemirror/commands": "^6.2.4",
+ "@codemirror/lang-css": "^6.2.0",
+ "@codemirror/lang-javascript": "^6.1.7",
+ "@codemirror/lang-json": "^6.0.1",
+ "@codemirror/lang-markdown": "^6.1.1",
+ "@codemirror/language": "^6.6.0",
+ "@codemirror/lint": "^6.2.1",
+ "@codemirror/state": "^6.2.0",
+ "@codemirror/view": "^6.11.1",
+ "@jridgewell/sourcemap-codec": "^1.4.15",
+ "@lezer/highlight": "^1.1.4",
+ "@neocodemirror/svelte": "0.0.8",
+ "@replit/codemirror-lang-svelte": "^6.0.0",
+ "@rich_harris/svelte-split-pane": "^1.1.0",
+ "@rollup/browser": "^3.21.6",
+ "@sveltejs/site-kit": "5.0.4",
"acorn": "^8.8.2",
- "codemirror": "5.65.12",
+ "codemirror": "^6.0.1",
"esm-env": "^1.0.0",
"estree-walker": "^3.0.3",
+ "marked": "^5.0.2",
"resolve.exports": "^2.0.2",
- "svelte-json-tree": "^1.0.0",
- "yootils": "^0.3.1"
+ "svelte-json-tree": "^1.0.0"
},
"peerDependencies": {
- "svelte": "^3.50.0"
- }
- },
- "node_modules/@sveltejs/repl/node_modules/@sveltejs/site-kit": {
- "version": "5.0.1",
- "resolved": "https://registry.npmjs.org/@sveltejs/site-kit/-/site-kit-5.0.1.tgz",
- "integrity": "sha512-6LYCxTGzhC/LhObYc3Mazk4HSi/KjdZ+fURpbvi9tppMk4lfGJb3ajLvGoo0k8t0vBEwrN16Hf/JChgkFOorFg==",
- "dependencies": {
- "esm-env": "^1.0.0",
- "svelte-local-storage-store": "^0.4.0"
- },
- "peerDependencies": {
- "@sveltejs/kit": "^1.0.0",
"svelte": "^3.54.0"
}
},
@@ -1334,7 +1585,6 @@
"version": "5.0.4",
"resolved": "https://registry.npmjs.org/@sveltejs/site-kit/-/site-kit-5.0.4.tgz",
"integrity": "sha512-bn0Lk3hmIz/pDTMvVjiVX/US4OPoc1CzfceI0Y0ljxHs2fdxRTZz881xvItZRF7istLIueoFR1x3HAZPdI2F6g==",
- "dev": true,
"dependencies": {
"esm-env": "^1.0.0",
"svelte-local-storage-store": "^0.4.0"
@@ -1423,9 +1673,9 @@
"dev": true
},
"node_modules/@types/node": {
- "version": "20.1.2",
- "resolved": "https://registry.npmjs.org/@types/node/-/node-20.1.2.tgz",
- "integrity": "sha512-CTO/wa8x+rZU626cL2BlbCDzydgnFNgc19h4YvizpTO88MFQxab8wqisxaofQJ/9bLGugRdWIuX/TbIs6VVF6g=="
+ "version": "20.1.3",
+ "resolved": "https://registry.npmjs.org/@types/node/-/node-20.1.3.tgz",
+ "integrity": "sha512-NP2yfZpgmf2eDRPmgGq+fjGjSwFgYbihA8/gK+ey23qT9RkxsgNTZvGOEpXgzIGqesTYkElELLgtKoMQTys5vA=="
},
"node_modules/@types/phoenix": {
"version": "1.5.6",
@@ -1831,9 +2081,18 @@
"dev": true
},
"node_modules/codemirror": {
- "version": "5.65.12",
- "resolved": "https://registry.npmjs.org/codemirror/-/codemirror-5.65.12.tgz",
- "integrity": "sha512-z2jlHBocElRnPYysN2HAuhXbO3DNB0bcSKmNz3hcWR2Js2Dkhc1bEOxG93Z3DeUrnm+qx56XOY5wQmbP5KY0sw=="
+ "version": "6.0.1",
+ "resolved": "https://registry.npmjs.org/codemirror/-/codemirror-6.0.1.tgz",
+ "integrity": "sha512-J8j+nZ+CdWmIeFIGXEFbFPtpiYacFMDR8GlHK3IyHQJMCaVRfGx9NT+Hxivv1ckLWPvNdZqndbr/7lVhrf/Svg==",
+ "dependencies": {
+ "@codemirror/autocomplete": "^6.0.0",
+ "@codemirror/commands": "^6.0.0",
+ "@codemirror/language": "^6.0.0",
+ "@codemirror/lint": "^6.0.0",
+ "@codemirror/search": "^6.0.0",
+ "@codemirror/state": "^6.0.0",
+ "@codemirror/view": "^6.0.0"
+ }
},
"node_modules/color": {
"version": "4.2.3",
@@ -1921,6 +2180,11 @@
"node": ">= 0.6"
}
},
+ "node_modules/crelt": {
+ "version": "1.0.5",
+ "resolved": "https://registry.npmjs.org/crelt/-/crelt-1.0.5.tgz",
+ "integrity": "sha512-+BO9wPPi+DWTDcNYhr/W90myha8ptzftZT+LwcmUbbok0rcP/fequmFYCw8NMoH7pkAZQzU78b3kYrlua5a9eA=="
+ },
"node_modules/cross-fetch": {
"version": "3.1.5",
"resolved": "https://registry.npmjs.org/cross-fetch/-/cross-fetch-3.1.5.tgz",
@@ -1980,6 +2244,11 @@
"postcss-value-parser": "^4.0.2"
}
},
+ "node_modules/csstype": {
+ "version": "3.1.2",
+ "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.2.tgz",
+ "integrity": "sha512-I7K1Uu0MBPzaFKg4nI5Q7Vs2t+3gWWW648spaF+Rg7pI9ds18Ugn+lvg4SHczUdKlHI5LWBXyqfS8+DufyBsgQ=="
+ },
"node_modules/d": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/d/-/d-1.0.1.tgz",
@@ -2935,10 +3204,9 @@
}
},
"node_modules/marked": {
- "version": "5.0.1",
- "resolved": "https://registry.npmjs.org/marked/-/marked-5.0.1.tgz",
- "integrity": "sha512-Nn9peC4lvIZdcfp8Uze6xk4ZYowkcj/K6+e/6rLHadhtjqeip/bYRxMgt3124IGGJ3RPs2uX5YVmAGbUutY18g==",
- "dev": true,
+ "version": "5.0.2",
+ "resolved": "https://registry.npmjs.org/marked/-/marked-5.0.2.tgz",
+ "integrity": "sha512-TXksm9GwqXCRNbFUZmMtqNLvy3K2cQHuWmyBDLOrY1e6i9UvZpOTJXoz7fBjYkJkaUFzV9hBFxMuZSyQt8R6KQ==",
"bin": {
"marked": "bin/marked.js"
},
@@ -3123,6 +3391,20 @@
"node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1"
}
},
+ "node_modules/nanostores": {
+ "version": "0.8.1",
+ "resolved": "https://registry.npmjs.org/nanostores/-/nanostores-0.8.1.tgz",
+ "integrity": "sha512-1ZCfQtII2XeFDrtqXL2cdQ/diGrLxzRB3YMyQjn8m7GSGQrJfGST2iuqMpWnS/ZlifhtjgR/SX0Jy6Uij6lRLA==",
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/ai"
+ }
+ ],
+ "engines": {
+ "node": "^16.0.0 || >=18.0.0"
+ }
+ },
"node_modules/napi-build-utils": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/napi-build-utils/-/napi-build-utils-1.0.2.tgz",
@@ -3810,9 +4092,9 @@
}
},
"node_modules/satori": {
- "version": "0.8.0",
- "resolved": "https://registry.npmjs.org/satori/-/satori-0.8.0.tgz",
- "integrity": "sha512-hasNIhGgJCqt5Yvy3H0wu8g9vvW5AAOWdt6/R5b+jhukqUTK97CdO3+fUTmuglExtesZRUOybM5yTKVHV2WuSQ==",
+ "version": "0.8.1",
+ "resolved": "https://registry.npmjs.org/satori/-/satori-0.8.1.tgz",
+ "integrity": "sha512-XboyousIz6IThWkKtPu3EyPAYV9ALH2pyC6bXeWKqYt7zAy11Qv40nro9Oozn+DSdaloSzGxnqy3Z7iFOHrX2Q==",
"dev": true,
"dependencies": {
"@shuding/opentype.js": "1.4.0-beta.0",
@@ -3845,9 +4127,9 @@
"dev": true
},
"node_modules/semver": {
- "version": "7.5.0",
- "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.0.tgz",
- "integrity": "sha512-+XC0AD/R7Q2mPSRuy2Id0+CGTZ98+8f+KvwirxOKIEyid+XSx6HbC63p+O4IndTHuX5Z+JxQ0TghCkO5Cg/2HA==",
+ "version": "7.5.1",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.1.tgz",
+ "integrity": "sha512-Wvss5ivl8TMRZXXESstBA4uR5iXgEN/VC5/sOcuXdVLzcdkz4HWetIoRfG5gb5X+ij/G9rw9YoGn3QoQ8OCSpw==",
"dev": true,
"dependencies": {
"lru-cache": "^6.0.0"
@@ -4050,12 +4332,6 @@
"node": ">=0.10.0"
}
},
- "node_modules/sourcemap-codec": {
- "version": "1.4.8",
- "resolved": "https://registry.npmjs.org/sourcemap-codec/-/sourcemap-codec-1.4.8.tgz",
- "integrity": "sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==",
- "deprecated": "Please use @jridgewell/sourcemap-codec instead"
- },
"node_modules/streamsearch": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/streamsearch/-/streamsearch-1.1.0.tgz",
@@ -4149,6 +4425,11 @@
"url": "https://github.com/sponsors/Borewit"
}
},
+ "node_modules/style-mod": {
+ "version": "4.0.3",
+ "resolved": "https://registry.npmjs.org/style-mod/-/style-mod-4.0.3.tgz",
+ "integrity": "sha512-78Jv8kYJdjbvRwwijtCevYADfsI0lGzYJe4mMFdceO8l75DFFDoqBhR1jVDicDRRaX4//g1u9wKeo+ztc2h1Rw=="
+ },
"node_modules/supports-color": {
"version": "5.5.0",
"resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz",
@@ -4658,6 +4939,11 @@
"integrity": "sha512-AFbieoL7a5LMqcnOF04ji+rpXadgOXnZsxQr//r83kLPr7biP7am3g9zbaZIaBGwBRWeSvoMD4mgPdX3e4NWBg==",
"dev": true
},
+ "node_modules/w3c-keyname": {
+ "version": "2.2.6",
+ "resolved": "https://registry.npmjs.org/w3c-keyname/-/w3c-keyname-2.2.6.tgz",
+ "integrity": "sha512-f+fciywl1SJEniZHD6H+kUO8gOnwIr7f4ijKA6+ZvJFjeGi1r4PDLl53Ayud9O/rk64RqgoQine0feoeOU0kXg=="
+ },
"node_modules/web-streams-polyfill": {
"version": "3.2.1",
"resolved": "https://registry.npmjs.org/web-streams-polyfill/-/web-streams-polyfill-3.2.1.tgz",
@@ -4799,11 +5085,6 @@
"resolved": "https://registry.npmjs.org/yoga-wasm-web/-/yoga-wasm-web-0.3.3.tgz",
"integrity": "sha512-N+d4UJSJbt/R3wqY7Coqs5pcV0aUj2j9IaQ3rNj9bVCLld8tTGKRa2USARjnvZJWVx1NDmQev8EknoczaOQDOA==",
"dev": true
- },
- "node_modules/yootils": {
- "version": "0.3.1",
- "resolved": "https://registry.npmjs.org/yootils/-/yootils-0.3.1.tgz",
- "integrity": "sha512-A7AMeJfGefk317I/3tBoUYRcDcNavKEkpiPN/nQsBz/viI2GvT7BtrqdPD6rGqBFN8Ax7v4obf+Cl32JF9DDVw=="
}
}
}
diff --git a/sites/svelte.dev/package.json b/sites/svelte.dev/package.json
index d5ca27a066..aad4f5f333 100644
--- a/sites/svelte.dev/package.json
+++ b/sites/svelte.dev/package.json
@@ -18,13 +18,12 @@
},
"dependencies": {
"@supabase/supabase-js": "^2.21.0",
- "@sveltejs/repl": "^0.4.0",
+ "@sveltejs/repl": "^0.5.0-next.3",
"cookie": "^0.5.0",
"devalue": "^4.3.0",
"do-not-zip": "^1.0.0",
"flexsearch": "^0.7.31",
- "flru": "^1.0.2",
- "sourcemap-codec": "^1.4.8"
+ "flru": "^1.0.2"
},
"devDependencies": {
"@resvg/resvg-js": "^2.4.1",
diff --git a/sites/svelte.dev/src/lib/components/ReplWidget.svelte b/sites/svelte.dev/src/lib/components/ReplWidget.svelte
index 67786474db..2acf7e7b63 100644
--- a/sites/svelte.dev/src/lib/components/ReplWidget.svelte
+++ b/sites/svelte.dev/src/lib/components/ReplWidget.svelte
@@ -2,6 +2,7 @@
import { browser } from '$app/environment';
import { process_example } from '$lib/utils/examples';
import Repl from '@sveltejs/repl';
+ import { theme } from '@sveltejs/site-kit/components';
import { onMount } from 'svelte';
export let version = '3';
@@ -28,16 +29,16 @@
fetch(`/repl/${gist}.json`)
.then((r) => r.json())
.then((data) => {
- const { description, files } = data;
+ const { description, components } = data;
name = description;
- const components = Object.keys(files)
+ const files = Object.keys(components)
.map((file) => {
const dot = file.lastIndexOf('.');
if (!~dot) return;
- const source = files[file].content;
+ const source = components[file].content;
return {
name: file.slice(0, dot),
@@ -55,15 +56,15 @@
return a.name < b.name ? -1 : 1;
});
- repl.set({ components });
+ repl.set({ files });
});
} else if (example) {
- const components = process_example(
+ const files = process_example(
(await fetch(`/examples/api/${example}.json`).then((r) => r.json())).files
);
repl.set({
- components
+ files
});
}
}
@@ -83,5 +84,5 @@
{#if browser}
-
+
{/if}
diff --git a/sites/svelte.dev/src/routes/(authed)/repl/[id]/+page.svelte b/sites/svelte.dev/src/routes/(authed)/repl/[id]/+page.svelte
index 67ad294a53..c559585c6b 100644
--- a/sites/svelte.dev/src/routes/(authed)/repl/[id]/+page.svelte
+++ b/sites/svelte.dev/src/routes/(authed)/repl/[id]/+page.svelte
@@ -1,8 +1,9 @@
@@ -51,6 +53,7 @@
fixed={mobile}
relaxed
injectedJS={mapbox_setup}
+ previewTheme={$theme.current}
/>
diff --git a/sites/svelte.dev/src/routes/tutorial/[slug]/+page.svelte b/sites/svelte.dev/src/routes/tutorial/[slug]/+page.svelte
index 2d8f88a875..0ff2f6461e 100644
--- a/sites/svelte.dev/src/routes/tutorial/[slug]/+page.svelte
+++ b/sites/svelte.dev/src/routes/tutorial/[slug]/+page.svelte
@@ -2,6 +2,7 @@
import { browser } from '$app/environment';
import ScreenToggle from '$lib/components/ScreenToggle.svelte';
import Repl from '@sveltejs/repl';
+ import { theme } from '@sveltejs/site-kit/components';
import { mapbox_setup, svelteUrl } from '../../../config.js';
import TableOfContents from './TableOfContents.svelte';
@@ -59,7 +60,7 @@
$: if (repl) {
completed = false;
repl.set({
- components: data.tutorial.initial.map(clone)
+ files: data.tutorial.initial.map(clone)
});
}
@@ -67,13 +68,13 @@
function reset() {
repl.update({
- components: data.tutorial.initial.map(clone)
+ files: data.tutorial.initial.map(clone)
});
}
function complete() {
repl.update({
- components: data.tutorial.complete.map(clone)
+ files: data.tutorial.complete.map(clone)
});
}
@@ -142,6 +143,7 @@
on:change={handle_change}
injectedJS={mapbox_setup}
relaxed
+ previewTheme={$theme.current}
/>
{/if}
diff --git a/sites/svelte.dev/vite.config.js b/sites/svelte.dev/vite.config.js
index 626bf8a8ec..423272c530 100644
--- a/sites/svelte.dev/vite.config.js
+++ b/sites/svelte.dev/vite.config.js
@@ -23,29 +23,9 @@ const config = {
logLevel: 'info',
plugins: [raw(['.ttf']), imagetools(), sveltekit()],
optimizeDeps: {
- include: [
- 'codemirror',
- 'codemirror/mode/javascript/javascript.js',
- 'codemirror/mode/handlebars/handlebars.js',
- 'codemirror/mode/htmlmixed/htmlmixed.js',
- 'codemirror/mode/xml/xml.js',
- 'codemirror/mode/css/css.js',
- 'codemirror/mode/markdown/markdown.js',
- 'codemirror/addon/edit/closebrackets.js',
- 'codemirror/addon/edit/closetag.js',
- 'codemirror/addon/edit/continuelist.js',
- 'codemirror/addon/comment/comment.js',
- 'codemirror/addon/fold/foldcode.js',
- 'codemirror/addon/fold/foldgutter.js',
- 'codemirror/addon/fold/brace-fold.js',
- 'codemirror/addon/fold/xml-fold.js',
- 'codemirror/addon/fold/indent-fold.js',
- 'codemirror/addon/fold/markdown-fold.js',
- 'codemirror/addon/fold/comment-fold.js'
- ],
- exclude: ['@sveltejs/repl', '@sveltejs/site-kit']
+ exclude: ['@sveltejs/site-kit', '@sveltejs/repl']
},
- ssr: { noExternal: ['@sveltejs/site-kit'] },
+ ssr: { noExternal: ['@sveltejs/site-kit', '@sveltejs/repl'] },
server: {
fs: {
strict: false