UNPKG

workflow

Version:

Workflow DevKit - Build durable, resilient, and observable workflows

57 lines (43 loc) 1.72 kB
--- title: withWorkflow description: Configure webpack/turbopack to transform workflow directives in Next.js. type: reference summary: Wrap your Next.js config with withWorkflow to enable workflow directive transformation. prerequisites: - /docs/getting-started/next --- Configures webpack/turbopack loaders to transform workflow code (`"use step"`/`"use workflow"` directives) ## Usage To enable `"use step"` and `"use workflow"` directives while developing locally or deploying to production, wrap your `nextConfig` with `withWorkflow`. ```typescript title="next.config.ts" lineNumbers import { withWorkflow } from "workflow/next"; // [!code highlight] import type { NextConfig } from "next"; const nextConfig: NextConfig = { // … rest of your Next.js config }; // not required but allows configuring workflow options const workflowConfig = {} export default withWorkflow(nextConfig, workflowConfig); // [!code highlight] ``` If you are exporting a function in your `next.config` you will need to ensure you call the function returned from `withWorkflow`. ```typescript title="next.config.ts" lineNumbers import { NextConfig } from "next"; import { withWorkflow } from "workflow/next"; import createNextIntlPlugin from "next-intl/plugin"; const withNextIntl = createNextIntlPlugin(); export default async function config( phase: string, ctx: { defaultConfig: NextConfig } ): Promise<NextConfig> { let nextConfig: NextConfig | typeof config = {}; for (const configModifier of [withNextIntl, withWorkflow]) { nextConfig = configModifier(nextConfig); if (typeof nextConfig === "function") { nextConfig = await nextConfig(phase, ctx); } } return nextConfig; } ```