Skip to content

Installation

  • Node.js v20 or later
  • A build pipeline that can bundle ES modules (Vite, webpack, esbuild, Rollup, Next.js, Nuxt, SvelteKit, or similar)

bash npm install @flowdrop/flowdrop @iconify/svelte @xyflow/svelte

PackageVersionRequired
svelte^5.0.0Yes (internal runtime)
@xyflow/svelte^1.2Yes (for editor module)
@iconify/svelte^5.0.0Yes (for icons)

Optional: CodeMirror (for code/markdown editors)

Section titled “Optional: CodeMirror (for code/markdown editors)”

If you use the form/code or form/markdown entry points, install CodeMirror packages:

Terminal window
npm install codemirror @codemirror/state @codemirror/view @codemirror/commands \
@codemirror/language @codemirror/theme-one-dark @codemirror/autocomplete \
@codemirror/lang-json @codemirror/lang-markdown @codemirror/lint
Entry PointDescription
@flowdrop/flowdropFull bundle — re-exports everything
@flowdrop/flowdrop/coreTypes and utilities (zero heavy dependencies)
@flowdrop/flowdrop/editorVisual workflow editor components
@flowdrop/flowdrop/formDynamic form field components
@flowdrop/flowdrop/form/codeCode and JSON editor fields (requires CodeMirror)
@flowdrop/flowdrop/form/markdownMarkdown editor field (requires CodeMirror)
@flowdrop/flowdrop/form/fullAll form components pre-bundled
@flowdrop/flowdrop/displayDisplay-only components (MarkdownDisplay)
@flowdrop/flowdrop/playgroundInteractive workflow playground
@flowdrop/flowdrop/settingsSettings UI components and stores
@flowdrop/flowdrop/stylesBase CSS styles and design tokens
  • Svelte 5 required (internally). FlowDrop uses Svelte 5 runes internally. Your app does not need to be written in Svelte.
  • Modern browsers only. The library targets ES2020+ and does not include polyfills.

Confirm the package resolved correctly:

import { createEndpointConfig } from '@flowdrop/flowdrop/core';
const config = createEndpointConfig('/api/flowdrop');
console.log(config); // EndpointConfig object

If you see Cannot find module '@flowdrop/flowdrop', check:

  1. Install completed without errors
  2. Your bundler supports ES modules (Vite 5+, webpack 5+)
  3. You are not importing in a server-side context — see Framework Integration