--- title: "Vanilla JS" description: "Drop a FlowDrop editor into any page — no framework required." source: https://flowdrop.io/docs/editor/frameworks/vanilla site: FlowDrop documentation --- # Vanilla JS With no framework, the mount API is all you need: give FlowDrop an element and an endpoint, and it takes over the rest. ## 1. Install ```bash npm npm install @flowdrop/flowdrop @iconify/svelte @xyflow/svelte ``` ```bash pnpm pnpm add @flowdrop/flowdrop @iconify/svelte @xyflow/svelte ``` ```bash yarn yarn add @flowdrop/flowdrop @iconify/svelte @xyflow/svelte ``` **Your bundler needs the Svelte plugin.** FlowDrop ships its UI as Svelte 5 components, so your bundler must compile them (you won't write any Svelte). With Vite, add `@sveltejs/vite-plugin-svelte` and `svelte` as dev dependencies and enable the plugin — see the **Bundler setup** section of the [quick start](/start/quickstart) for the full config. ## 2. Mount the editor ```html
``` The returned `app` handle lets you drive the editor programmatically — `app.save()`, `app.getWorkflow()`, `app.isDirty()`, and `app.destroy()` when you remove it from the page. **FlowDrop needs a backend.** It serves nodes and stores workflows. Point `endpointConfig` at your API, or [run a ready-made server](/start). ## Next steps The mental model behind the editor. Every option and method on the mount handle.