[FEATURE] Neutral Plugins #5
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "ep/May13-2026/FrameworkNeutralRuntime"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Split `@lion-turtle/vite` into framework-agnostic core + per-framework adapters so Vue/Svelte/vanilla apps can use lion-turtle without shipping React. Move DevShell out of consumer bundle entirely — plugin-served page at `/`, app runs in iframe at `/?_embed=1`. Subpath exports: - /core bridge, store, sync, env, splash, log-pipe, devshell-control, subscribeBridge/Store/Env, types. No framework deps. - /react useBridge/useStore/useSync/useEnv + ShellProvider. - /vue Vue 3 composables (Ref-based). - /svelte Svelte 4/5 stores (Readable-based). - /runtime kept as a back-compat alias of /core. DevShell extensions use a framework-neutral mount-fn shape — each panel and topbar slot is a micro-app: defineDevPanel({ id, label, icon: "Clock", mount(container, ctx) {...} }) Consumer wires modules via plugin config: lionTurtle({ devShell: { panels: "./src/dev/panels.ts", topbarSlots: "./src/dev/topbar.ts", bridgeHandlers: "./src/dev/handlers.ts", parentSetup: "./src/dev/setup.ts", }, }) Plugin emits `virtual:lion-turtle/devshell-extensions` re-exporting the modules; DevShell entry imports + threads them as props. Migration notes for the old consumer-mounted `<DevShell panels={...} />` pattern in `docs/extension-api.md`. Verified: - workspace tsc clean across all 6 packages - prod build: 210kB JS bundle, 0 DevShell artifacts, 4kB CSS (was 30kB) - dev curl: `/` and `/?_embed=1` branch correctly, virtual extensions module resolves with undefined defaults when no config provided. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>