@workflow/builders 4.0.1-beta.5 → 4.0.1-beta.50
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/apply-swc-transform.d.ts +14 -4
- package/dist/apply-swc-transform.d.ts.map +1 -1
- package/dist/apply-swc-transform.js +59 -9
- package/dist/apply-swc-transform.js.map +1 -1
- package/dist/base-builder.d.ts +65 -22
- package/dist/base-builder.d.ts.map +1 -1
- package/dist/base-builder.js +438 -115
- package/dist/base-builder.js.map +1 -1
- package/dist/build-queue.d.ts +18 -0
- package/dist/build-queue.d.ts.map +1 -0
- package/dist/build-queue.js +26 -0
- package/dist/build-queue.js.map +1 -0
- package/dist/config-helpers.d.ts +31 -0
- package/dist/config-helpers.d.ts.map +1 -1
- package/dist/config-helpers.js +60 -0
- package/dist/config-helpers.js.map +1 -1
- package/dist/constants.d.ts +2 -2
- package/dist/constants.js +2 -2
- package/dist/discover-entries-esbuild-plugin.d.ts +2 -3
- package/dist/discover-entries-esbuild-plugin.d.ts.map +1 -1
- package/dist/discover-entries-esbuild-plugin.js +57 -26
- package/dist/discover-entries-esbuild-plugin.js.map +1 -1
- package/dist/index.d.ts +9 -3
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +8 -2
- package/dist/index.js.map +1 -1
- package/dist/module-specifier.d.ts +85 -0
- package/dist/module-specifier.d.ts.map +1 -0
- package/dist/module-specifier.js +437 -0
- package/dist/module-specifier.js.map +1 -0
- package/dist/module-specifier.test.d.ts +2 -0
- package/dist/module-specifier.test.d.ts.map +1 -0
- package/dist/module-specifier.test.js +169 -0
- package/dist/module-specifier.test.js.map +1 -0
- package/dist/node-module-esbuild-plugin.d.ts +37 -0
- package/dist/node-module-esbuild-plugin.d.ts.map +1 -1
- package/dist/node-module-esbuild-plugin.js +289 -9
- package/dist/node-module-esbuild-plugin.js.map +1 -1
- package/dist/node-module-esbuild-plugin.test.js +359 -88
- package/dist/node-module-esbuild-plugin.test.js.map +1 -1
- package/dist/pseudo-package-esbuild-plugin.d.ts +20 -0
- package/dist/pseudo-package-esbuild-plugin.d.ts.map +1 -0
- package/dist/pseudo-package-esbuild-plugin.js +47 -0
- package/dist/pseudo-package-esbuild-plugin.js.map +1 -0
- package/dist/pseudo-package-esbuild-plugin.test.d.ts +2 -0
- package/dist/pseudo-package-esbuild-plugin.test.d.ts.map +1 -0
- package/dist/pseudo-package-esbuild-plugin.test.js +315 -0
- package/dist/pseudo-package-esbuild-plugin.test.js.map +1 -0
- package/dist/request-converter.d.ts +3 -0
- package/dist/request-converter.d.ts.map +1 -0
- package/dist/request-converter.js +14 -0
- package/dist/request-converter.js.map +1 -0
- package/dist/standalone.d.ts +3 -0
- package/dist/standalone.d.ts.map +1 -1
- package/dist/standalone.js +37 -13
- package/dist/standalone.js.map +1 -1
- package/dist/swc-esbuild-plugin.d.ts +0 -2
- package/dist/swc-esbuild-plugin.d.ts.map +1 -1
- package/dist/swc-esbuild-plugin.js +33 -15
- package/dist/swc-esbuild-plugin.js.map +1 -1
- package/dist/transform-utils.d.ts +68 -0
- package/dist/transform-utils.d.ts.map +1 -0
- package/dist/transform-utils.js +97 -0
- package/dist/transform-utils.js.map +1 -0
- package/dist/transform-utils.test.d.ts +2 -0
- package/dist/transform-utils.test.d.ts.map +1 -0
- package/dist/transform-utils.test.js +266 -0
- package/dist/transform-utils.test.js.map +1 -0
- package/dist/types.d.ts +26 -2
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js +2 -0
- package/dist/types.js.map +1 -1
- package/dist/vercel-build-output-api.d.ts.map +1 -1
- package/dist/vercel-build-output-api.js +36 -14
- package/dist/vercel-build-output-api.js.map +1 -1
- package/dist/workflow-alias.d.ts +3 -0
- package/dist/workflow-alias.d.ts.map +1 -0
- package/dist/workflow-alias.js +46 -0
- package/dist/workflow-alias.js.map +1 -0
- package/dist/workflow-alias.test.d.ts +2 -0
- package/dist/workflow-alias.test.d.ts.map +1 -0
- package/dist/workflow-alias.test.js +46 -0
- package/dist/workflow-alias.test.js.map +1 -0
- package/dist/workflows-extractor.d.ts +92 -0
- package/dist/workflows-extractor.d.ts.map +1 -0
- package/dist/workflows-extractor.js +1476 -0
- package/dist/workflows-extractor.js.map +1 -0
- package/package.json +10 -9
|
@@ -0,0 +1,315 @@
|
|
|
1
|
+
import { mkdirSync, mkdtempSync, realpathSync, rmSync, writeFileSync, } from 'node:fs';
|
|
2
|
+
import { tmpdir } from 'node:os';
|
|
3
|
+
import { join } from 'node:path';
|
|
4
|
+
import * as esbuild from 'esbuild';
|
|
5
|
+
import { describe, expect, it } from 'vitest';
|
|
6
|
+
import { createPseudoPackagePlugin, PSEUDO_PACKAGES, } from './pseudo-package-esbuild-plugin.js';
|
|
7
|
+
// Resolve symlinks in tmpdir to avoid macOS /var -> /private/var issues
|
|
8
|
+
const realTmpdir = realpathSync(tmpdir());
|
|
9
|
+
async function buildWithPlugin(source, plugins = [createPseudoPackagePlugin()]) {
|
|
10
|
+
const tempDir = mkdtempSync(join(realTmpdir, 'pseudo-package-plugin-test-'));
|
|
11
|
+
const entryFile = join(tempDir, 'workflow.ts');
|
|
12
|
+
writeFileSync(entryFile, source);
|
|
13
|
+
const result = await esbuild.build({
|
|
14
|
+
entryPoints: [entryFile],
|
|
15
|
+
bundle: true,
|
|
16
|
+
write: false,
|
|
17
|
+
platform: 'neutral',
|
|
18
|
+
format: 'cjs',
|
|
19
|
+
logLevel: 'silent',
|
|
20
|
+
plugins,
|
|
21
|
+
});
|
|
22
|
+
return { result, tempDir };
|
|
23
|
+
}
|
|
24
|
+
describe('createPseudoPackagePlugin', () => {
|
|
25
|
+
describe('server-only package', () => {
|
|
26
|
+
it('should replace server-only import with empty module', async () => {
|
|
27
|
+
const testCode = `
|
|
28
|
+
import 'server-only';
|
|
29
|
+
export function workflow() {
|
|
30
|
+
return "hello";
|
|
31
|
+
}
|
|
32
|
+
`;
|
|
33
|
+
const { result, tempDir } = await buildWithPlugin(testCode);
|
|
34
|
+
try {
|
|
35
|
+
expect(result.errors).toHaveLength(0);
|
|
36
|
+
const output = result.outputFiles?.[0].text;
|
|
37
|
+
expect(output).toBeDefined();
|
|
38
|
+
// Should not contain require('server-only') since it's replaced with empty module
|
|
39
|
+
// (esbuild tree-shakes unused imports, so the module content may not appear,
|
|
40
|
+
// but importantly no require() call is generated)
|
|
41
|
+
expect(output).not.toContain("require('server-only')");
|
|
42
|
+
expect(output).not.toContain('require("server-only")');
|
|
43
|
+
}
|
|
44
|
+
finally {
|
|
45
|
+
rmSync(tempDir, { recursive: true, force: true });
|
|
46
|
+
}
|
|
47
|
+
});
|
|
48
|
+
it('should handle server-only alongside other imports', async () => {
|
|
49
|
+
const testCode = `
|
|
50
|
+
import 'server-only';
|
|
51
|
+
const x = 42;
|
|
52
|
+
export function workflow() {
|
|
53
|
+
return x;
|
|
54
|
+
}
|
|
55
|
+
`;
|
|
56
|
+
const { result, tempDir } = await buildWithPlugin(testCode);
|
|
57
|
+
try {
|
|
58
|
+
expect(result.errors).toHaveLength(0);
|
|
59
|
+
const output = result.outputFiles?.[0].text;
|
|
60
|
+
expect(output).toBeDefined();
|
|
61
|
+
// No require() call should be generated
|
|
62
|
+
expect(output).not.toContain("require('server-only')");
|
|
63
|
+
expect(output).not.toContain('require("server-only")');
|
|
64
|
+
// The actual code should still work
|
|
65
|
+
expect(output).toContain('42');
|
|
66
|
+
}
|
|
67
|
+
finally {
|
|
68
|
+
rmSync(tempDir, { recursive: true, force: true });
|
|
69
|
+
}
|
|
70
|
+
});
|
|
71
|
+
});
|
|
72
|
+
describe('client-only package', () => {
|
|
73
|
+
it('should replace client-only import with empty module', async () => {
|
|
74
|
+
const testCode = `
|
|
75
|
+
import 'client-only';
|
|
76
|
+
export const x = 1;
|
|
77
|
+
`;
|
|
78
|
+
const { result, tempDir } = await buildWithPlugin(testCode);
|
|
79
|
+
try {
|
|
80
|
+
expect(result.errors).toHaveLength(0);
|
|
81
|
+
const output = result.outputFiles?.[0].text;
|
|
82
|
+
expect(output).toBeDefined();
|
|
83
|
+
// No require() call should be generated
|
|
84
|
+
expect(output).not.toContain("require('client-only')");
|
|
85
|
+
expect(output).not.toContain('require("client-only")');
|
|
86
|
+
}
|
|
87
|
+
finally {
|
|
88
|
+
rmSync(tempDir, { recursive: true, force: true });
|
|
89
|
+
}
|
|
90
|
+
});
|
|
91
|
+
});
|
|
92
|
+
describe('compiled pseudo-packages', () => {
|
|
93
|
+
it('should replace next/dist/compiled/server-only import', async () => {
|
|
94
|
+
const testCode = `
|
|
95
|
+
import 'next/dist/compiled/server-only';
|
|
96
|
+
export const x = 1;
|
|
97
|
+
`;
|
|
98
|
+
const { result, tempDir } = await buildWithPlugin(testCode);
|
|
99
|
+
try {
|
|
100
|
+
expect(result.errors).toHaveLength(0);
|
|
101
|
+
const output = result.outputFiles?.[0].text;
|
|
102
|
+
expect(output).toBeDefined();
|
|
103
|
+
expect(output).not.toContain("require('next/dist/compiled/server-only')");
|
|
104
|
+
expect(output).not.toContain('require("next/dist/compiled/server-only")');
|
|
105
|
+
}
|
|
106
|
+
finally {
|
|
107
|
+
rmSync(tempDir, { recursive: true, force: true });
|
|
108
|
+
}
|
|
109
|
+
});
|
|
110
|
+
it('should replace next/dist/compiled/client-only import', async () => {
|
|
111
|
+
const testCode = `
|
|
112
|
+
import 'next/dist/compiled/client-only';
|
|
113
|
+
export const x = 1;
|
|
114
|
+
`;
|
|
115
|
+
const { result, tempDir } = await buildWithPlugin(testCode);
|
|
116
|
+
try {
|
|
117
|
+
expect(result.errors).toHaveLength(0);
|
|
118
|
+
const output = result.outputFiles?.[0].text;
|
|
119
|
+
expect(output).toBeDefined();
|
|
120
|
+
expect(output).not.toContain("require('next/dist/compiled/client-only')");
|
|
121
|
+
expect(output).not.toContain('require("next/dist/compiled/client-only")');
|
|
122
|
+
}
|
|
123
|
+
finally {
|
|
124
|
+
rmSync(tempDir, { recursive: true, force: true });
|
|
125
|
+
}
|
|
126
|
+
});
|
|
127
|
+
});
|
|
128
|
+
describe('both pseudo-packages', () => {
|
|
129
|
+
it('should handle both server-only and client-only in same file', async () => {
|
|
130
|
+
const testCode = `
|
|
131
|
+
import 'server-only';
|
|
132
|
+
import 'client-only';
|
|
133
|
+
export function workflow() {
|
|
134
|
+
return "mixed";
|
|
135
|
+
}
|
|
136
|
+
`;
|
|
137
|
+
const { result, tempDir } = await buildWithPlugin(testCode);
|
|
138
|
+
try {
|
|
139
|
+
expect(result.errors).toHaveLength(0);
|
|
140
|
+
const output = result.outputFiles?.[0].text;
|
|
141
|
+
expect(output).toBeDefined();
|
|
142
|
+
// No require() calls should be generated for either package
|
|
143
|
+
expect(output).not.toContain("require('server-only')");
|
|
144
|
+
expect(output).not.toContain('require("server-only")');
|
|
145
|
+
expect(output).not.toContain("require('client-only')");
|
|
146
|
+
expect(output).not.toContain('require("client-only")');
|
|
147
|
+
}
|
|
148
|
+
finally {
|
|
149
|
+
rmSync(tempDir, { recursive: true, force: true });
|
|
150
|
+
}
|
|
151
|
+
});
|
|
152
|
+
});
|
|
153
|
+
describe('without plugin', () => {
|
|
154
|
+
it('should fail to resolve server-only without the plugin', async () => {
|
|
155
|
+
const testCode = `
|
|
156
|
+
import 'server-only';
|
|
157
|
+
export const x = 1;
|
|
158
|
+
`;
|
|
159
|
+
const tempDir = mkdtempSync(join(realTmpdir, 'pseudo-package-plugin-test-'));
|
|
160
|
+
const entryFile = join(tempDir, 'workflow.ts');
|
|
161
|
+
writeFileSync(entryFile, testCode);
|
|
162
|
+
try {
|
|
163
|
+
await esbuild.build({
|
|
164
|
+
entryPoints: [entryFile],
|
|
165
|
+
bundle: true,
|
|
166
|
+
write: false,
|
|
167
|
+
platform: 'neutral',
|
|
168
|
+
format: 'cjs',
|
|
169
|
+
logLevel: 'silent',
|
|
170
|
+
// No plugins - should fail to resolve
|
|
171
|
+
});
|
|
172
|
+
// If we get here, the build succeeded (server-only might be installed)
|
|
173
|
+
// This is okay - we just want to verify the plugin works when the package isn't there
|
|
174
|
+
}
|
|
175
|
+
catch (error) {
|
|
176
|
+
// Expected: esbuild can't resolve server-only
|
|
177
|
+
expect(error.errors?.[0]?.text).toMatch(/Could not resolve "server-only"/);
|
|
178
|
+
}
|
|
179
|
+
finally {
|
|
180
|
+
rmSync(tempDir, { recursive: true, force: true });
|
|
181
|
+
}
|
|
182
|
+
});
|
|
183
|
+
});
|
|
184
|
+
describe('PSEUDO_PACKAGES constant', () => {
|
|
185
|
+
it('should contain next marker packages', () => {
|
|
186
|
+
expect(PSEUDO_PACKAGES.has('server-only')).toBe(true);
|
|
187
|
+
expect(PSEUDO_PACKAGES.has('client-only')).toBe(true);
|
|
188
|
+
expect(PSEUDO_PACKAGES.has('next/dist/compiled/server-only')).toBe(true);
|
|
189
|
+
expect(PSEUDO_PACKAGES.has('next/dist/compiled/client-only')).toBe(true);
|
|
190
|
+
expect(PSEUDO_PACKAGES.size).toBe(4);
|
|
191
|
+
});
|
|
192
|
+
});
|
|
193
|
+
});
|
|
194
|
+
describe('workflow bundle dynamic imports', () => {
|
|
195
|
+
it('should inline dynamic imports when bundling without external', async () => {
|
|
196
|
+
const tempDir = mkdtempSync(join(realTmpdir, 'dynamic-import-test-'));
|
|
197
|
+
const nodeModulesDir = join(tempDir, 'node_modules', 'my-test-package');
|
|
198
|
+
mkdirSync(nodeModulesDir, { recursive: true });
|
|
199
|
+
// Create a simple package to dynamically import
|
|
200
|
+
writeFileSync(join(nodeModulesDir, 'index.js'), 'export const testValue = 42;');
|
|
201
|
+
writeFileSync(join(nodeModulesDir, 'package.json'), JSON.stringify({ name: 'my-test-package', main: 'index.js' }));
|
|
202
|
+
const testCode = `
|
|
203
|
+
export async function workflow() {
|
|
204
|
+
const pkg = await import('my-test-package');
|
|
205
|
+
return pkg.testValue;
|
|
206
|
+
}
|
|
207
|
+
`;
|
|
208
|
+
const entryFile = join(tempDir, 'workflow.ts');
|
|
209
|
+
writeFileSync(entryFile, testCode);
|
|
210
|
+
try {
|
|
211
|
+
const result = await esbuild.build({
|
|
212
|
+
entryPoints: [entryFile],
|
|
213
|
+
bundle: true,
|
|
214
|
+
write: false,
|
|
215
|
+
platform: 'neutral',
|
|
216
|
+
format: 'cjs',
|
|
217
|
+
logLevel: 'silent',
|
|
218
|
+
// No external option - should inline the dynamic import
|
|
219
|
+
});
|
|
220
|
+
expect(result.errors).toHaveLength(0);
|
|
221
|
+
const output = result.outputFiles?.[0].text;
|
|
222
|
+
expect(output).toBeDefined();
|
|
223
|
+
// The dynamic import should be resolved and the value inlined
|
|
224
|
+
// esbuild converts dynamic imports to either Promise.resolve(require(...))
|
|
225
|
+
// or inlines the code directly
|
|
226
|
+
expect(output).toContain('42');
|
|
227
|
+
}
|
|
228
|
+
finally {
|
|
229
|
+
rmSync(tempDir, { recursive: true, force: true });
|
|
230
|
+
}
|
|
231
|
+
});
|
|
232
|
+
it('should leave dynamic import as import() when marked external', async () => {
|
|
233
|
+
const tempDir = mkdtempSync(join(realTmpdir, 'dynamic-import-test-'));
|
|
234
|
+
const nodeModulesDir = join(tempDir, 'node_modules', 'external-package');
|
|
235
|
+
mkdirSync(nodeModulesDir, { recursive: true });
|
|
236
|
+
writeFileSync(join(nodeModulesDir, 'index.js'), 'export const value = 100;');
|
|
237
|
+
writeFileSync(join(nodeModulesDir, 'package.json'), JSON.stringify({ name: 'external-package', main: 'index.js' }));
|
|
238
|
+
const testCode = `
|
|
239
|
+
export async function workflow() {
|
|
240
|
+
const pkg = await import('external-package');
|
|
241
|
+
return pkg.value;
|
|
242
|
+
}
|
|
243
|
+
`;
|
|
244
|
+
const entryFile = join(tempDir, 'workflow.ts');
|
|
245
|
+
writeFileSync(entryFile, testCode);
|
|
246
|
+
try {
|
|
247
|
+
const result = await esbuild.build({
|
|
248
|
+
entryPoints: [entryFile],
|
|
249
|
+
bundle: true,
|
|
250
|
+
write: false,
|
|
251
|
+
platform: 'neutral',
|
|
252
|
+
format: 'cjs',
|
|
253
|
+
logLevel: 'silent',
|
|
254
|
+
external: ['external-package'], // Mark as external
|
|
255
|
+
});
|
|
256
|
+
expect(result.errors).toHaveLength(0);
|
|
257
|
+
const output = result.outputFiles?.[0].text;
|
|
258
|
+
expect(output).toBeDefined();
|
|
259
|
+
// When external, esbuild leaves a dynamic import() call that would fail in the VM
|
|
260
|
+
// (the VM doesn't have import() available)
|
|
261
|
+
// This demonstrates why we DON'T use external for workflow bundles
|
|
262
|
+
expect(output).toMatch(/import\(["']external-package["']\)/);
|
|
263
|
+
// The actual value should NOT be inlined
|
|
264
|
+
expect(output).not.toContain('100');
|
|
265
|
+
}
|
|
266
|
+
finally {
|
|
267
|
+
rmSync(tempDir, { recursive: true, force: true });
|
|
268
|
+
}
|
|
269
|
+
});
|
|
270
|
+
it('should inline nested dynamic imports from dependencies', async () => {
|
|
271
|
+
const tempDir = mkdtempSync(join(realTmpdir, 'dynamic-import-test-'));
|
|
272
|
+
// Create a package that itself uses dynamic import
|
|
273
|
+
const outerPackageDir = join(tempDir, 'node_modules', 'outer-package');
|
|
274
|
+
const innerPackageDir = join(tempDir, 'node_modules', 'inner-package');
|
|
275
|
+
mkdirSync(outerPackageDir, { recursive: true });
|
|
276
|
+
mkdirSync(innerPackageDir, { recursive: true });
|
|
277
|
+
writeFileSync(join(innerPackageDir, 'index.js'), 'export const innerValue = 999;');
|
|
278
|
+
writeFileSync(join(innerPackageDir, 'package.json'), JSON.stringify({ name: 'inner-package', main: 'index.js' }));
|
|
279
|
+
writeFileSync(join(outerPackageDir, 'index.js'), `
|
|
280
|
+
export async function loadInner() {
|
|
281
|
+
const inner = await import('inner-package');
|
|
282
|
+
return inner.innerValue;
|
|
283
|
+
}
|
|
284
|
+
`);
|
|
285
|
+
writeFileSync(join(outerPackageDir, 'package.json'), JSON.stringify({ name: 'outer-package', main: 'index.js' }));
|
|
286
|
+
const testCode = `
|
|
287
|
+
import { loadInner } from 'outer-package';
|
|
288
|
+
export async function workflow() {
|
|
289
|
+
return loadInner();
|
|
290
|
+
}
|
|
291
|
+
`;
|
|
292
|
+
const entryFile = join(tempDir, 'workflow.ts');
|
|
293
|
+
writeFileSync(entryFile, testCode);
|
|
294
|
+
try {
|
|
295
|
+
const result = await esbuild.build({
|
|
296
|
+
entryPoints: [entryFile],
|
|
297
|
+
bundle: true,
|
|
298
|
+
write: false,
|
|
299
|
+
platform: 'neutral',
|
|
300
|
+
format: 'cjs',
|
|
301
|
+
logLevel: 'silent',
|
|
302
|
+
// No external - everything should be inlined
|
|
303
|
+
});
|
|
304
|
+
expect(result.errors).toHaveLength(0);
|
|
305
|
+
const output = result.outputFiles?.[0].text;
|
|
306
|
+
expect(output).toBeDefined();
|
|
307
|
+
// Both the outer and inner package code should be inlined
|
|
308
|
+
expect(output).toContain('999');
|
|
309
|
+
}
|
|
310
|
+
finally {
|
|
311
|
+
rmSync(tempDir, { recursive: true, force: true });
|
|
312
|
+
}
|
|
313
|
+
});
|
|
314
|
+
});
|
|
315
|
+
//# sourceMappingURL=pseudo-package-esbuild-plugin.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pseudo-package-esbuild-plugin.test.js","sourceRoot":"","sources":["../src/pseudo-package-esbuild-plugin.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
declare const NORMALIZE_REQUEST_CODE = "\nasync function normalizeRequest(request) {\n const options = {\n method: request.method,\n headers: new Headers(request.headers)\n };\n if (!['GET', 'HEAD', 'OPTIONS', 'TRACE', 'CONNECT'].includes(request.method)) {\n options.body = await request.arrayBuffer();\n }\n return new Request(request.url, options);\n}\n";
|
|
2
|
+
export { NORMALIZE_REQUEST_CODE };
|
|
3
|
+
//# sourceMappingURL=request-converter.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"request-converter.d.ts","sourceRoot":"","sources":["../src/request-converter.ts"],"names":[],"mappings":"AAAA,QAAA,MAAM,sBAAsB,+UAW3B,CAAC;AAEF,OAAO,EAAE,sBAAsB,EAAE,CAAC"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
const NORMALIZE_REQUEST_CODE = `
|
|
2
|
+
async function normalizeRequest(request) {
|
|
3
|
+
const options = {
|
|
4
|
+
method: request.method,
|
|
5
|
+
headers: new Headers(request.headers)
|
|
6
|
+
};
|
|
7
|
+
if (!['GET', 'HEAD', 'OPTIONS', 'TRACE', 'CONNECT'].includes(request.method)) {
|
|
8
|
+
options.body = await request.arrayBuffer();
|
|
9
|
+
}
|
|
10
|
+
return new Request(request.url, options);
|
|
11
|
+
}
|
|
12
|
+
`;
|
|
13
|
+
export { NORMALIZE_REQUEST_CODE };
|
|
14
|
+
//# sourceMappingURL=request-converter.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"request-converter.js","sourceRoot":"","sources":["../src/request-converter.ts"],"names":[],"mappings":"AAAA,MAAM,sBAAsB,GAAG;;;;;;;;;;;CAW9B,CAAC;AAEF,OAAO,EAAE,sBAAsB,EAAE,CAAC"}
|
package/dist/standalone.d.ts
CHANGED
|
@@ -1,6 +1,9 @@
|
|
|
1
1
|
import { BaseBuilder } from './base-builder.js';
|
|
2
|
+
import type { WorkflowConfig } from './types.js';
|
|
2
3
|
export declare class StandaloneBuilder extends BaseBuilder {
|
|
4
|
+
constructor(config: WorkflowConfig);
|
|
3
5
|
build(): Promise<void>;
|
|
6
|
+
private mergeManifests;
|
|
4
7
|
private buildStepsBundle;
|
|
5
8
|
private buildWorkflowsBundle;
|
|
6
9
|
private buildWebhookFunction;
|
package/dist/standalone.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"standalone.d.ts","sourceRoot":"","sources":["../src/standalone.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"standalone.d.ts","sourceRoot":"","sources":["../src/standalone.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAEjD,qBAAa,iBAAkB,SAAQ,WAAW;gBACpC,MAAM,EAAE,cAAc;IAO5B,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IA+B5B,OAAO,CAAC,cAAc;YAuBR,gBAAgB;YAqBhB,oBAAoB;YA0BpB,oBAAoB;CAUnC"}
|
package/dist/standalone.js
CHANGED
|
@@ -1,39 +1,63 @@
|
|
|
1
1
|
import { BaseBuilder } from './base-builder.js';
|
|
2
2
|
export class StandaloneBuilder extends BaseBuilder {
|
|
3
|
+
constructor(config) {
|
|
4
|
+
super({
|
|
5
|
+
...config,
|
|
6
|
+
dirs: ['.'],
|
|
7
|
+
});
|
|
8
|
+
}
|
|
3
9
|
async build() {
|
|
4
10
|
const inputFiles = await this.getInputFiles();
|
|
5
|
-
const
|
|
11
|
+
const tsconfigPath = await this.findTsConfigPath();
|
|
6
12
|
const options = {
|
|
7
13
|
inputFiles,
|
|
8
|
-
|
|
9
|
-
tsPaths: tsConfig.paths,
|
|
14
|
+
tsconfigPath,
|
|
10
15
|
};
|
|
11
|
-
await this.buildStepsBundle(options);
|
|
12
|
-
await this.buildWorkflowsBundle(options);
|
|
16
|
+
const stepsManifest = await this.buildStepsBundle(options);
|
|
17
|
+
const workflowsManifest = await this.buildWorkflowsBundle(options);
|
|
13
18
|
await this.buildWebhookFunction();
|
|
19
|
+
// Merge manifests from both bundles
|
|
20
|
+
// Steps bundle discovers classes from default export conditions
|
|
21
|
+
// Workflow bundle discovers classes from 'workflow' export conditions
|
|
22
|
+
const manifest = this.mergeManifests(stepsManifest, workflowsManifest);
|
|
23
|
+
// Build unified manifest from workflow bundle
|
|
24
|
+
const workflowBundlePath = this.resolvePath(this.config.workflowsBundlePath);
|
|
25
|
+
const manifestDir = this.resolvePath('.well-known/workflow/v1');
|
|
26
|
+
await this.createManifest({
|
|
27
|
+
workflowBundlePath,
|
|
28
|
+
manifestDir,
|
|
29
|
+
manifest,
|
|
30
|
+
});
|
|
14
31
|
await this.createClientLibrary();
|
|
15
32
|
}
|
|
16
|
-
|
|
33
|
+
mergeManifests(stepsManifest, workflowsManifest) {
|
|
34
|
+
return {
|
|
35
|
+
steps: { ...stepsManifest.steps, ...workflowsManifest.steps },
|
|
36
|
+
workflows: { ...stepsManifest.workflows, ...workflowsManifest.workflows },
|
|
37
|
+
classes: { ...stepsManifest.classes, ...workflowsManifest.classes },
|
|
38
|
+
};
|
|
39
|
+
}
|
|
40
|
+
async buildStepsBundle({ inputFiles, tsconfigPath, }) {
|
|
17
41
|
console.log('Creating steps bundle at', this.config.stepsBundlePath);
|
|
18
42
|
const stepsBundlePath = this.resolvePath(this.config.stepsBundlePath);
|
|
19
43
|
await this.ensureDirectory(stepsBundlePath);
|
|
20
|
-
await this.createStepsBundle({
|
|
44
|
+
const { manifest } = await this.createStepsBundle({
|
|
21
45
|
outfile: stepsBundlePath,
|
|
22
46
|
inputFiles,
|
|
23
|
-
|
|
24
|
-
tsPaths,
|
|
47
|
+
tsconfigPath,
|
|
25
48
|
});
|
|
49
|
+
return manifest;
|
|
26
50
|
}
|
|
27
|
-
async buildWorkflowsBundle({ inputFiles,
|
|
51
|
+
async buildWorkflowsBundle({ inputFiles, tsconfigPath, }) {
|
|
28
52
|
console.log('Creating workflows bundle at', this.config.workflowsBundlePath);
|
|
29
53
|
const workflowBundlePath = this.resolvePath(this.config.workflowsBundlePath);
|
|
30
54
|
await this.ensureDirectory(workflowBundlePath);
|
|
31
|
-
await this.createWorkflowsBundle({
|
|
55
|
+
const { manifest } = await this.createWorkflowsBundle({
|
|
32
56
|
outfile: workflowBundlePath,
|
|
33
57
|
inputFiles,
|
|
34
|
-
|
|
35
|
-
tsPaths,
|
|
58
|
+
tsconfigPath,
|
|
36
59
|
});
|
|
60
|
+
return manifest;
|
|
37
61
|
}
|
|
38
62
|
async buildWebhookFunction() {
|
|
39
63
|
console.log('Creating webhook bundle at', this.config.webhookBundlePath);
|
package/dist/standalone.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"standalone.js","sourceRoot":"","sources":["../src/standalone.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"standalone.js","sourceRoot":"","sources":["../src/standalone.ts"],"names":[],"mappings":"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"}
|
|
@@ -4,8 +4,6 @@ export interface SwcPluginOptions {
|
|
|
4
4
|
mode: 'step' | 'workflow' | 'client';
|
|
5
5
|
entriesToBundle?: string[];
|
|
6
6
|
outdir?: string;
|
|
7
|
-
tsPaths?: Record<string, string[]>;
|
|
8
|
-
tsBaseUrl?: string;
|
|
9
7
|
workflowManifest?: WorkflowManifest;
|
|
10
8
|
}
|
|
11
9
|
export declare function createSwcPlugin(options: SwcPluginOptions): Plugin;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"swc-esbuild-plugin.d.ts","sourceRoot":"","sources":["../src/swc-esbuild-plugin.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AACtC,OAAO,EAEL,KAAK,gBAAgB,EACtB,MAAM,0BAA0B,CAAC;
|
|
1
|
+
{"version":3,"file":"swc-esbuild-plugin.d.ts","sourceRoot":"","sources":["../src/swc-esbuild-plugin.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AACtC,OAAO,EAEL,KAAK,gBAAgB,EACtB,MAAM,0BAA0B,CAAC;AAOlC,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,MAAM,GAAG,UAAU,GAAG,QAAQ,CAAC;IACrC,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;IAC3B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,gBAAgB,CAAC,EAAE,gBAAgB,CAAC;CACrC;AAsCD,wBAAgB,eAAe,CAAC,OAAO,EAAE,gBAAgB,GAAG,MAAM,CA6MjE"}
|
|
@@ -4,6 +4,7 @@ import { promisify } from 'node:util';
|
|
|
4
4
|
import enhancedResolveOrig from 'enhanced-resolve';
|
|
5
5
|
import { applySwcTransform, } from './apply-swc-transform.js';
|
|
6
6
|
import { jsTsRegex, parentHasChild, } from './discover-entries-esbuild-plugin.js';
|
|
7
|
+
import { resolveWorkflowAliasRelativePath } from './workflow-alias.js';
|
|
7
8
|
const NODE_RESOLVE_OPTIONS = {
|
|
8
9
|
dependencyType: 'commonjs',
|
|
9
10
|
modules: ['node_modules'],
|
|
@@ -11,7 +12,18 @@ const NODE_RESOLVE_OPTIONS = {
|
|
|
11
12
|
importsFields: ['imports'],
|
|
12
13
|
conditionNames: ['node', 'require'],
|
|
13
14
|
descriptionFiles: ['package.json'],
|
|
14
|
-
extensions: [
|
|
15
|
+
extensions: [
|
|
16
|
+
'.ts',
|
|
17
|
+
'.tsx',
|
|
18
|
+
'.mts',
|
|
19
|
+
'.cts',
|
|
20
|
+
'.cjs',
|
|
21
|
+
'.mjs',
|
|
22
|
+
'.js',
|
|
23
|
+
'.jsx',
|
|
24
|
+
'.json',
|
|
25
|
+
'.node',
|
|
26
|
+
],
|
|
15
27
|
enforceExtensions: false,
|
|
16
28
|
symlinks: true,
|
|
17
29
|
mainFields: ['main'],
|
|
@@ -92,14 +104,19 @@ export function createSwcPlugin(options) {
|
|
|
92
104
|
// Handle TypeScript and JavaScript files
|
|
93
105
|
build.onLoad({ filter: jsTsRegex }, async (args) => {
|
|
94
106
|
// Determine if this is a TypeScript file
|
|
95
|
-
const isTypeScript = args.path.endsWith('.ts') || args.path.endsWith('.tsx');
|
|
96
107
|
try {
|
|
97
108
|
// Determine the loader based on the output
|
|
98
109
|
let loader = 'js';
|
|
99
|
-
if (
|
|
110
|
+
if (args.path.endsWith('.jsx')) {
|
|
100
111
|
loader = 'jsx';
|
|
101
112
|
}
|
|
113
|
+
else if (args.path.endsWith('.tsx')) {
|
|
114
|
+
loader = 'tsx';
|
|
115
|
+
}
|
|
102
116
|
const source = await readFile(args.path, 'utf8');
|
|
117
|
+
const normalizedSource = source
|
|
118
|
+
.replace(/require\(\s*(['"])server-only\1\s*\)/g, 'void 0')
|
|
119
|
+
.replace(/require\(\s*(['"])client-only\1\s*\)/g, 'void 0');
|
|
103
120
|
// Calculate relative path for SWC plugin
|
|
104
121
|
// The filename parameter is used to generate workflowId/stepId, so it must be relative
|
|
105
122
|
const workingDir = build.initialOptions.absWorkingDir || process.cwd();
|
|
@@ -129,10 +146,16 @@ export function createSwcPlugin(options) {
|
|
|
129
146
|
// Handle files discovered outside the working directory
|
|
130
147
|
// These come back as ../path/to/file, but we want just path/to/file
|
|
131
148
|
if (relativeFilepath.startsWith('../')) {
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
149
|
+
const aliasedRelativePath = await resolveWorkflowAliasRelativePath(args.path, workingDir);
|
|
150
|
+
if (aliasedRelativePath) {
|
|
151
|
+
relativeFilepath = aliasedRelativePath;
|
|
152
|
+
}
|
|
153
|
+
else {
|
|
154
|
+
relativeFilepath = relativeFilepath
|
|
155
|
+
.split('/')
|
|
156
|
+
.filter((part) => part !== '..')
|
|
157
|
+
.join('/');
|
|
158
|
+
}
|
|
136
159
|
}
|
|
137
160
|
}
|
|
138
161
|
// Final safety check - ensure we never pass an absolute path to SWC
|
|
@@ -142,19 +165,14 @@ export function createSwcPlugin(options) {
|
|
|
142
165
|
console.error(`[ERROR] relativeFilepath is still absolute: ${relativeFilepath}`);
|
|
143
166
|
relativeFilepath = normalizedPath.split('/').pop() || 'unknown.ts';
|
|
144
167
|
}
|
|
145
|
-
const { code: transformedCode, workflowManifest } = await applySwcTransform(relativeFilepath,
|
|
146
|
-
|
|
147
|
-
// alias via swc so that we can resolve them
|
|
148
|
-
// with our custom resolve logic
|
|
149
|
-
{
|
|
150
|
-
paths: options.tsPaths,
|
|
151
|
-
baseUrl: options.tsBaseUrl,
|
|
152
|
-
});
|
|
168
|
+
const { code: transformedCode, workflowManifest } = await applySwcTransform(relativeFilepath, normalizedSource, options.mode, args.path // Pass absolute path for module specifier resolution
|
|
169
|
+
);
|
|
153
170
|
if (!options.workflowManifest) {
|
|
154
171
|
options.workflowManifest = {};
|
|
155
172
|
}
|
|
156
173
|
options.workflowManifest.workflows = Object.assign(options.workflowManifest.workflows || {}, workflowManifest.workflows);
|
|
157
174
|
options.workflowManifest.steps = Object.assign(options.workflowManifest.steps || {}, workflowManifest.steps);
|
|
175
|
+
options.workflowManifest.classes = Object.assign(options.workflowManifest.classes || {}, workflowManifest.classes);
|
|
158
176
|
return {
|
|
159
177
|
contents: transformedCode,
|
|
160
178
|
loader,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"swc-esbuild-plugin.js","sourceRoot":"","sources":["../src/swc-esbuild-plugin.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC5C,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AACrC,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AACtC,OAAO,mBAAmB,MAAM,kBAAkB,CAAC;AAEnD,OAAO,EACL,iBAAiB,GAElB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EACL,SAAS,EACT,cAAc,GACf,MAAM,sCAAsC,CAAC;
|
|
1
|
+
{"version":3,"file":"swc-esbuild-plugin.js","sourceRoot":"","sources":["../src/swc-esbuild-plugin.ts"],"names":[],"mappings":"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"}
|