Skip to content

Commit 31c6637

Browse files
committed
Set packageVersionsStore on overview page for quickstart execution
1 parent 61f2f0b commit 31c6637

1 file changed

Lines changed: 24 additions & 0 deletions

File tree

src/lib/components/pages/PackageOverview.svelte

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,13 @@
11
<script lang="ts">
2+
import { onDestroy } from 'svelte';
23
import { base } from '$app/paths';
34
import Icon from '$lib/components/common/Icon.svelte';
45
import Tooltip, { tooltip } from '$lib/components/common/Tooltip.svelte';
56
import NotebookCell from '$lib/components/common/NotebookCell.svelte';
67
import { packages, type PackageId, type InstallOption } from '$lib/config/packages';
78
import { copyToClipboard } from '$lib/utils/clipboard';
89
import { type PackageManifest, versionHasExamples } from '$lib/api/versions';
10+
import { packageVersionsStore } from '$lib/stores/packageVersionsStore';
911
1012
/**
1113
* Compare semantic version strings (without 'v' prefix).
@@ -34,6 +36,28 @@
3436
let pkg = $derived(packages[packageId]);
3537
let featureCols = $derived(pkg.features.length > 4 ? 'cols-3' : 'cols-2');
3638
39+
// Set package config for Pyodide so quickstart cells can execute
40+
$effect(() => {
41+
if (pkg.quickstart && pkg.pyodidePackages.length > 0) {
42+
const versionNumber = selectedTag?.replace(/^v/, '');
43+
const pipName = pkg.installation.find((i) => i.name.toLowerCase() === 'pip')?.command.split(' ').pop() || packageId;
44+
const versions: Record<string, string> = versionNumber ? { [pipName]: versionNumber } : {};
45+
46+
packageVersionsStore.set({
47+
packages: pkg.pyodidePackages,
48+
versions
49+
});
50+
}
51+
52+
return () => {
53+
packageVersionsStore.clear();
54+
};
55+
});
56+
57+
onDestroy(() => {
58+
packageVersionsStore.clear();
59+
});
60+
3761
// Track copy state for each install option
3862
let copiedStates = $state<Record<string, boolean>>({});
3963

0 commit comments

Comments
 (0)