Skip to content

Commit f08c880

Browse files
committed
avoid overloading svelteUrl, just use the verison string directly
1 parent 1585ffd commit f08c880

File tree

8 files changed

+28
-37
lines changed

8 files changed

+28
-37
lines changed

apps/svelte.dev/src/config.js

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
// REPL props
22

3-
export const svelteUrl = `https://unpkg.com/svelte@4`;
43
export const mapbox_setup = `window.MAPBOX_ACCESS_TOKEN = '${
54
import.meta.env.VITE_MAPBOX_ACCESS_TOKEN
65
}';`;

apps/svelte.dev/src/lib/tutorial/adapters/rollup/index.svelte.ts

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -24,8 +24,7 @@ export async function create(): Promise<Adapter> {
2424

2525
bundler = new Bundler({
2626
packages_url: 'https://unpkg.com',
27-
svelte_url: `https://unpkg.com/svelte`,
28-
// svelte_url: `${browser ? location.origin : ''}/svelte`, // TODO think about bringing back main-build for Playground?
27+
svelte_version: 'latest',
2928
onstatus(val) {
3029
if (!done && val === null) {
3130
done = true;

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

Lines changed: 2 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@
1919
let modified = $state(false);
2020
let setting_hash: any = null;
2121
22+
// svelte-ignore non_reactive_update
2223
let version = $page.url.searchParams.get('version') || 'latest';
2324
let is_pr_or_commit_version = version.startsWith('pr-') || version.startsWith('commit-');
2425
@@ -149,13 +150,6 @@
149150
}
150151
}
151152
152-
const svelteUrl =
153-
browser && version === 'local'
154-
? `${location.origin}/playground/local`
155-
: is_pr_or_commit_version
156-
? version
157-
: `https://unpkg.com/svelte@${version}`;
158-
159153
const relaxed = $derived(data.gist.relaxed || (data.user && data.user.id === data.gist.owner));
160154
</script>
161155

@@ -201,7 +195,7 @@
201195
<div style="display: contents" onfocusout={update_hash}>
202196
<Repl
203197
bind:this={repl}
204-
{svelteUrl}
198+
svelteVersion={version}
205199
{relaxed}
206200
{can_escape}
207201
injectedJS={mapbox_setup}

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

Lines changed: 11 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -4,35 +4,34 @@
44
import { theme } from '@sveltejs/site-kit/stores';
55
import { Repl } from '@sveltejs/repl';
66
import { mapbox_setup } from '../../../../../config.js';
7-
import { onMount } from 'svelte';
7+
import { page } from '$app/stores';
88
99
let { data } = $props();
1010
1111
let repl = $state() as ReturnType<typeof Repl>;
1212
13-
onMount(() => {
14-
if (data.version !== 'local') {
15-
fetch(`https://unpkg.com/svelte@${data.version}/package.json`)
13+
// svelte-ignore non_reactive_update
14+
let version = $page.url.searchParams.get('version') || 'latest';
15+
let is_pr_or_commit_version = version.startsWith('pr-') || version.startsWith('commit-');
16+
17+
if (version !== 'local' && !is_pr_or_commit_version) {
18+
$effect(() => {
19+
fetch(`https://unpkg.com/svelte@${version}/package.json`)
1620
.then((r) => r.json())
1721
.then((pkg) => {
1822
if (pkg.version !== data.version) {
1923
replaceState(`/playground/${data.gist.id}/embed?version=${pkg.version}`, {});
2024
}
2125
});
22-
}
23-
});
26+
});
27+
}
2428
2529
afterNavigate(() => {
2630
repl?.set({
2731
files: data.gist.components
2832
});
2933
});
3034
31-
const svelteUrl =
32-
browser && data.version === 'local'
33-
? `${location.origin}/playground/local`
34-
: `https://unpkg.com/svelte@${data.version}`;
35-
3635
const relaxed = $derived(data.gist.relaxed || (data.user && data.user.id === data.gist.owner));
3736
</script>
3837

@@ -48,7 +47,7 @@
4847
{#if browser}
4948
<Repl
5049
bind:this={repl}
51-
{svelteUrl}
50+
svelteVersion={version}
5251
{relaxed}
5352
can_escape
5453
injectedJS={mapbox_setup}

packages/repl/src/lib/Bundler.ts

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -15,20 +15,20 @@ export default class Bundler {
1515

1616
constructor({
1717
packages_url,
18-
svelte_url,
18+
svelte_version,
1919
onstatus,
2020
onerror
2121
}: {
2222
packages_url: string;
23-
svelte_url: string;
23+
svelte_version: string;
2424
onstatus: (val: string | null) => void;
2525
onerror?: (message: string) => void;
2626
}) {
27-
this.hash = `${packages_url}:${svelte_url}`;
27+
this.hash = `${packages_url}:${svelte_version}`;
2828

2929
if (!workers.has(this.hash)) {
3030
const worker = new Worker();
31-
worker.postMessage({ type: 'init', packages_url, svelte_url });
31+
worker.postMessage({ type: 'init', packages_url, svelte_version });
3232
workers.set(this.hash, worker);
3333
}
3434

packages/repl/src/lib/Repl.svelte

Lines changed: 4 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@
1212
1313
interface Props {
1414
packagesUrl?: string;
15-
svelteUrl?: any;
15+
svelteVersion?: string;
1616
embedded?: boolean;
1717
orientation?: 'columns' | 'rows';
1818
relaxed?: boolean;
@@ -27,7 +27,7 @@
2727
2828
let {
2929
packagesUrl = 'https://unpkg.com',
30-
svelteUrl = `${BROWSER ? location.origin : ''}/svelte`,
30+
svelteVersion = 'latest',
3131
embedded = false,
3232
orientation = 'columns',
3333
relaxed = false,
@@ -51,10 +51,7 @@
5151
5252
const workspace = new Workspace([dummy], {
5353
initial: 'App.svelte',
54-
svelte_version:
55-
svelteUrl.startsWith('pr-') || svelteUrl.startsWith('commit-')
56-
? svelteUrl
57-
: svelteUrl.split('@')[1],
54+
svelte_version: svelteVersion,
5855
onupdate() {
5956
rebundle();
6057
onchange?.();
@@ -123,7 +120,7 @@
123120
const bundler = BROWSER
124121
? new Bundler({
125122
packages_url: packagesUrl,
126-
svelte_url: svelteUrl,
123+
svelte_version: svelteVersion,
127124
onstatus: (message) => {
128125
if (message) {
129126
// show bundler status, but only after time has elapsed, to

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

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -40,8 +40,11 @@ let package_json: any;
4040
self.addEventListener('message', async (event: MessageEvent<BundleMessageData>) => {
4141
switch (event.data.type) {
4242
case 'init': {
43-
({ packages_url, svelte_url } = event.data);
44-
const match = /^(pr|commit)-(.+)/.exec(svelte_url);
43+
const svelte_version = event.data.svelte_version;
44+
packages_url = event.data.packages_url;
45+
46+
svelte_url = `${packages_url}/svelte@${svelte_version}`;
47+
const match = /^(pr|commit)-(.+)/.exec(svelte_version);
4548

4649
let tarball: FileDescription[] | undefined;
4750

packages/repl/src/lib/workers/workers.d.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -53,7 +53,7 @@ export type BundleMessageData = {
5353
type: 'init' | 'bundle' | 'status' | 'error';
5454
message: string;
5555
packages_url: string;
56-
svelte_url: string;
56+
svelte_version: string;
5757
files: File[];
5858
options: CompileOptions;
5959
};

0 commit comments

Comments
 (0)