@workflow/next 4.0.1-beta.36 → 4.0.1-beta.38

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.
@@ -1 +1 @@
1
- {"version":3,"file":"builder.d.ts","sourceRoot":"","sources":["../src/builder.ts"],"names":[],"mappings":"AAgBA,wBAAsB,cAAc,iBAkYnC"}
1
+ {"version":3,"file":"builder.d.ts","sourceRoot":"","sources":["../src/builder.ts"],"names":[],"mappings":"AAUA,wBAAsB,cAAc,iBAmdnC"}
package/dist/builder.js CHANGED
@@ -6,9 +6,8 @@ Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.getNextBuilder = getNextBuilder;
7
7
  const node_fs_1 = require("node:fs");
8
8
  const promises_1 = require("node:fs/promises");
9
- const node_os_1 = __importDefault(require("node:os"));
10
9
  const node_path_1 = require("node:path");
11
- const socket_server_1 = require("./socket-server");
10
+ const watchpack_1 = __importDefault(require("watchpack"));
12
11
  let CachedNextBuilder;
13
12
  // Create the NextBuilder class dynamically by extending the ESM BaseBuilder
14
13
  // This is exported as getNextBuilder() to allow CommonJS modules to import
@@ -17,76 +16,26 @@ async function getNextBuilder() {
17
16
  if (CachedNextBuilder) {
18
17
  return CachedNextBuilder;
19
18
  }
20
- const { BaseBuilder: BaseBuilderClass, STEP_QUEUE_TRIGGER, WORKFLOW_QUEUE_TRIGGER, } = await import('@workflow/builders');
19
+ const { BaseBuilder: BaseBuilderClass, STEP_QUEUE_TRIGGER, WORKFLOW_QUEUE_TRIGGER,
20
+ // biome-ignore lint/security/noGlobalEval: Need to use eval here to avoid TypeScript from transpiling the import statement into `require()`
21
+ } = (await eval('import("@workflow/builders")'));
21
22
  class NextBuilder extends BaseBuilderClass {
22
- socketIO;
23
- isDevServer;
24
- nextConfig;
25
- getDistDir() {
26
- return this.nextConfig?.distDir || '.next';
27
- }
28
- async writeWorkflowsCache(workflowFiles, stepFiles) {
29
- const cwd = this.config.workingDir;
30
- const distDir = this.getDistDir();
31
- const cacheDir = (0, node_path_1.join)(cwd, distDir, 'cache');
32
- const cacheFile = (0, node_path_1.join)(cacheDir, 'workflows.json');
33
- try {
34
- await (0, promises_1.mkdir)(cacheDir, { recursive: true });
35
- const cacheData = {
36
- workflowFiles: Array.from(workflowFiles),
37
- stepFiles: Array.from(stepFiles),
38
- timestamp: Date.now(),
39
- };
40
- await (0, promises_1.writeFile)(cacheFile, JSON.stringify(cacheData, null, 2));
41
- }
42
- catch (error) {
43
- console.error('Failed to write workflows cache:', error);
44
- }
45
- }
46
- async readWorkflowsCache() {
47
- const cwd = this.config.workingDir;
48
- const distDir = this.getDistDir();
49
- const cacheFile = (0, node_path_1.join)(cwd, distDir, 'cache', 'workflows.json');
50
- try {
51
- const cacheContent = await (0, promises_1.readFile)(cacheFile, 'utf-8');
52
- const cacheData = JSON.parse(cacheContent);
53
- return {
54
- workflowFiles: cacheData.workflowFiles || [],
55
- stepFiles: cacheData.stepFiles || [],
56
- };
57
- }
58
- catch {
59
- // Cache file doesn't exist or is invalid, return null
60
- return null;
61
- }
62
- }
63
- async init(nextConfig, phase) {
64
- this.nextConfig = nextConfig;
65
- this.isDevServer = phase === 'phase-development-server';
66
- const outputDir = await this.findAppDirectory();
67
- // Write stub files
68
- await this.writeStubFiles(outputDir);
69
- // Create socket server for file path communication
70
- await this.createSocketServer(outputDir);
71
- }
72
- async build(inputFiles) {
23
+ async build() {
73
24
  const outputDir = await this.findAppDirectory();
74
25
  const workflowGeneratedDir = (0, node_path_1.join)(outputDir, '.well-known/workflow/v1');
75
26
  // Ensure output directories exist
76
27
  await (0, promises_1.mkdir)(workflowGeneratedDir, { recursive: true });
77
28
  // ignore the generated assets
78
29
  await (0, promises_1.writeFile)((0, node_path_1.join)(workflowGeneratedDir, '.gitignore'), '*');
79
- // Use provided inputFiles or discover them
80
- const files = inputFiles || (await this.getInputFiles());
81
- const tsConfig = await this.getTsConfigOptions();
30
+ const inputFiles = await this.getInputFiles();
31
+ const tsconfigPath = await this.findTsConfigPath();
82
32
  const options = {
83
- inputFiles: files,
33
+ inputFiles,
84
34
  workflowGeneratedDir,
85
- tsBaseUrl: tsConfig.baseUrl,
86
- tsPaths: tsConfig.paths,
35
+ tsconfigPath,
87
36
  };
88
- const { manifest } = await this.buildStepsFunction(options);
89
- await this.buildWorkflowsFunction(options);
37
+ const { manifest, context: stepsBuildContext } = await this.buildStepsFunction(options);
38
+ const workflowsBundle = await this.buildWorkflowsFunction(options);
90
39
  await this.buildWebhookRoute({ workflowGeneratedDir });
91
40
  // Write unified manifest to workflow generated directory
92
41
  const workflowBundlePath = (0, node_path_1.join)(workflowGeneratedDir, 'flow/route.js');
@@ -96,9 +45,203 @@ async function getNextBuilder() {
96
45
  manifest,
97
46
  });
98
47
  await this.writeFunctionsConfig(outputDir);
99
- // Signal build complete to connected clients
100
- if (this.socketIO) {
101
- this.socketIO.emit('build-complete');
48
+ if (this.config.watch) {
49
+ if (!stepsBuildContext) {
50
+ throw new Error('Invariant: expected steps build context in watch mode');
51
+ }
52
+ if (!workflowsBundle) {
53
+ throw new Error('Invariant: expected workflows bundle in watch mode');
54
+ }
55
+ let stepsCtx = stepsBuildContext;
56
+ let workflowsCtx = workflowsBundle;
57
+ const normalizePath = (pathname) => pathname.replace(/\\/g, '/');
58
+ const knownFiles = new Set();
59
+ let previousTimeInfo = new Map();
60
+ const watchableExtensions = new Set([
61
+ '.js',
62
+ '.jsx',
63
+ '.ts',
64
+ '.tsx',
65
+ '.mts',
66
+ '.cts',
67
+ '.cjs',
68
+ '.mjs',
69
+ ]);
70
+ const ignoredPathFragments = [
71
+ '/.git/',
72
+ '/node_modules/',
73
+ '/.next/',
74
+ '/.turbo/',
75
+ '/.vercel/',
76
+ '/dist/',
77
+ '/build/',
78
+ '/out/',
79
+ '/.cache/',
80
+ '/.yarn/',
81
+ '/.pnpm-store/',
82
+ '/.parcel-cache/',
83
+ '/.well-known/workflow/',
84
+ ];
85
+ const normalizedGeneratedDir = workflowGeneratedDir.replace(/\\/g, '/');
86
+ ignoredPathFragments.push(normalizedGeneratedDir);
87
+ // There is a node.js bug on MacOS which causes closing file watchers to be really slow.
88
+ // This limits the number of watchers to mitigate the issue.
89
+ // https://github.com/nodejs/node/issues/29949
90
+ process.env.WATCHPACK_WATCHER_LIMIT =
91
+ process.platform === 'darwin' ? '20' : undefined;
92
+ const watcher = new watchpack_1.default({
93
+ // Watchpack default is 200ms which adds 200ms of dead time on bootup.
94
+ aggregateTimeout: 5,
95
+ ignored: (pathname) => {
96
+ const normalizedPath = pathname.replace(/\\/g, '/');
97
+ const extension = (0, node_path_1.extname)(normalizedPath);
98
+ if (extension && !watchableExtensions.has(extension)) {
99
+ return true;
100
+ }
101
+ if (normalizedPath.startsWith(normalizedGeneratedDir)) {
102
+ return true;
103
+ }
104
+ for (const fragment of ignoredPathFragments) {
105
+ if (normalizedPath.includes(fragment)) {
106
+ return true;
107
+ }
108
+ }
109
+ return false;
110
+ },
111
+ });
112
+ const readTimeInfoEntries = () => {
113
+ const rawEntries = watcher.getTimeInfoEntries();
114
+ const normalizedEntries = new Map();
115
+ for (const [path, info] of rawEntries) {
116
+ normalizedEntries.set(normalizePath(path), info);
117
+ }
118
+ return normalizedEntries;
119
+ };
120
+ let rebuildQueue = Promise.resolve();
121
+ const enqueue = (task) => {
122
+ rebuildQueue = rebuildQueue.then(task).catch((error) => {
123
+ console.error('Failed to process file change', error);
124
+ });
125
+ return rebuildQueue;
126
+ };
127
+ const fullRebuild = async () => {
128
+ const newInputFiles = await this.getInputFiles();
129
+ options.inputFiles = newInputFiles;
130
+ await stepsCtx.dispose();
131
+ const { context: newStepsCtx } = await this.buildStepsFunction(options);
132
+ if (!newStepsCtx) {
133
+ throw new Error('Invariant: expected steps build context after rebuild');
134
+ }
135
+ stepsCtx = newStepsCtx;
136
+ await workflowsCtx.interimBundleCtx.dispose();
137
+ const newWorkflowsCtx = await this.buildWorkflowsFunction(options);
138
+ if (!newWorkflowsCtx) {
139
+ throw new Error('Invariant: expected workflows bundle context after rebuild');
140
+ }
141
+ workflowsCtx = newWorkflowsCtx;
142
+ };
143
+ const logBuildMessages = (result, label) => {
144
+ const logByType = (messages, method) => {
145
+ if (!messages || messages.length === 0) {
146
+ return;
147
+ }
148
+ const descriptor = method === 'error' ? 'errors' : 'warnings';
149
+ console[method](`${descriptor} while rebuilding ${label}`);
150
+ for (const message of messages) {
151
+ console[method](message);
152
+ }
153
+ };
154
+ logByType(result.errors, 'error');
155
+ logByType(result.warnings, 'warn');
156
+ };
157
+ const rebuildExistingFiles = async () => {
158
+ const rebuiltStepStart = Date.now();
159
+ const stepsResult = await stepsCtx.rebuild();
160
+ logBuildMessages(stepsResult, 'steps bundle');
161
+ console.log('Rebuilt steps bundle', `${Date.now() - rebuiltStepStart}ms`);
162
+ const rebuiltWorkflowStart = Date.now();
163
+ const workflowResult = await workflowsCtx.interimBundleCtx.rebuild();
164
+ logBuildMessages(workflowResult, 'workflows bundle');
165
+ if (!workflowResult.outputFiles ||
166
+ workflowResult.outputFiles.length === 0) {
167
+ console.error('No output generated while rebuilding workflows bundle');
168
+ return;
169
+ }
170
+ await workflowsCtx.bundleFinal(workflowResult.outputFiles[0].text);
171
+ console.log('Rebuilt workflow bundle', `${Date.now() - rebuiltWorkflowStart}ms`);
172
+ };
173
+ const isWatchableFile = (path) => watchableExtensions.has((0, node_path_1.extname)(path));
174
+ const getComparableTimestamp = (entry) => entry.timestamp ?? entry.safeTime;
175
+ const findRemovedFiles = (currentEntries, previousEntries) => {
176
+ const removed = [];
177
+ for (const path of previousEntries.keys()) {
178
+ if (!currentEntries.has(path) && isWatchableFile(path)) {
179
+ removed.push(path);
180
+ }
181
+ }
182
+ return removed;
183
+ };
184
+ const findAddedAndModifiedFiles = (currentEntries, previousEntries) => {
185
+ const added = [];
186
+ const modified = [];
187
+ for (const [path, info] of currentEntries) {
188
+ if (!isWatchableFile(path)) {
189
+ continue;
190
+ }
191
+ const previous = previousEntries.get(path);
192
+ if (!previous) {
193
+ added.push(path);
194
+ continue;
195
+ }
196
+ if (getComparableTimestamp(info) !== getComparableTimestamp(previous)) {
197
+ modified.push(path);
198
+ }
199
+ }
200
+ return { added, modified };
201
+ };
202
+ const determineFileChanges = (currentEntries, previousEntries) => {
203
+ const removedFiles = findRemovedFiles(currentEntries, previousEntries);
204
+ const { added, modified } = findAddedAndModifiedFiles(currentEntries, previousEntries);
205
+ return {
206
+ addedFiles: added,
207
+ modifiedFiles: modified,
208
+ removedFiles,
209
+ };
210
+ };
211
+ let isInitial = true;
212
+ watcher.on('aggregated', () => {
213
+ const currentEntries = readTimeInfoEntries();
214
+ const { addedFiles, modifiedFiles, removedFiles } = determineFileChanges(currentEntries, previousTimeInfo);
215
+ previousTimeInfo = currentEntries;
216
+ if (isInitial) {
217
+ isInitial = false;
218
+ return;
219
+ }
220
+ if (addedFiles.length === 0 &&
221
+ modifiedFiles.length === 0 &&
222
+ removedFiles.length === 0) {
223
+ return;
224
+ }
225
+ for (const removal of removedFiles) {
226
+ knownFiles.delete(removal);
227
+ }
228
+ for (const added of addedFiles) {
229
+ knownFiles.add(added);
230
+ }
231
+ enqueue(async () => {
232
+ if (addedFiles.length > 0 || removedFiles.length > 0) {
233
+ await fullRebuild();
234
+ return;
235
+ }
236
+ if (modifiedFiles.length > 0) {
237
+ await rebuildExistingFiles();
238
+ }
239
+ });
240
+ });
241
+ watcher.watch({
242
+ directories: [this.config.workingDir],
243
+ startTime: 0,
244
+ });
102
245
  }
103
246
  }
104
247
  async getInputFiles() {
@@ -111,7 +254,7 @@ async function getNextBuilder() {
111
254
  }
112
255
  async writeFunctionsConfig(outputDir) {
113
256
  // we don't run this in development mode as it's not needed
114
- if (this.isDevServer) {
257
+ if (process.env.NODE_ENV === 'development') {
115
258
  return;
116
259
  }
117
260
  const generatedConfig = {
@@ -127,7 +270,7 @@ async function getNextBuilder() {
127
270
  // the Next.js builder to consume
128
271
  await (0, promises_1.writeFile)((0, node_path_1.join)(outputDir, '.well-known/workflow/v1/config.json'), JSON.stringify(generatedConfig, null, 2));
129
272
  }
130
- async buildStepsFunction({ inputFiles, workflowGeneratedDir, tsPaths, tsBaseUrl, }) {
273
+ async buildStepsFunction({ inputFiles, workflowGeneratedDir, tsconfigPath, }) {
131
274
  // Create steps bundle
132
275
  const stepsRouteDir = (0, node_path_1.join)(workflowGeneratedDir, 'step');
133
276
  await (0, promises_1.mkdir)(stepsRouteDir, { recursive: true });
@@ -141,11 +284,10 @@ async function getNextBuilder() {
141
284
  inputFiles,
142
285
  outfile: (0, node_path_1.join)(stepsRouteDir, 'route.js'),
143
286
  externalizeNonSteps: true,
144
- tsBaseUrl,
145
- tsPaths,
287
+ tsconfigPath,
146
288
  });
147
289
  }
148
- async buildWorkflowsFunction({ inputFiles, workflowGeneratedDir, tsPaths, tsBaseUrl, }) {
290
+ async buildWorkflowsFunction({ inputFiles, workflowGeneratedDir, tsconfigPath, }) {
149
291
  const workflowsRouteDir = (0, node_path_1.join)(workflowGeneratedDir, 'flow');
150
292
  await (0, promises_1.mkdir)(workflowsRouteDir, { recursive: true });
151
293
  return await this.createWorkflowsBundle({
@@ -153,8 +295,7 @@ async function getNextBuilder() {
153
295
  outfile: (0, node_path_1.join)(workflowsRouteDir, 'route.js'),
154
296
  bundleFinalOutput: false,
155
297
  inputFiles,
156
- tsBaseUrl,
157
- tsPaths,
298
+ tsconfigPath,
158
299
  });
159
300
  }
160
301
  async buildWebhookRoute({ workflowGeneratedDir, }) {
@@ -189,114 +330,6 @@ async function getNextBuilder() {
189
330
  }
190
331
  }
191
332
  }
192
- async createSocketServer(_usersAppDir) {
193
- if (process.env.WORKFLOW_SOCKET_PORT) {
194
- return;
195
- }
196
- const workflowFiles = new Set();
197
- const stepFiles = new Set();
198
- let debounceTimer = null;
199
- let buildTriggered = false;
200
- const BUILD_DEBOUNCE_MS = this.isDevServer ? 500 : 2_000;
201
- // Attempt to load cached workflows/steps from previous build
202
- const cache = await this.readWorkflowsCache();
203
- if (cache) {
204
- for (const file of cache.workflowFiles) {
205
- workflowFiles.add(file);
206
- }
207
- for (const file of cache.stepFiles) {
208
- stepFiles.add(file);
209
- }
210
- }
211
- // Debounced build trigger
212
- const triggerBuild = () => {
213
- if (debounceTimer) {
214
- clearTimeout(debounceTimer);
215
- }
216
- debounceTimer = setTimeout(async () => {
217
- if (buildTriggered && !this.isDevServer) {
218
- // can't run another build after one has already been done
219
- // in production mode as it won't have any affect since after
220
- // the first is done we resolve the loaders for the stub entries
221
- // and they can't be refreshed/rebuilt after that in production
222
- return;
223
- }
224
- // Combine workflow and step files into single array
225
- const allFiles = new Set([...workflowFiles, ...stepFiles]);
226
- const inputFiles = Array.from(allFiles);
227
- try {
228
- buildTriggered = true;
229
- await this.build(inputFiles);
230
- // Write cache after successful build
231
- await this.writeWorkflowsCache(workflowFiles, stepFiles);
232
- }
233
- catch (error) {
234
- if (!this.isDevServer) {
235
- throw error;
236
- }
237
- console.error('Workflows build failed:', error);
238
- }
239
- }, BUILD_DEBOUNCE_MS);
240
- };
241
- // Configure and create socket server
242
- const config = {
243
- isDevServer: this.isDevServer || false,
244
- onFileDiscovered: (filePath, hasWorkflow, hasStep) => {
245
- const knownFile = workflowFiles.has(filePath) || stepFiles.has(filePath);
246
- if (hasWorkflow) {
247
- workflowFiles.add(filePath);
248
- }
249
- else {
250
- workflowFiles.delete(filePath);
251
- }
252
- if (hasStep) {
253
- stepFiles.add(filePath);
254
- }
255
- else {
256
- stepFiles.delete(filePath);
257
- }
258
- // Trigger debounced build if the file was previously seen
259
- // or has workflows/steps currently
260
- if (
261
- // in non-dev we always update debounce on activity
262
- !this.isDevServer ||
263
- hasWorkflow ||
264
- hasStep ||
265
- knownFile) {
266
- triggerBuild();
267
- }
268
- },
269
- onTriggerBuild: triggerBuild,
270
- };
271
- this.socketIO = await (0, socket_server_1.createSocketServer)(config);
272
- }
273
- async writeStubFiles(usersAppDir) {
274
- // NOTE: there is a limitation with turbopack that we can only
275
- // have number of virtual entries with pending promise less than
276
- // CPU count as that's the number of workers it uses so currently
277
- // we're fine with > 3 vCPU but <= 3 vCPUs and we won't be able to
278
- // discover workflows/steps
279
- const parallelismCount = node_os_1.default.availableParallelism();
280
- if (process.env.TURBOPACK && parallelismCount < 4) {
281
- console.warn(`Available parallelism of ${parallelismCount} is less than needed 4. This can cause workflows/steps to fail to discover properly in turbopack`);
282
- }
283
- const routeStubContent = "export * from './inner'";
284
- // this needs to change on each build so can refresh workflows
285
- const innerStubContent = `WORKFLOW_INNER_STUB_FILE_${Date.now()}`;
286
- const workflowDir = (0, node_path_1.join)(usersAppDir, '.well-known/workflow/v1');
287
- // Ensure directories exist
288
- await (0, promises_1.mkdir)((0, node_path_1.join)(workflowDir, 'flow'), { recursive: true });
289
- await (0, promises_1.mkdir)((0, node_path_1.join)(workflowDir, 'step'), { recursive: true });
290
- await (0, promises_1.mkdir)((0, node_path_1.join)(workflowDir, 'webhook/[token]'), { recursive: true });
291
- // Write route.ts stub files (re-export from inner)
292
- await (0, promises_1.writeFile)((0, node_path_1.join)(workflowDir, 'flow/route.js'), routeStubContent);
293
- await (0, promises_1.writeFile)((0, node_path_1.join)(workflowDir, 'step/route.js'), routeStubContent);
294
- await (0, promises_1.writeFile)((0, node_path_1.join)(workflowDir, 'webhook/[token]/route.js'), routeStubContent);
295
- // Write inner.js stub files (actual stub marker)
296
- await (0, promises_1.writeFile)((0, node_path_1.join)(workflowDir, 'flow/inner.js'), innerStubContent);
297
- await (0, promises_1.writeFile)((0, node_path_1.join)(workflowDir, 'step/inner.js'), innerStubContent);
298
- await (0, promises_1.writeFile)((0, node_path_1.join)(workflowDir, 'webhook/[token]/inner.js'), innerStubContent);
299
- }
300
333
  }
301
334
  CachedNextBuilder = NextBuilder;
302
335
  return NextBuilder;
@@ -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":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,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,KAAK,CAAC,EAAE;YACN,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,yBA0FrC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,MAAM,CAAC;AAIvC,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,KAAK,CAAC,EAAE;YACN,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,yBAoGrC"}
package/dist/index.js CHANGED
@@ -1,6 +1,10 @@
1
1
  "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
2
5
  Object.defineProperty(exports, "__esModule", { value: true });
3
6
  exports.withWorkflow = withWorkflow;
7
+ const semver_1 = __importDefault(require("semver"));
4
8
  const builder_js_1 = require("./builder.js");
5
9
  function withWorkflow(nextConfigOrFn, { workflows, } = {}) {
6
10
  if (!process.env.VERCEL_DEPLOYMENT_ID) {
@@ -37,6 +41,8 @@ function withWorkflow(nextConfigOrFn, { workflows, } = {}) {
37
41
  nextConfig.turbopack.rules = {};
38
42
  }
39
43
  const existingRules = nextConfig.turbopack.rules;
44
+ const nextVersion = require('next/package.json').version;
45
+ const supportsTurboCondition = semver_1.default.gte(nextVersion, 'v16.0.0');
40
46
  for (const key of [
41
47
  '*.tsx',
42
48
  '*.ts',
@@ -48,15 +54,22 @@ function withWorkflow(nextConfigOrFn, { workflows, } = {}) {
48
54
  '*.cts',
49
55
  ]) {
50
56
  nextConfig.turbopack.rules[key] = {
57
+ ...(supportsTurboCondition
58
+ ? {
59
+ condition: {
60
+ ...existingRules[key]?.condition,
61
+ any: [
62
+ ...(existingRules[key]?.condition.any || []),
63
+ {
64
+ content: /(use workflow|use step)/,
65
+ },
66
+ ],
67
+ },
68
+ }
69
+ : {}),
51
70
  loaders: [...(existingRules[key]?.loaders || []), loaderPath],
52
71
  };
53
72
  }
54
- if (process.env.TURBOPACK) {
55
- if (!nextConfig.experimental) {
56
- nextConfig.experimental = {};
57
- }
58
- nextConfig.experimental.turbopackScopeHoisting = false;
59
- }
60
73
  // configure the loader for webpack
61
74
  const existingWebpackModify = nextConfig.webpack;
62
75
  nextConfig.webpack = (...args) => {
@@ -81,8 +94,10 @@ function withWorkflow(nextConfigOrFn, { workflows, } = {}) {
81
94
  // as Next.js uses child processes for different builds
82
95
  if (!process.env.WORKFLOW_NEXT_PRIVATE_BUILT &&
83
96
  phase !== 'phase-production-server') {
97
+ const shouldWatch = process.env.NODE_ENV === 'development';
84
98
  const NextBuilder = await (0, builder_js_1.getNextBuilder)();
85
99
  const workflowBuilder = new NextBuilder({
100
+ watch: shouldWatch,
86
101
  // discover workflows from pages/app entries
87
102
  dirs: ['pages', 'app', 'src/pages', 'src/app'],
88
103
  workingDir: process.cwd(),
@@ -92,7 +107,7 @@ function withWorkflow(nextConfigOrFn, { workflows, } = {}) {
92
107
  webhookBundlePath: '', // node used in base
93
108
  externalPackages: [...(nextConfig.serverExternalPackages || [])],
94
109
  });
95
- await workflowBuilder.init(nextConfig, phase);
110
+ await workflowBuilder.build();
96
111
  process.env.WORKFLOW_NEXT_PRIVATE_BUILT = '1';
97
112
  }
98
113
  return nextConfig;
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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"}
@@ -1 +1 @@
1
- {"version":3,"file":"loader.d.ts","sourceRoot":"","sources":["../src/loader.ts"],"names":[],"mappings":"AA2LA,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,CAwHjB"}
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,CAwFjB"}
package/dist/loader.js CHANGED
@@ -1,158 +1,15 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.default = workflowLoader;
4
- const promises_1 = require("node:fs/promises");
5
- const node_net_1 = require("node:net");
6
4
  const node_path_1 = require("node:path");
7
5
  const core_1 = require("@swc/core");
8
- const builders_1 = require("@workflow/builders");
9
- const socket_server_1 = require("./socket-server");
10
- // Stub content written by builder to inner.js files
11
- const STUB_CONTENT = 'WORKFLOW_INNER_STUB_FILE';
12
- // Cache for socket connection to avoid reconnecting on every file
13
- let socketClientPromise = null;
14
- async function getSocketClient() {
15
- if (!socketClientPromise) {
16
- socketClientPromise = (async () => {
17
- const socketPort = process.env.WORKFLOW_SOCKET_PORT;
18
- if (!socketPort) {
19
- throw new Error(`Invariant: no socket port provided for workflow loader`);
20
- }
21
- const port = Number.parseInt(socketPort, 10);
22
- if (Number.isNaN(port)) {
23
- throw new Error(`Invariant: invalid socket port provided: ${socketPort}`);
24
- }
25
- const socket = (0, node_net_1.connect)({ port, host: '127.0.0.1' });
26
- // Wait for connection
27
- await new Promise((resolve, reject) => {
28
- const timeout = setTimeout(() => {
29
- socket.destroy();
30
- reject(new Error('Socket connection timeout'));
31
- }, 1000);
32
- socket.on('connect', () => {
33
- socket.setNoDelay(true);
34
- clearTimeout(timeout);
35
- resolve();
36
- });
37
- socket.on('error', (err) => {
38
- clearTimeout(timeout);
39
- reject(err);
40
- });
41
- });
42
- return socket;
43
- })();
44
- }
45
- return socketClientPromise;
46
- }
47
- async function notifySocketServer(filename, hasWorkflow, hasStep) {
48
- const socket = await getSocketClient();
49
- if (!socket) {
50
- throw new Error(`Invariant: missing workflow socket connection`);
51
- }
52
- const authToken = process.env.WORKFLOW_SOCKET_AUTH;
53
- if (!authToken) {
54
- throw new Error(`Invariant: no socket auth token provided for workflow loader`);
55
- }
56
- // Send authenticated message with workflow and step information
57
- const message = {
58
- type: 'file-discovered',
59
- filePath: filename,
60
- hasWorkflow,
61
- hasStep,
62
- };
63
- socket.write((0, socket_server_1.serializeMessage)(message, authToken));
64
- }
65
- async function waitForBuildComplete() {
66
- const socket = await getSocketClient();
67
- return new Promise((resolve, reject) => {
68
- if (!socket) {
69
- reject(new Error('Socket not available'));
70
- return;
71
- }
72
- let buffer = '';
73
- let timeout = null;
74
- let settled = false;
75
- const cleanup = () => {
76
- if (timeout) {
77
- clearTimeout(timeout);
78
- timeout = null;
79
- }
80
- socket.off('data', onData);
81
- socket.off('error', onError);
82
- socket.off('end', onEnd);
83
- socket.off('close', onClose);
84
- };
85
- const settle = (callback) => {
86
- if (!settled) {
87
- settled = true;
88
- cleanup();
89
- callback();
90
- }
91
- };
92
- const onData = (data) => {
93
- buffer += data.toString();
94
- const authToken = process.env.WORKFLOW_SOCKET_AUTH;
95
- if (!authToken) {
96
- settle(() => reject(new Error('No socket auth token available')));
97
- return;
98
- }
99
- let newlineIndex = buffer.indexOf('\n');
100
- while (newlineIndex !== -1) {
101
- const line = buffer.slice(0, newlineIndex);
102
- buffer = buffer.slice(newlineIndex + 1);
103
- newlineIndex = buffer.indexOf('\n');
104
- const message = (0, socket_server_1.parseMessage)(line, authToken);
105
- if (message && message.type === 'build-complete') {
106
- settle(() => resolve());
107
- }
108
- }
109
- };
110
- const onError = (err) => {
111
- settle(() => reject(new Error(`Socket error: ${err.message}`)));
112
- };
113
- const onEnd = () => {
114
- settle(() => reject(new Error('Socket ended unexpectedly before build-complete message received')));
115
- };
116
- const onClose = () => {
117
- settle(() => reject(new Error('Socket closed unexpectedly before build-complete message received')));
118
- };
119
- // Set timeout to prevent indefinite hanging
120
- timeout = setTimeout(() => {
121
- settle(() => reject(new Error('Timeout waiting for build-complete message (60 seconds elapsed)')));
122
- }, 60000); // 60 second timeout
123
- socket.on('data', onData);
124
- socket.on('error', onError);
125
- socket.on('end', onEnd);
126
- socket.on('close', onClose);
127
- });
128
- }
129
6
  // This loader applies the "use workflow"/"use step"
130
7
  // client transformation
131
8
  async function workflowLoader(source, sourceMap) {
132
9
  const filename = this.resourcePath;
133
10
  const normalizedSource = source.toString();
134
- // Normalize path separators for cross-platform compatibility
135
- const normalizedFilename = filename.replace(/\\/g, '/');
136
- // Check if this is a .well-known workflow inner.js file with stub content
137
- const isWellKnownInnerFile = normalizedFilename.includes('.well-known/workflow/v1/') &&
138
- (normalizedFilename.includes('/flow/inner.js') ||
139
- normalizedFilename.includes('/step/inner.js') ||
140
- normalizedFilename.includes('/webhook/[token]/inner.js'));
141
- if (isWellKnownInnerFile &&
142
- normalizedSource.trim().startsWith(STUB_CONTENT)) {
143
- // Wait for build to complete
144
- await waitForBuildComplete();
145
- // Read the actual generated file content
146
- const actualContent = await (0, promises_1.readFile)(filename.replace(/inner\.js$/, 'route.js'), 'utf-8');
147
- return actualContent;
148
- }
149
- // Check for workflow and step directives
150
- const hasWorkflow = builders_1.useWorkflowPattern.test(normalizedSource);
151
- const hasStep = builders_1.useStepPattern.test(normalizedSource);
152
- // Send message to socket server if workflow or step detected
153
- await notifySocketServer(filename, hasWorkflow, hasStep);
154
11
  // only apply the transform if file needs it
155
- if (!hasWorkflow && !hasStep) {
12
+ if (!normalizedSource.match(/(use step|use workflow)/)) {
156
13
  return normalizedSource;
157
14
  }
158
15
  const isTypeScript = filename.endsWith('.ts') ||
@@ -170,7 +27,7 @@ async function workflowLoader(source, sourceMap) {
170
27
  const lowerWd = normalizedWorkingDir.toLowerCase();
171
28
  const lowerPath = normalizedFilepath.toLowerCase();
172
29
  let relativeFilename;
173
- if (lowerPath.startsWith(`${lowerWd}/`)) {
30
+ if (lowerPath.startsWith(lowerWd + '/')) {
174
31
  // File is under working directory - manually calculate relative path
175
32
  relativeFilename = normalizedFilepath.substring(normalizedWorkingDir.length + 1);
176
33
  }
@@ -1 +1 @@
1
- {"version":3,"file":"loader.js","sourceRoot":"","sources":["../src/loader.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"loader.js","sourceRoot":"","sources":["../src/loader.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export * from '@workflow/core/dist/runtime';
2
+ //# sourceMappingURL=runtime.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"runtime.d.ts","sourceRoot":"","sources":["../src/runtime.ts"],"names":[],"mappings":"AAGA,cAAc,6BAA6B,CAAC"}
@@ -0,0 +1,21 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ // re-export runtime as stub for resolving to not
18
+ // require @workflow/core be a dependency as well as
19
+ // @workflow/next
20
+ __exportStar(require("@workflow/core/dist/runtime"), exports);
21
+ //# sourceMappingURL=runtime.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"runtime.js","sourceRoot":"","sources":["../src/runtime.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,iDAAiD;AACjD,oDAAoD;AACpD,iBAAiB;AACjB,8DAA4C"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@workflow/next",
3
- "version": "4.0.1-beta.36",
3
+ "version": "4.0.1-beta.38",
4
4
  "description": "Next.js integration for Workflow DevKit",
5
5
  "type": "commonjs",
6
6
  "main": "dist/index.js",
@@ -18,16 +18,21 @@
18
18
  },
19
19
  "exports": {
20
20
  ".": "./dist/index.js",
21
- "./loader": "./dist/loader.js"
21
+ "./loader": "./dist/loader.js",
22
+ "./runtime": "./dist/runtime.js"
22
23
  },
23
24
  "dependencies": {
24
25
  "@swc/core": "1.15.3",
25
- "@workflow/builders": "4.0.1-beta.31",
26
- "@workflow/core": "4.0.1-beta.32",
26
+ "semver": "7.7.3",
27
+ "watchpack": "2.4.4",
28
+ "@workflow/builders": "4.0.1-beta.33",
29
+ "@workflow/core": "4.0.1-beta.34",
27
30
  "@workflow/swc-plugin": "4.0.1-beta.12"
28
31
  },
29
32
  "devDependencies": {
30
33
  "@types/node": "22.19.0",
34
+ "@types/semver": "7.7.1",
35
+ "@types/watchpack": "2.4.4",
31
36
  "next": "16.0.10",
32
37
  "@workflow/tsconfig": "4.0.1-beta.0"
33
38
  },
@@ -1,46 +0,0 @@
1
- /**
2
- * Message types that can be sent between loader and builder
3
- */
4
- export type SocketMessage = {
5
- type: 'file-discovered';
6
- filePath: string;
7
- hasWorkflow: boolean;
8
- hasStep: boolean;
9
- } | {
10
- type: 'trigger-build';
11
- } | {
12
- type: 'build-complete';
13
- };
14
- /**
15
- * Configuration for the socket server
16
- */
17
- export interface SocketServerConfig {
18
- isDevServer: boolean;
19
- onFileDiscovered: (filePath: string, hasWorkflow: boolean, hasStep: boolean) => void;
20
- onTriggerBuild: () => void;
21
- }
22
- /**
23
- * Interface for the socket IO instance returned by createSocketServer
24
- */
25
- export interface SocketIO {
26
- emit(event: 'build-complete'): void;
27
- getAuthToken(): string;
28
- }
29
- /**
30
- * Serialize a message with authentication preamble
31
- */
32
- export declare function serializeMessage(message: SocketMessage, authToken: string): string;
33
- /**
34
- * Parse and authenticate a message from the socket
35
- * Returns the parsed message if valid, null otherwise
36
- */
37
- export declare function parseMessage(line: string, authToken: string): SocketMessage | null;
38
- /**
39
- * Create a TCP socket server for loader<->builder communication.
40
- * Returns a SocketIO interface for broadcasting messages and the auth token.
41
- *
42
- * SECURITY: Server listens on 127.0.0.1 (localhost only) and uses
43
- * message authentication to prevent processing of unauthorized messages.
44
- */
45
- export declare function createSocketServer(config: SocketServerConfig): Promise<SocketIO>;
46
- //# sourceMappingURL=socket-server.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"socket-server.d.ts","sourceRoot":"","sources":["../src/socket-server.ts"],"names":[],"mappings":"AAiBA;;GAEG;AACH,MAAM,MAAM,aAAa,GACrB;IACE,IAAI,EAAE,iBAAiB,CAAC;IACxB,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,OAAO,CAAC;IACrB,OAAO,EAAE,OAAO,CAAC;CAClB,GACD;IAAE,IAAI,EAAE,eAAe,CAAA;CAAE,GACzB;IAAE,IAAI,EAAE,gBAAgB,CAAA;CAAE,CAAC;AAE/B;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,WAAW,EAAE,OAAO,CAAC;IACrB,gBAAgB,EAAE,CAChB,QAAQ,EAAE,MAAM,EAChB,WAAW,EAAE,OAAO,EACpB,OAAO,EAAE,OAAO,KACb,IAAI,CAAC;IACV,cAAc,EAAE,MAAM,IAAI,CAAC;CAC5B;AAED;;GAEG;AACH,MAAM,WAAW,QAAQ;IACvB,IAAI,CAAC,KAAK,EAAE,gBAAgB,GAAG,IAAI,CAAC;IACpC,YAAY,IAAI,MAAM,CAAC;CACxB;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAC9B,OAAO,EAAE,aAAa,EACtB,SAAS,EAAE,MAAM,GAChB,MAAM,CAER;AAED;;;GAGG;AACH,wBAAgB,YAAY,CAC1B,IAAI,EAAE,MAAM,EACZ,SAAS,EAAE,MAAM,GAChB,aAAa,GAAG,IAAI,CAoCtB;AAED;;;;;;GAMG;AACH,wBAAsB,kBAAkB,CACtC,MAAM,EAAE,kBAAkB,GACzB,OAAO,CAAC,QAAQ,CAAC,CA2EnB"}
@@ -1,132 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.serializeMessage = serializeMessage;
4
- exports.parseMessage = parseMessage;
5
- exports.createSocketServer = createSocketServer;
6
- const node_crypto_1 = require("node:crypto");
7
- const node_net_1 = require("node:net");
8
- /**
9
- * Magic preamble that must prefix all messages to authenticate them as workflow messages.
10
- * This prevents accidental processing of messages from port scanners or other local processes.
11
- */
12
- const MESSAGE_PREAMBLE = 'WF:';
13
- /**
14
- * Generate a random authentication token for this server session.
15
- * Clients must include this token in all messages.
16
- */
17
- function generateAuthToken() {
18
- return (0, node_crypto_1.randomBytes)(16).toString('hex');
19
- }
20
- /**
21
- * Serialize a message with authentication preamble
22
- */
23
- function serializeMessage(message, authToken) {
24
- return `${MESSAGE_PREAMBLE}${authToken}:${JSON.stringify(message)}\n`;
25
- }
26
- /**
27
- * Parse and authenticate a message from the socket
28
- * Returns the parsed message if valid, null otherwise
29
- */
30
- function parseMessage(line, authToken) {
31
- const trimmed = line.trim();
32
- if (!trimmed) {
33
- return null;
34
- }
35
- // Check for preamble
36
- if (!trimmed.startsWith(MESSAGE_PREAMBLE)) {
37
- console.warn('Received message without valid preamble, ignoring');
38
- return null;
39
- }
40
- // Extract auth token and payload
41
- const withoutPreamble = trimmed.slice(MESSAGE_PREAMBLE.length);
42
- const colonIndex = withoutPreamble.indexOf(':');
43
- if (colonIndex === -1) {
44
- console.warn('Received message without auth token separator, ignoring');
45
- return null;
46
- }
47
- const messageToken = withoutPreamble.slice(0, colonIndex);
48
- const payload = withoutPreamble.slice(colonIndex + 1);
49
- // Verify auth token
50
- if (messageToken !== authToken) {
51
- console.warn('Received message with invalid auth token, ignoring');
52
- return null;
53
- }
54
- // Parse JSON payload
55
- try {
56
- return JSON.parse(payload);
57
- }
58
- catch (error) {
59
- console.error('Failed to parse socket message JSON:', error);
60
- return null;
61
- }
62
- }
63
- /**
64
- * Create a TCP socket server for loader<->builder communication.
65
- * Returns a SocketIO interface for broadcasting messages and the auth token.
66
- *
67
- * SECURITY: Server listens on 127.0.0.1 (localhost only) and uses
68
- * message authentication to prevent processing of unauthorized messages.
69
- */
70
- async function createSocketServer(config) {
71
- const authToken = generateAuthToken();
72
- const clients = new Set();
73
- let buildTriggered = false;
74
- const server = (0, node_net_1.createServer)((socket) => {
75
- socket.setNoDelay(true);
76
- clients.add(socket);
77
- // Send build-complete if build already finished (production mode)
78
- if (buildTriggered && !config.isDevServer) {
79
- socket.write(serializeMessage({ type: 'build-complete' }, authToken));
80
- }
81
- let buffer = '';
82
- socket.on('data', (data) => {
83
- buffer += data.toString();
84
- // Process complete messages (newline-delimited)
85
- let newlineIndex = buffer.indexOf('\n');
86
- while (newlineIndex !== -1) {
87
- const line = buffer.slice(0, newlineIndex);
88
- buffer = buffer.slice(newlineIndex + 1);
89
- newlineIndex = buffer.indexOf('\n');
90
- const message = parseMessage(line, authToken);
91
- if (!message) {
92
- continue;
93
- }
94
- if (message.type === 'file-discovered') {
95
- config.onFileDiscovered(message.filePath, message.hasWorkflow, message.hasStep);
96
- }
97
- else if (message.type === 'trigger-build') {
98
- config.onTriggerBuild();
99
- }
100
- }
101
- });
102
- socket.on('end', () => {
103
- clients.delete(socket);
104
- });
105
- socket.on('error', (err) => {
106
- console.error('Socket error:', err);
107
- clients.delete(socket);
108
- });
109
- });
110
- // Listen on random available port (localhost only)
111
- await new Promise((resolve) => {
112
- server.listen(0, '127.0.0.1', () => {
113
- const address = server.address();
114
- if (address && typeof address === 'object') {
115
- process.env.WORKFLOW_SOCKET_PORT = String(address.port);
116
- process.env.WORKFLOW_SOCKET_AUTH = authToken;
117
- }
118
- resolve();
119
- });
120
- });
121
- return {
122
- emit: (_event) => {
123
- buildTriggered = true;
124
- const message = serializeMessage({ type: 'build-complete' }, authToken);
125
- for (const client of clients) {
126
- client.write(message);
127
- }
128
- },
129
- getAuthToken: () => authToken,
130
- };
131
- }
132
- //# sourceMappingURL=socket-server.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"socket-server.js","sourceRoot":"","sources":["../src/socket-server.ts"],"names":[],"mappings":"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"}