UNPKG

workflow

Version:

Workflow SDK - Build durable, resilient, and observable workflows

172 lines (119 loc) • 5 kB
--- title: Framework Options description: Build-time and dev-server configuration for Workflow framework integrations. type: reference summary: Configure Workflow through framework plugins and module options. related: - /docs/api-reference/workflow-next/with-workflow - /docs/configuration/build-and-diagnostics --- Framework options are read at build or dev-server startup. Use them for settings that belong in source control, such as source-map behavior or framework-specific output paths. ## Next.js `withWorkflow()` accepts an optional second argument. ### `workflows.local.port` - Environment override: `PORT` - Default: auto-detected - Local-only. Sets the application port used by the Local World when queue messages call back into the app. - The option writes `PORT` for non-Vercel builds. ### `workflows.sourcemap` - Environment override: `WORKFLOW_SOURCEMAP` - Default: `inline` in development, `false` in production - Controls source maps for generated workflow bundles. - Explicit config wins over `WORKFLOW_SOURCEMAP`. ```typescript title="next.config.ts" lineNumbers import { withWorkflow } from "workflow/next"; export default withWorkflow( {}, { workflows: { local: { port: 4000, }, sourcemap: false, }, } ); ``` ## Nitro and Nuxt Configure Workflow through the Nitro `workflow` module options. ### `workflow.dirs` - Environment override: none - Default: `["workflows"]` - Directories scanned for workflow files. ### `workflow.typescriptPlugin` - Environment override: none - Default: `false` for raw Nitro, `true` through the Nuxt module - Enables the Workflow TypeScript language-service plugin in generated `tsconfig.json`. - This affects editor diagnostics and completions. Workflow builds do not require it. - Raw Nitro leaves it opt-in because it changes TypeScript editor behavior. Nuxt enables it by default because the Nuxt module owns the generated `tsconfig.json` flow. ### `workflow.runtime` - Environment override: none - Default: framework default - Node.js runtime emitted for Vercel Functions, such as `nodejs22.x` or `nodejs24.x`. ### `workflow.sourcemap` - Environment override: `WORKFLOW_SOURCEMAP` - Default: `inline` in development, `false` in production - Controls source maps for generated workflow bundles. ## NestJS Configure Workflow through `WorkflowModule.forRoot()`. ### `workingDir` - Environment override: none - Default: `process.cwd()` - Application root used for workflow discovery and bundling. ### `dirs` - Environment override: none - Default: `["src"]` - Directories scanned for workflow files. ### `outDir` - Environment override: none - Default: `.nestjs/workflow` - Directory for generated workflow bundles. ### `watch` - Environment override: none - Default: `false` - Rebuilds workflow bundles during development. ### `moduleType` - Environment override: none - Default: `es6` - Set to `commonjs` when the Nest app compiles TypeScript to CJS through SWC. ### `distDir` - Environment override: none - Default: `dist` - Compiled JavaScript output directory used by the CJS import rewrite. ### `sourcemap` - Environment override: `WORKFLOW_SOURCEMAP` - Default: `inline` in development, `false` in production - Controls source maps for generated workflow bundles. ### `skipBuild` - Environment override: none - Default: `false` - Skips bundle generation when bundles are already pre-built. ### `bypassBodyParser` - Environment override: none - Default: `true` - Keeps the application's body parsers away from `.well-known/workflow/v1`, so queue deliveries are not rejected by Express's 100 KB limit and signed webhook bodies stay byte-exact. Other routes are untouched. On Fastify, where the body limit is enforced per instance rather than per route, nothing is patched and a limit low enough to reject deliveries is reported at startup instead. ## Astro ### `sourcemap` - Environment override: `WORKFLOW_SOURCEMAP` - Default: `inline` in development, `false` in production - Controls source maps for generated workflow bundles. ## SvelteKit ### `sourcemap` - Environment override: `WORKFLOW_SOURCEMAP` - Default: `inline` in development, `false` in production - Controls source maps for generated workflow bundles. ## Rollup ### `exclude` - Environment override: none - Default: `[]` - Path prefixes skipped by the directive transform. ## Source-map values `WORKFLOW_SOURCEMAP` accepts these values: - `true`, `inline`, or `1` - append an inline base64 source map to each generated bundle. - `linked` - write a `.map` file and add a `sourceMappingURL` comment. - `external` - write a `.map` file without adding the comment. - `both` - emit inline and external source maps. - `false` or `0` - omit source maps. <Callout type="info"> The legacy `WORKFLOW_EMIT_SOURCEMAPS_FOR_DEBUGGING=1` variable still works, but it only affects the final workflow wrapper and webhook bundle. Prefer `WORKFLOW_SOURCEMAP` or a framework `sourcemap` option. </Callout>