Skip to content

Build Tool Integration

Integrate the Flowcraft Compiler into your existing build pipeline with these ready-to-use configurations.

Vite

Install the Vite plugin:

bash
npm install --save-dev @flowcraft/plugin-vite

Update your vite.config.ts:

typescript
import { defineConfig } from 'vite'
import flowcraft from '@flowcraft/plugin-vite'

export default defineConfig({
  plugins: [
    flowcraft({
      // Optional: override config file path
      configPath: './flowcraft.config.ts'
    })
  ]
})

Next.js

Install the Next.js plugin:

bash
npm install --save-dev @flowcraft/plugin-next

Update your next.config.js:

javascript
const flowcraft = require('@flowcraft/plugin-next')

module.exports = flowcraft({
  // Your Next.js config
  experimental: {
    // ... other options
  }
})

Nuxt

Install the Nuxt plugin:

bash
npm install --save-dev @flowcraft/plugin-nuxt

Update your nuxt.config.ts:

typescript
import flowcraft from '@flowcraft/plugin-nuxt'

export default defineNuxtConfig({
  modules: [
    flowcraft
  ]
})

Astro

Install the Astro plugin:

bash
npm install --save-dev @flowcraft/plugin-astro

Update your astro.config.mjs:

javascript
import { defineConfig } from 'astro/config'
import flowcraft from '@flowcraft/plugin-astro'

export default defineConfig({
  integrations: [
    flowcraft()
  ]
})

esbuild

Install the esbuild plugin:

bash
npm install --save-dev @flowcraft/plugin-esbuild

Update your build script:

javascript
import esbuild from 'esbuild'
import flowcraft from '@flowcraft/plugin-esbuild'

await esbuild.build({
  entryPoints: ['src/index.ts'],
  plugins: [
    flowcraft({
      configPath: './flowcraft.config.ts'
    })
  ],
  outdir: 'dist'
})

tsup

Install the tsup plugin:

bash
npm install --save-dev @flowcraft/plugin-tsup

Update your tsup.config.ts:

typescript
import { defineConfig } from 'tsup'
import { buildFlows } from '@flowcraft/compiler'

export default defineConfig({
  entry: ['src/index.ts'],
  // ... your other tsup options

  async onSuccess() {
  // This hook runs after tsup completes its build
    await buildFlows();
  },
});

Manual Integration

If your build tool isn't supported, you can integrate the compiler manually:

javascript
// build.js
import { buildFlows } from '@flowcraft/compiler'

export async function build() {
  // Compile workflows first
  await buildFlows()

  // Then run your normal build process
  // ... your build logic
}

Add this to your package.json:

json
{
  "scripts": {
    "build": "node build.js"
  }
}

Released under the MIT License