Skip to content

Commit 317e153

Browse files
committed
Terminate Pyodide when changing examples or versions for clean state
1 parent 242a1e7 commit 317e153

1 file changed

Lines changed: 12 additions & 1 deletion

File tree

src/routes/[package]/[version]/examples/[slug]/+page.svelte

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,18 @@
2626
const pipName = pkg.installation.find((i) => i.name.toLowerCase() === 'pip')?.command.split(' ').pop() || data.packageId;
2727
packageVersionsStore.set({ [pipName]: versionNumber });
2828
29-
return () => {
29+
// Also track slug to re-run effect when example changes
30+
const _slug = data.meta.slug;
31+
32+
return async () => {
33+
// Terminate Pyodide when leaving/changing example
34+
// This ensures clean state and correct package versions
35+
try {
36+
const { terminate } = await import('$lib/pyodide');
37+
terminate();
38+
} catch {
39+
// Ignore if not loaded
40+
}
3041
packageVersionsStore.clear();
3142
};
3243
});

0 commit comments

Comments
 (0)