@workflow/next 4.0.1-beta.9 → 5.0.0-beta.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/builder.js CHANGED
@@ -3,318 +3,32 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
3
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.NextBuilder = void 0;
7
- const node_fs_1 = require("node:fs");
8
- const promises_1 = require("node:fs/promises");
9
- const node_path_1 = require("node:path");
10
- const watchpack_1 = __importDefault(require("watchpack"));
11
- const builders_1 = require("@workflow/builders");
12
- class NextBuilder extends builders_1.BaseBuilder {
13
- async build() {
14
- const outputDir = await this.findAppDirectory();
15
- const workflowGeneratedDir = (0, node_path_1.join)(outputDir, '.well-known/workflow/v1');
16
- // Ensure output directories exist
17
- await (0, promises_1.mkdir)(workflowGeneratedDir, { recursive: true });
18
- // ignore the generated assets
19
- await (0, promises_1.writeFile)((0, node_path_1.join)(workflowGeneratedDir, '.gitignore'), '*');
20
- const inputFiles = await this.getInputFiles();
21
- const tsConfig = await this.getTsConfigOptions();
22
- const options = {
23
- inputFiles,
24
- workflowGeneratedDir,
25
- tsBaseUrl: tsConfig.baseUrl,
26
- tsPaths: tsConfig.paths,
27
- };
28
- const stepsBuildContext = await this.buildStepsFunction(options);
29
- const workflowsBundle = await this.buildWorkflowsFunction(options);
30
- await this.buildWebhookRoute({ workflowGeneratedDir });
31
- await this.writeFunctionsConfig(outputDir);
32
- if (this.config.watch) {
33
- if (!stepsBuildContext) {
34
- throw new Error('Invariant: expected steps build context in watch mode');
35
- }
36
- if (!workflowsBundle) {
37
- throw new Error('Invariant: expected workflows bundle in watch mode');
38
- }
39
- let stepsCtx = stepsBuildContext;
40
- let workflowsCtx = workflowsBundle;
41
- const normalizePath = (pathname) => pathname.replace(/\\/g, '/');
42
- const knownFiles = new Set();
43
- let previousTimeInfo = new Map();
44
- const watchableExtensions = new Set([
45
- '.js',
46
- '.jsx',
47
- '.ts',
48
- '.tsx',
49
- '.mts',
50
- '.cjs',
51
- '.mjs',
52
- ]);
53
- const ignoredPathFragments = [
54
- '/.git/',
55
- '/node_modules/',
56
- '/.next/',
57
- '/.turbo/',
58
- '/.vercel/',
59
- '/dist/',
60
- '/build/',
61
- '/out/',
62
- '/.cache/',
63
- '/.yarn/',
64
- '/.pnpm-store/',
65
- '/.parcel-cache/',
66
- '/.well-known/workflow/',
67
- ];
68
- const normalizedGeneratedDir = workflowGeneratedDir.replace(/\\/g, '/');
69
- ignoredPathFragments.push(normalizedGeneratedDir);
70
- // There is a node.js bug on MacOS which causes closing file watchers to be really slow.
71
- // This limits the number of watchers to mitigate the issue.
72
- // https://github.com/nodejs/node/issues/29949
73
- process.env.WATCHPACK_WATCHER_LIMIT =
74
- process.platform === 'darwin' ? '20' : undefined;
75
- const watcher = new watchpack_1.default({
76
- // Watchpack default is 200ms which adds 200ms of dead time on bootup.
77
- aggregateTimeout: 5,
78
- ignored: (pathname) => {
79
- const normalizedPath = pathname.replace(/\\/g, '/');
80
- const extension = (0, node_path_1.extname)(normalizedPath);
81
- if (extension && !watchableExtensions.has(extension)) {
82
- return true;
83
- }
84
- if (normalizedPath.startsWith(normalizedGeneratedDir)) {
85
- return true;
86
- }
87
- for (const fragment of ignoredPathFragments) {
88
- if (normalizedPath.includes(fragment)) {
89
- return true;
90
- }
91
- }
92
- return false;
93
- },
94
- });
95
- const readTimeInfoEntries = () => {
96
- const rawEntries = watcher.getTimeInfoEntries();
97
- const normalizedEntries = new Map();
98
- for (const [path, info] of rawEntries) {
99
- normalizedEntries.set(normalizePath(path), info);
100
- }
101
- return normalizedEntries;
102
- };
103
- let rebuildQueue = Promise.resolve();
104
- const enqueue = (task) => {
105
- rebuildQueue = rebuildQueue.then(task).catch((error) => {
106
- console.error('Failed to process file change', error);
107
- });
108
- return rebuildQueue;
109
- };
110
- const fullRebuild = async () => {
111
- const newInputFiles = await this.getInputFiles();
112
- options.inputFiles = newInputFiles;
113
- await stepsCtx.dispose();
114
- const newStepsCtx = await this.buildStepsFunction(options);
115
- if (!newStepsCtx) {
116
- throw new Error('Invariant: expected steps build context after rebuild');
117
- }
118
- stepsCtx = newStepsCtx;
119
- await workflowsCtx.interimBundleCtx.dispose();
120
- const newWorkflowsCtx = await this.buildWorkflowsFunction(options);
121
- if (!newWorkflowsCtx) {
122
- throw new Error('Invariant: expected workflows bundle context after rebuild');
123
- }
124
- workflowsCtx = newWorkflowsCtx;
125
- };
126
- const logBuildMessages = (result, label) => {
127
- const logByType = (messages, method) => {
128
- if (!messages || messages.length === 0) {
129
- return;
130
- }
131
- const descriptor = method === 'error' ? 'errors' : 'warnings';
132
- console[method](`${descriptor} while rebuilding ${label}`);
133
- for (const message of messages) {
134
- console[method](message);
135
- }
136
- };
137
- logByType(result.errors, 'error');
138
- logByType(result.warnings, 'warn');
139
- };
140
- const rebuildExistingFiles = async () => {
141
- const rebuiltStepStart = Date.now();
142
- const stepsResult = await stepsCtx.rebuild();
143
- logBuildMessages(stepsResult, 'steps bundle');
144
- console.log('Rebuilt steps bundle', `${Date.now() - rebuiltStepStart}ms`);
145
- const rebuiltWorkflowStart = Date.now();
146
- const workflowResult = await workflowsCtx.interimBundleCtx.rebuild();
147
- logBuildMessages(workflowResult, 'workflows bundle');
148
- if (!workflowResult.outputFiles ||
149
- workflowResult.outputFiles.length === 0) {
150
- console.error('No output generated while rebuilding workflows bundle');
151
- return;
152
- }
153
- await workflowsCtx.bundleFinal(workflowResult.outputFiles[0].text);
154
- console.log('Rebuilt workflow bundle', `${Date.now() - rebuiltWorkflowStart}ms`);
155
- };
156
- const isWatchableFile = (path) => watchableExtensions.has((0, node_path_1.extname)(path));
157
- const getComparableTimestamp = (entry) => entry.timestamp ?? entry.safeTime;
158
- const findRemovedFiles = (currentEntries, previousEntries) => {
159
- const removed = [];
160
- for (const path of previousEntries.keys()) {
161
- if (!currentEntries.has(path) && isWatchableFile(path)) {
162
- removed.push(path);
163
- }
164
- }
165
- return removed;
166
- };
167
- const findAddedAndModifiedFiles = (currentEntries, previousEntries) => {
168
- const added = [];
169
- const modified = [];
170
- for (const [path, info] of currentEntries) {
171
- if (!isWatchableFile(path)) {
172
- continue;
173
- }
174
- const previous = previousEntries.get(path);
175
- if (!previous) {
176
- added.push(path);
177
- continue;
178
- }
179
- if (getComparableTimestamp(info) !== getComparableTimestamp(previous)) {
180
- modified.push(path);
181
- }
182
- }
183
- return { added, modified };
184
- };
185
- const determineFileChanges = (currentEntries, previousEntries) => {
186
- const removedFiles = findRemovedFiles(currentEntries, previousEntries);
187
- const { added, modified } = findAddedAndModifiedFiles(currentEntries, previousEntries);
188
- return {
189
- addedFiles: added,
190
- modifiedFiles: modified,
191
- removedFiles,
192
- };
193
- };
194
- let isInitial = true;
195
- watcher.on('aggregated', () => {
196
- const currentEntries = readTimeInfoEntries();
197
- const { addedFiles, modifiedFiles, removedFiles } = determineFileChanges(currentEntries, previousTimeInfo);
198
- previousTimeInfo = currentEntries;
199
- if (isInitial) {
200
- isInitial = false;
201
- return;
202
- }
203
- if (addedFiles.length === 0 &&
204
- modifiedFiles.length === 0 &&
205
- removedFiles.length === 0) {
206
- return;
207
- }
208
- for (const removal of removedFiles) {
209
- knownFiles.delete(removal);
210
- }
211
- for (const added of addedFiles) {
212
- knownFiles.add(added);
213
- }
214
- enqueue(async () => {
215
- if (addedFiles.length > 0 || removedFiles.length > 0) {
216
- await fullRebuild();
217
- return;
218
- }
219
- if (modifiedFiles.length > 0) {
220
- await rebuildExistingFiles();
221
- }
222
- });
223
- });
224
- watcher.watch({
225
- directories: [this.config.workingDir],
226
- startTime: 0,
227
- });
228
- }
6
+ exports.WORKFLOW_DEFERRED_ENTRIES = exports.DEFERRED_BUILDER_MIN_VERSION = void 0;
7
+ exports.shouldUseDeferredBuilder = shouldUseDeferredBuilder;
8
+ exports.getNextBuilder = getNextBuilder;
9
+ const semver_1 = __importDefault(require("semver"));
10
+ const builder_deferred_js_1 = require("./builder-deferred.js");
11
+ const builder_eager_js_1 = require("./builder-eager.js");
12
+ exports.DEFERRED_BUILDER_MIN_VERSION = '16.2.0-canary.48';
13
+ exports.WORKFLOW_DEFERRED_ENTRIES = [
14
+ '/.well-known/workflow/v1/flow',
15
+ '/.well-known/workflow/v1/step',
16
+ '/.well-known/workflow/v1/webhook/[token]',
17
+ ];
18
+ let warnedAboutFlagAndVersion = false;
19
+ function shouldUseDeferredBuilder(nextVersion) {
20
+ const flagEnabled = Boolean(process.env.WORKFLOW_NEXT_LAZY_DISCOVERY);
21
+ const versionCompatible = semver_1.default.gte(nextVersion, exports.DEFERRED_BUILDER_MIN_VERSION);
22
+ if (flagEnabled && !versionCompatible && !warnedAboutFlagAndVersion) {
23
+ warnedAboutFlagAndVersion = true;
24
+ console.warn(`Enabled lazyDiscovery but Next.js version is not compatible, needs ${exports.DEFERRED_BUILDER_MIN_VERSION} have ${nextVersion}`);
229
25
  }
230
- async getInputFiles() {
231
- const inputFiles = await super.getInputFiles();
232
- return inputFiles.filter((item) =>
233
- // non-exact pattern match to try to narrow
234
- // down to just app route entrypoints, this will
235
- // not be valid when pages router support is added
236
- item.match(/[/\\](route|page|layout)\./));
237
- }
238
- async writeFunctionsConfig(outputDir) {
239
- // we don't run this in development mode as it's not needed
240
- if (process.env.NODE_ENV === 'development') {
241
- return;
242
- }
243
- const generatedConfig = {
244
- version: '0',
245
- steps: {
246
- experimentalTriggers: [builders_1.STEP_QUEUE_TRIGGER],
247
- },
248
- workflows: {
249
- experimentalTriggers: [builders_1.WORKFLOW_QUEUE_TRIGGER],
250
- },
251
- };
252
- // We write this file to the generated directory for
253
- // the Next.js builder to consume
254
- await (0, promises_1.writeFile)((0, node_path_1.join)(outputDir, '.well-known/workflow/v1/config.json'), JSON.stringify(generatedConfig, null, 2));
255
- }
256
- async buildStepsFunction({ inputFiles, workflowGeneratedDir, tsPaths, tsBaseUrl, }) {
257
- // Create steps bundle
258
- const stepsRouteDir = (0, node_path_1.join)(workflowGeneratedDir, 'step');
259
- await (0, promises_1.mkdir)(stepsRouteDir, { recursive: true });
260
- return await this.createStepsBundle({
261
- // If any dynamic requires are used when bundling with ESM
262
- // esbuild will create a too dynamic wrapper around require
263
- // which turbopack/webpack fail to analyze. If we externalize
264
- // correctly this shouldn't be an issue although we might want
265
- // to use cjs as alternative to avoid
266
- format: 'esm',
267
- inputFiles,
268
- outfile: (0, node_path_1.join)(stepsRouteDir, 'route.js'),
269
- externalizeNonSteps: true,
270
- tsBaseUrl,
271
- tsPaths,
272
- });
273
- }
274
- async buildWorkflowsFunction({ inputFiles, workflowGeneratedDir, tsPaths, tsBaseUrl, }) {
275
- const workflowsRouteDir = (0, node_path_1.join)(workflowGeneratedDir, 'flow');
276
- await (0, promises_1.mkdir)(workflowsRouteDir, { recursive: true });
277
- return await this.createWorkflowsBundle({
278
- format: 'esm',
279
- outfile: (0, node_path_1.join)(workflowsRouteDir, 'route.js'),
280
- bundleFinalOutput: false,
281
- inputFiles,
282
- tsBaseUrl,
283
- tsPaths,
284
- });
285
- }
286
- async buildWebhookRoute({ workflowGeneratedDir, }) {
287
- const webhookRouteFile = (0, node_path_1.join)(workflowGeneratedDir, 'webhook/[token]/route.js');
288
- await this.createWebhookBundle({
289
- outfile: webhookRouteFile,
290
- bundle: false, // Next.js doesn't need bundling
291
- });
292
- }
293
- async findAppDirectory() {
294
- const appDir = (0, node_path_1.resolve)(this.config.workingDir, 'app');
295
- const srcAppDir = (0, node_path_1.resolve)(this.config.workingDir, 'src/app');
296
- try {
297
- await (0, promises_1.access)(appDir, node_fs_1.constants.F_OK);
298
- const appStats = await (0, promises_1.stat)(appDir);
299
- if (!appStats.isDirectory()) {
300
- throw new Error(`Path exists but is not a directory: ${appDir}`);
301
- }
302
- return appDir;
303
- }
304
- catch {
305
- try {
306
- await (0, promises_1.access)(srcAppDir, node_fs_1.constants.F_OK);
307
- const srcAppStats = await (0, promises_1.stat)(srcAppDir);
308
- if (!srcAppStats.isDirectory()) {
309
- throw new Error(`Path exists but is not a directory: ${srcAppDir}`);
310
- }
311
- return srcAppDir;
312
- }
313
- catch {
314
- throw new Error('Could not find Next.js app directory. Expected either "app" or "src/app" to exist.');
315
- }
316
- }
26
+ return flagEnabled && versionCompatible;
27
+ }
28
+ async function getNextBuilder(nextVersion) {
29
+ if (shouldUseDeferredBuilder(nextVersion)) {
30
+ return (0, builder_deferred_js_1.getNextBuilderDeferred)();
317
31
  }
32
+ return (0, builder_eager_js_1.getNextBuilderEager)();
318
33
  }
319
- exports.NextBuilder = NextBuilder;
320
34
  //# sourceMappingURL=builder.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"builder.js","sourceRoot":"","sources":["../src/builder.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"builder.js","sourceRoot":"","sources":["../src/builder.ts"],"names":[],"mappings":";;;;;;AAcA,4DAeC;AAED,wCAMC;AArCD,oDAA4B;AAC5B,+DAA+D;AAC/D,yDAAyD;AAE5C,QAAA,4BAA4B,GAAG,kBAAkB,CAAC;AAElD,QAAA,yBAAyB,GAAG;IACvC,+BAA+B;IAC/B,+BAA+B;IAC/B,0CAA0C;CAClC,CAAC;AAEX,IAAI,yBAAyB,GAAG,KAAK,CAAC;AAEtC,SAAgB,wBAAwB,CAAC,WAAmB;IAC1D,MAAM,WAAW,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,4BAA4B,CAAC,CAAC;IACtE,MAAM,iBAAiB,GAAG,gBAAM,CAAC,GAAG,CAClC,WAAW,EACX,oCAA4B,CAC7B,CAAC;IAEF,IAAI,WAAW,IAAI,CAAC,iBAAiB,IAAI,CAAC,yBAAyB,EAAE,CAAC;QACpE,yBAAyB,GAAG,IAAI,CAAC;QACjC,OAAO,CAAC,IAAI,CACV,sEAAsE,oCAA4B,SAAS,WAAW,EAAE,CACzH,CAAC;IACJ,CAAC;IAED,OAAO,WAAW,IAAI,iBAAiB,CAAC;AAC1C,CAAC;AAEM,KAAK,UAAU,cAAc,CAAC,WAAmB;IACtD,IAAI,wBAAwB,CAAC,WAAW,CAAC,EAAE,CAAC;QAC1C,OAAO,IAAA,4CAAsB,GAAE,CAAC;IAClC,CAAC;IAED,OAAO,IAAA,sCAAmB,GAAE,CAAC;AAC/B,CAAC"}
package/dist/index.d.ts CHANGED
@@ -3,9 +3,9 @@ export declare function withWorkflow(nextConfigOrFn: NextConfig | ((phase: strin
3
3
  defaultConfig: NextConfig;
4
4
  }) => Promise<NextConfig>), { workflows, }?: {
5
5
  workflows?: {
6
- embedded?: {
6
+ lazyDiscovery?: boolean;
7
+ local?: {
7
8
  port?: number;
8
- dataDir?: string;
9
9
  };
10
10
  };
11
11
  }): (phase: string, ctx: {
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,MAAM,CAAC;AAGvC,wBAAgB,YAAY,CAC1B,cAAc,EACV,UAAU,GACV,CAAC,CACC,KAAK,EAAE,MAAM,EACb,GAAG,EAAE;IAAE,aAAa,EAAE,UAAU,CAAA;CAAE,KAC/B,OAAO,CAAC,UAAU,CAAC,CAAC,EAC7B,EACE,SAAS,GACV,GAAE;IACD,SAAS,CAAC,EAAE;QACV,QAAQ,CAAC,EAAE;YACT,IAAI,CAAC,EAAE,MAAM,CAAC;YACd,OAAO,CAAC,EAAE,MAAM,CAAC;SAClB,CAAC;KACH,CAAC;CACE,IAkBJ,OAAO,MAAM,EACb,KAAK;IAAE,aAAa,EAAE,UAAU,CAAA;CAAE,yBA6FrC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,MAAM,CAAC;AA0BvC,wBAAgB,YAAY,CAC1B,cAAc,EACV,UAAU,GACV,CAAC,CACC,KAAK,EAAE,MAAM,EACb,GAAG,EAAE;IAAE,aAAa,EAAE,UAAU,CAAA;CAAE,KAC/B,OAAO,CAAC,UAAU,CAAC,CAAC,EAC7B,EACE,SAAS,GACV,GAAE;IACD,SAAS,CAAC,EAAE;QACV,aAAa,CAAC,EAAE,OAAO,CAAC;QACxB,KAAK,CAAC,EAAE;YACN,IAAI,CAAC,EAAE,MAAM,CAAC;SACf,CAAC;KACH,CAAC;CACE,IAsBJ,OAAO,MAAM,EACb,KAAK;IAAE,aAAa,EAAE,UAAU,CAAA;CAAE,yBAsLrC"}
package/dist/index.js CHANGED
@@ -4,15 +4,33 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.withWorkflow = withWorkflow;
7
- const builder_js_1 = require("./builder.js");
8
7
  const semver_1 = __importDefault(require("semver"));
8
+ const builder_js_1 = require("./builder.js");
9
+ function resolveNextVersion(workingDir) {
10
+ const fallbackVersion = require('next/package.json').version;
11
+ try {
12
+ const packageJsonPath = require.resolve('next/package.json', {
13
+ paths: [workingDir],
14
+ });
15
+ const resolvedPackageJson = require(packageJsonPath);
16
+ return typeof resolvedPackageJson.version === 'string'
17
+ ? resolvedPackageJson.version
18
+ : fallbackVersion;
19
+ }
20
+ catch {
21
+ return fallbackVersion;
22
+ }
23
+ }
9
24
  function withWorkflow(nextConfigOrFn, { workflows, } = {}) {
25
+ if (workflows?.lazyDiscovery) {
26
+ process.env.WORKFLOW_NEXT_LAZY_DISCOVERY = '1';
27
+ }
10
28
  if (!process.env.VERCEL_DEPLOYMENT_ID) {
11
29
  if (!process.env.WORKFLOW_TARGET_WORLD) {
12
- process.env.WORKFLOW_TARGET_WORLD = 'embedded';
13
- process.env.WORKFLOW_EMBEDDED_DATA_DIR = '.next/workflow-data';
30
+ process.env.WORKFLOW_TARGET_WORLD = 'local';
31
+ process.env.WORKFLOW_LOCAL_DATA_DIR = '.next/workflow-data';
14
32
  }
15
- const maybePort = workflows?.embedded?.port;
33
+ const maybePort = workflows?.local?.port;
16
34
  if (maybePort) {
17
35
  process.env.PORT = maybePort.toString();
18
36
  }
@@ -24,6 +42,7 @@ function withWorkflow(nextConfigOrFn, { workflows, } = {}) {
24
42
  }
25
43
  return async function buildConfig(phase, ctx) {
26
44
  const loaderPath = require.resolve('./loader');
45
+ let runDeferredBuildFromCallback;
27
46
  let nextConfig;
28
47
  if (typeof nextConfigOrFn === 'function') {
29
48
  nextConfig = await nextConfigOrFn(phase, ctx);
@@ -41,18 +60,105 @@ function withWorkflow(nextConfigOrFn, { workflows, } = {}) {
41
60
  nextConfig.turbopack.rules = {};
42
61
  }
43
62
  const existingRules = nextConfig.turbopack.rules;
44
- const nextVersion = require('next/package.json').version;
63
+ const nextVersion = resolveNextVersion(process.cwd());
45
64
  const supportsTurboCondition = semver_1.default.gte(nextVersion, 'v16.0.0');
46
- for (const key of ['*.tsx', '*.ts', '*.jsx', '*.js']) {
65
+ const useDeferredBuilder = (0, builder_js_1.shouldUseDeferredBuilder)(nextVersion);
66
+ // Deferred builder discovers files via loader socket notifications, so
67
+ // turbopack content conditions are only needed with the eager builder.
68
+ const shouldApplyTurboCondition = supportsTurboCondition && !useDeferredBuilder;
69
+ const shouldWatch = process.env.NODE_ENV === 'development';
70
+ let workflowBuilderPromise;
71
+ const getWorkflowBuilder = async () => {
72
+ if (!workflowBuilderPromise) {
73
+ workflowBuilderPromise = (async () => {
74
+ const NextBuilder = await (0, builder_js_1.getNextBuilder)(nextVersion);
75
+ return new NextBuilder({
76
+ watch: shouldWatch,
77
+ // discover workflows from pages/app entries
78
+ dirs: ['pages', 'app', 'src/pages', 'src/app'],
79
+ projectRoot: nextConfig.outputFileTracingRoot,
80
+ workingDir: process.cwd(),
81
+ distDir: nextConfig.distDir || '.next',
82
+ buildTarget: 'next',
83
+ workflowsBundlePath: '', // not used in base
84
+ stepsBundlePath: '', // not used in base
85
+ webhookBundlePath: '', // node used in base
86
+ suppressCreateWorkflowsBundleLogs: useDeferredBuilder,
87
+ suppressCreateWorkflowsBundleWarnings: useDeferredBuilder,
88
+ suppressCreateWebhookBundleLogs: useDeferredBuilder,
89
+ suppressCreateManifestLogs: useDeferredBuilder,
90
+ externalPackages: [
91
+ // server-only and client-only are pseudo-packages handled by Next.js
92
+ // during its build process. We mark them as external to prevent esbuild
93
+ // from failing when bundling code that imports them.
94
+ // See: https://nextjs.org/docs/app/getting-started/server-and-client-components
95
+ 'server-only',
96
+ 'client-only',
97
+ ...(nextConfig.serverExternalPackages || []),
98
+ ],
99
+ });
100
+ })();
101
+ }
102
+ return workflowBuilderPromise;
103
+ };
104
+ if (useDeferredBuilder) {
105
+ runDeferredBuildFromCallback = async () => {
106
+ const workflowBuilder = await getWorkflowBuilder();
107
+ if (typeof workflowBuilder.onBeforeDeferredEntries === 'function') {
108
+ await workflowBuilder.onBeforeDeferredEntries();
109
+ }
110
+ };
111
+ const existingExperimental = (nextConfig.experimental ?? {});
112
+ const existingDeferredEntries = Array.isArray(existingExperimental.deferredEntries)
113
+ ? existingExperimental.deferredEntries
114
+ : [];
115
+ const existingOnBeforeDeferredEntries = typeof existingExperimental.onBeforeDeferredEntries === 'function'
116
+ ? existingExperimental.onBeforeDeferredEntries
117
+ : undefined;
118
+ nextConfig.experimental = {
119
+ ...existingExperimental,
120
+ // biome-ignore lint/suspicious/noTsIgnore: expect-error is wrong as it will work on valid version
121
+ // @ts-ignore this is only available in canary Next.js
122
+ deferredEntries: [
123
+ ...new Set([
124
+ ...existingDeferredEntries,
125
+ ...builder_js_1.WORKFLOW_DEFERRED_ENTRIES,
126
+ ]),
127
+ ],
128
+ onBeforeDeferredEntries: async (...args) => {
129
+ if (existingOnBeforeDeferredEntries) {
130
+ await existingOnBeforeDeferredEntries(...args);
131
+ }
132
+ if (runDeferredBuildFromCallback) {
133
+ await runDeferredBuildFromCallback();
134
+ }
135
+ },
136
+ };
137
+ }
138
+ for (const key of [
139
+ '*.tsx',
140
+ '*.ts',
141
+ '*.jsx',
142
+ '*.js',
143
+ '*.mjs',
144
+ '*.mts',
145
+ '*.cjs',
146
+ '*.cts',
147
+ ]) {
47
148
  nextConfig.turbopack.rules[key] = {
48
- ...(supportsTurboCondition
149
+ ...(shouldApplyTurboCondition
49
150
  ? {
50
151
  condition: {
51
- ...existingRules[key]?.condition,
52
- any: [
53
- ...(existingRules[key]?.condition.any || []),
152
+ // Use 'all' to combine: must match content AND must NOT be in generated path
153
+ // Merge with any existing 'all' conditions from user config
154
+ all: [
155
+ ...(existingRules[key]?.condition?.all || []),
156
+ // Exclude generated workflow route files from transformation
157
+ { not: { path: /[/\\]\.well-known[/\\]workflow[/\\]/ } },
158
+ // Match files with workflow directives or custom serialization patterns
159
+ // Uses backreferences (\2, \3) to ensure matching quote types
54
160
  {
55
- content: /(use workflow|use step)/,
161
+ content: /(use workflow|use step|from\s+(['"])@workflow\/serde\2|Symbol\.for\s*\(\s*(['"])workflow-(?:serialize|deserialize)\3\s*\))/,
56
162
  },
57
163
  ],
58
164
  },
@@ -85,21 +191,7 @@ function withWorkflow(nextConfigOrFn, { workflows, } = {}) {
85
191
  // as Next.js uses child processes for different builds
86
192
  if (!process.env.WORKFLOW_NEXT_PRIVATE_BUILT &&
87
193
  phase !== 'phase-production-server') {
88
- const shouldWatch = process.env.NODE_ENV === 'development';
89
- const workflowBuilder = new builder_js_1.NextBuilder({
90
- watch: shouldWatch,
91
- // discover workflows from pages/app entries
92
- dirs: ['pages', 'app', 'src/pages', 'src/app'],
93
- workingDir: process.cwd(),
94
- buildTarget: 'next',
95
- workflowsBundlePath: '', // not used in base
96
- stepsBundlePath: '', // not used in base
97
- webhookBundlePath: '', // node used in base
98
- externalPackages: [
99
- ...require('next/dist/lib/server-external-packages.json'),
100
- ...(nextConfig.serverExternalPackages || []),
101
- ],
102
- });
194
+ const workflowBuilder = await getWorkflowBuilder();
103
195
  await workflowBuilder.build();
104
196
  process.env.WORKFLOW_NEXT_PRIVATE_BUILT = '1';
105
197
  }
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/loader.d.ts CHANGED
@@ -1,4 +1,9 @@
1
- export default function workflowLoader(this: {
1
+ type WorkflowLoaderContext = {
2
2
  resourcePath: string;
3
- }, source: string | Buffer, sourceMap: any): Promise<string>;
3
+ async?: () => (error: Error | null, content?: string, sourceMap?: any) => void;
4
+ addDependency?: (dependency: string) => void;
5
+ addBuildDependency?: (dependency: string) => void;
6
+ };
7
+ export default function workflowLoader(this: WorkflowLoaderContext, source: string | Buffer, sourceMap: any): string | Promise<string> | void;
8
+ export {};
4
9
  //# sourceMappingURL=loader.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"loader.d.ts","sourceRoot":"","sources":["../src/loader.ts"],"names":[],"mappings":"AAKA,wBAA8B,cAAc,CAC1C,IAAI,EAAE;IACJ,YAAY,EAAE,MAAM,CAAC;CACtB,EACD,MAAM,EAAE,MAAM,GAAG,MAAM,EACvB,SAAS,EAAE,GAAG,GACb,OAAO,CAAC,MAAM,CAAC,CAyEjB"}
1
+ {"version":3,"file":"loader.d.ts","sourceRoot":"","sources":["../src/loader.ts"],"names":[],"mappings":"AAobA,KAAK,qBAAqB,GAAG;IAC3B,YAAY,EAAE,MAAM,CAAC;IACrB,KAAK,CAAC,EAAE,MAAM,CACZ,KAAK,EAAE,KAAK,GAAG,IAAI,EACnB,OAAO,CAAC,EAAE,MAAM,EAChB,SAAS,CAAC,EAAE,GAAG,KACZ,IAAI,CAAC;IACV,aAAa,CAAC,EAAE,CAAC,UAAU,EAAE,MAAM,KAAK,IAAI,CAAC;IAC7C,kBAAkB,CAAC,EAAE,CAAC,UAAU,EAAE,MAAM,KAAK,IAAI,CAAC;CACnD,CAAC;AAEF,MAAM,CAAC,OAAO,UAAU,cAAc,CACpC,IAAI,EAAE,qBAAqB,EAC3B,MAAM,EAAE,MAAM,GAAG,MAAM,EACvB,SAAS,EAAE,GAAG,GACb,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,GAAG,IAAI,CAyJjC"}