@workflow/next 4.0.1-beta.7 → 4.0.1-beta.9

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.
@@ -0,0 +1,11 @@
1
+ import { BaseBuilder } from '@workflow/builders';
2
+ export declare class NextBuilder extends BaseBuilder {
3
+ build(): Promise<void>;
4
+ protected getInputFiles(): Promise<string[]>;
5
+ private writeFunctionsConfig;
6
+ private buildStepsFunction;
7
+ private buildWorkflowsFunction;
8
+ private buildWebhookRoute;
9
+ private findAppDirectory;
10
+ }
11
+ //# sourceMappingURL=builder.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"builder.d.ts","sourceRoot":"","sources":["../src/builder.ts"],"names":[],"mappings":"AAIA,OAAO,EACL,WAAW,EAGZ,MAAM,oBAAoB,CAAC;AAE5B,qBAAa,WAAY,SAAQ,WAAW;IACpC,KAAK;cAsTK,aAAa,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;YAUpC,oBAAoB;YAuBpB,kBAAkB;YA6BlB,sBAAsB;YA0BtB,iBAAiB;YAejB,gBAAgB;CA0B/B"}
@@ -0,0 +1,320 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
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
+ }
229
+ }
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
+ }
317
+ }
318
+ }
319
+ exports.NextBuilder = NextBuilder;
320
+ //# sourceMappingURL=builder.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"builder.js","sourceRoot":"","sources":["../src/builder.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -4,7 +4,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.withWorkflow = withWorkflow;
7
- const next_build_1 = require("@workflow/cli/dist/lib/builders/next-build");
7
+ const builder_js_1 = require("./builder.js");
8
8
  const semver_1 = __importDefault(require("semver"));
9
9
  function withWorkflow(nextConfigOrFn, { workflows, } = {}) {
10
10
  if (!process.env.VERCEL_DEPLOYMENT_ID) {
@@ -86,7 +86,7 @@ function withWorkflow(nextConfigOrFn, { workflows, } = {}) {
86
86
  if (!process.env.WORKFLOW_NEXT_PRIVATE_BUILT &&
87
87
  phase !== 'phase-production-server') {
88
88
  const shouldWatch = process.env.NODE_ENV === 'development';
89
- const workflowBuilder = new next_build_1.NextBuilder({
89
+ const workflowBuilder = new builder_js_1.NextBuilder({
90
90
  watch: shouldWatch,
91
91
  // discover workflows from pages/app entries
92
92
  dirs: ['pages', 'app', 'src/pages', 'src/app'],
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":"AAIA,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,CAkCjB"}
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"}
package/dist/loader.js CHANGED
@@ -1,6 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.default = workflowLoader;
4
+ const node_path_1 = require("node:path");
4
5
  const core_1 = require("@swc/core");
5
6
  // This loader applies the "use workflow"/"use step"
6
7
  // client transformation
@@ -13,9 +14,43 @@ async function workflowLoader(source, sourceMap) {
13
14
  }
14
15
  const isTypeScript = filename.endsWith('.ts') || filename.endsWith('.tsx');
15
16
  const isTsx = filename.endsWith('.tsx');
17
+ // Calculate relative filename for SWC plugin
18
+ // The SWC plugin uses filename to generate workflowId, so it must be relative
19
+ const workingDir = process.cwd();
20
+ const normalizedWorkingDir = workingDir
21
+ .replace(/\\/g, '/')
22
+ .replace(/\/$/, '');
23
+ const normalizedFilepath = filename.replace(/\\/g, '/');
24
+ // Windows fix: Use case-insensitive comparison to work around drive letter casing issues
25
+ const lowerWd = normalizedWorkingDir.toLowerCase();
26
+ const lowerPath = normalizedFilepath.toLowerCase();
27
+ let relativeFilename;
28
+ if (lowerPath.startsWith(lowerWd + '/')) {
29
+ // File is under working directory - manually calculate relative path
30
+ relativeFilename = normalizedFilepath.substring(normalizedWorkingDir.length + 1);
31
+ }
32
+ else if (lowerPath === lowerWd) {
33
+ // File IS the working directory (shouldn't happen)
34
+ relativeFilename = '.';
35
+ }
36
+ else {
37
+ // Use relative() for files outside working directory
38
+ relativeFilename = (0, node_path_1.relative)(workingDir, filename).replace(/\\/g, '/');
39
+ if (relativeFilename.startsWith('../')) {
40
+ relativeFilename = relativeFilename
41
+ .split('/')
42
+ .filter((part) => part !== '..')
43
+ .join('/');
44
+ }
45
+ }
46
+ // Final safety check - ensure we never pass an absolute path to SWC
47
+ if (relativeFilename.includes(':') || relativeFilename.startsWith('/')) {
48
+ // This should rarely happen, but use filename split as last resort
49
+ relativeFilename = normalizedFilepath.split('/').pop() || 'unknown.ts';
50
+ }
16
51
  // Transform with SWC
17
52
  const result = await (0, core_1.transform)(normalizedSource, {
18
- filename,
53
+ filename: relativeFilename,
19
54
  jsc: {
20
55
  parser: {
21
56
  syntax: isTypeScript ? 'typescript' : 'ecmascript',
@@ -1 +1 @@
1
- {"version":3,"file":"loader.js","sourceRoot":"","sources":["../src/loader.ts"],"names":[],"mappings":";;AAIA,iCAwCC;AA5CD,oCAAsC;AAEtC,oDAAoD;AACpD,wBAAwB;AACT,KAAK,UAAU,cAAc,CAI1C,MAAuB,EACvB,SAAc;IAEd,MAAM,QAAQ,GAAG,IAAI,CAAC,YAAY,CAAC;IACnC,MAAM,gBAAgB,GAAG,MAAM,CAAC,QAAQ,EAAE,CAAC;IAE3C,4CAA4C;IAC5C,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,yBAAyB,CAAC,EAAE,CAAC;QACvD,OAAO,gBAAgB,CAAC;IAC1B,CAAC;IAED,MAAM,YAAY,GAAG,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;IAC3E,MAAM,KAAK,GAAG,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;IAExC,qBAAqB;IACrB,MAAM,MAAM,GAAG,MAAM,IAAA,gBAAS,EAAC,gBAAgB,EAAE;QAC/C,QAAQ;QACR,GAAG,EAAE;YACH,MAAM,EAAE;gBACN,MAAM,EAAE,YAAY,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,YAAY;gBAClD,GAAG,EAAE,KAAK;aACX;YACD,MAAM,EAAE,QAAQ;YAChB,YAAY,EAAE;gBACZ,OAAO,EAAE;oBACP,CAAC,OAAO,CAAC,OAAO,CAAC,sBAAsB,CAAC,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;iBAC9D;aACF;SACF;QACD,MAAM,EAAE,KAAK;QACb,cAAc,EAAE,SAAS;QACzB,UAAU,EAAE,IAAI;QAChB,oBAAoB,EAAE,IAAI;KAC3B,CAAC,CAAC;IAEH,OAAO,MAAM,CAAC,IAAI,CAAC;AACrB,CAAC"}
1
+ {"version":3,"file":"loader.js","sourceRoot":"","sources":["../src/loader.ts"],"names":[],"mappings":";;AAKA,iCA+EC;AApFD,yCAAqC;AACrC,oCAAsC;AAEtC,oDAAoD;AACpD,wBAAwB;AACT,KAAK,UAAU,cAAc,CAI1C,MAAuB,EACvB,SAAc;IAEd,MAAM,QAAQ,GAAG,IAAI,CAAC,YAAY,CAAC;IACnC,MAAM,gBAAgB,GAAG,MAAM,CAAC,QAAQ,EAAE,CAAC;IAE3C,4CAA4C;IAC5C,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,yBAAyB,CAAC,EAAE,CAAC;QACvD,OAAO,gBAAgB,CAAC;IAC1B,CAAC;IAED,MAAM,YAAY,GAAG,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;IAC3E,MAAM,KAAK,GAAG,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;IAExC,6CAA6C;IAC7C,8EAA8E;IAC9E,MAAM,UAAU,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;IACjC,MAAM,oBAAoB,GAAG,UAAU;SACpC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC;SACnB,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;IACtB,MAAM,kBAAkB,GAAG,QAAQ,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;IAExD,yFAAyF;IACzF,MAAM,OAAO,GAAG,oBAAoB,CAAC,WAAW,EAAE,CAAC;IACnD,MAAM,SAAS,GAAG,kBAAkB,CAAC,WAAW,EAAE,CAAC;IAEnD,IAAI,gBAAwB,CAAC;IAC7B,IAAI,SAAS,CAAC,UAAU,CAAC,OAAO,GAAG,GAAG,CAAC,EAAE,CAAC;QACxC,qEAAqE;QACrE,gBAAgB,GAAG,kBAAkB,CAAC,SAAS,CAC7C,oBAAoB,CAAC,MAAM,GAAG,CAAC,CAChC,CAAC;IACJ,CAAC;SAAM,IAAI,SAAS,KAAK,OAAO,EAAE,CAAC;QACjC,mDAAmD;QACnD,gBAAgB,GAAG,GAAG,CAAC;IACzB,CAAC;SAAM,CAAC;QACN,qDAAqD;QACrD,gBAAgB,GAAG,IAAA,oBAAQ,EAAC,UAAU,EAAE,QAAQ,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;QAEtE,IAAI,gBAAgB,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC;YACvC,gBAAgB,GAAG,gBAAgB;iBAChC,KAAK,CAAC,GAAG,CAAC;iBACV,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,KAAK,IAAI,CAAC;iBAC/B,IAAI,CAAC,GAAG,CAAC,CAAC;QACf,CAAC;IACH,CAAC;IAED,oEAAoE;IACpE,IAAI,gBAAgB,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,gBAAgB,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;QACvE,mEAAmE;QACnE,gBAAgB,GAAG,kBAAkB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,IAAI,YAAY,CAAC;IACzE,CAAC;IAED,qBAAqB;IACrB,MAAM,MAAM,GAAG,MAAM,IAAA,gBAAS,EAAC,gBAAgB,EAAE;QAC/C,QAAQ,EAAE,gBAAgB;QAC1B,GAAG,EAAE;YACH,MAAM,EAAE;gBACN,MAAM,EAAE,YAAY,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,YAAY;gBAClD,GAAG,EAAE,KAAK;aACX;YACD,MAAM,EAAE,QAAQ;YAChB,YAAY,EAAE;gBACZ,OAAO,EAAE;oBACP,CAAC,OAAO,CAAC,OAAO,CAAC,sBAAsB,CAAC,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;iBAC9D;aACF;SACF;QACD,MAAM,EAAE,KAAK;QACb,cAAc,EAAE,SAAS;QACzB,UAAU,EAAE,IAAI;QAChB,oBAAoB,EAAE,IAAI;KAC3B,CAAC,CAAC;IAEH,OAAO,MAAM,CAAC,IAAI,CAAC;AACrB,CAAC"}
package/dist/runtime.d.ts CHANGED
@@ -1,2 +1,2 @@
1
- export * from '@workflow/cli/dist/lib/runtime';
1
+ export * from '@workflow/core/dist/runtime';
2
2
  //# sourceMappingURL=runtime.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"runtime.d.ts","sourceRoot":"","sources":["../src/runtime.ts"],"names":[],"mappings":"AAGA,cAAc,gCAAgC,CAAC"}
1
+ {"version":3,"file":"runtime.d.ts","sourceRoot":"","sources":["../src/runtime.ts"],"names":[],"mappings":"AAGA,cAAc,6BAA6B,CAAC"}
package/dist/runtime.js CHANGED
@@ -17,5 +17,5 @@ Object.defineProperty(exports, "__esModule", { value: true });
17
17
  // re-export runtime as stub for resolving to not
18
18
  // require @workflow/core be a dependency as well as
19
19
  // @workflow/next
20
- __exportStar(require("@workflow/cli/dist/lib/runtime"), exports);
20
+ __exportStar(require("@workflow/core/dist/runtime"), exports);
21
21
  //# sourceMappingURL=runtime.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"runtime.js","sourceRoot":"","sources":["../src/runtime.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,iDAAiD;AACjD,oDAAoD;AACpD,iBAAiB;AACjB,iEAA+C"}
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.7",
3
+ "version": "4.0.1-beta.9",
4
4
  "description": "Next.js integration for Workflow DevKit",
5
5
  "type": "commonjs",
6
6
  "main": "dist/index.js",
@@ -24,13 +24,15 @@
24
24
  "dependencies": {
25
25
  "@swc/core": "1.11.24",
26
26
  "semver": "7.7.3",
27
- "@workflow/cli": "4.0.1-beta.7",
28
- "@workflow/core": "4.0.1-beta.6",
29
- "@workflow/swc-plugin": "4.0.1-beta.2"
27
+ "watchpack": "2.4.4",
28
+ "@workflow/builders": "4.0.1-beta.5",
29
+ "@workflow/core": "4.0.1-beta.8",
30
+ "@workflow/swc-plugin": "4.0.1-beta.3"
30
31
  },
31
32
  "devDependencies": {
32
33
  "@types/node": "22.19.0",
33
34
  "@types/semver": "7.7.1",
35
+ "@types/watchpack": "2.4.4",
34
36
  "next": "16.0.1",
35
37
  "@workflow/tsconfig": "4.0.1-beta.0"
36
38
  },