@workflow/builders 4.0.1-beta.4
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/LICENSE.md +201 -0
- package/README.md +43 -0
- package/dist/apply-swc-transform.d.ts +24 -0
- package/dist/apply-swc-transform.d.ts.map +1 -0
- package/dist/apply-swc-transform.js +38 -0
- package/dist/apply-swc-transform.js.map +1 -0
- package/dist/base-builder.d.ts +131 -0
- package/dist/base-builder.d.ts.map +1 -0
- package/dist/base-builder.js +558 -0
- package/dist/base-builder.js.map +1 -0
- package/dist/config-helpers.d.ts +12 -0
- package/dist/config-helpers.d.ts.map +1 -0
- package/dist/config-helpers.js +16 -0
- package/dist/config-helpers.js.map +1 -0
- package/dist/constants.d.ts +25 -0
- package/dist/constants.d.ts.map +1 -0
- package/dist/constants.js +25 -0
- package/dist/constants.js.map +1 -0
- package/dist/discover-entries-esbuild-plugin.d.ts +11 -0
- package/dist/discover-entries-esbuild-plugin.d.ts.map +1 -0
- package/dist/discover-entries-esbuild-plugin.js +84 -0
- package/dist/discover-entries-esbuild-plugin.js.map +1 -0
- package/dist/index.d.ts +13 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +11 -0
- package/dist/index.js.map +1 -0
- package/dist/node-module-esbuild-plugin.d.ts +3 -0
- package/dist/node-module-esbuild-plugin.d.ts.map +1 -0
- package/dist/node-module-esbuild-plugin.js +24 -0
- package/dist/node-module-esbuild-plugin.js.map +1 -0
- package/dist/node-module-esbuild-plugin.test.d.ts +2 -0
- package/dist/node-module-esbuild-plugin.test.d.ts.map +1 -0
- package/dist/node-module-esbuild-plugin.test.js +128 -0
- package/dist/node-module-esbuild-plugin.test.js.map +1 -0
- package/dist/standalone.d.ts +8 -0
- package/dist/standalone.d.ts.map +1 -0
- package/dist/standalone.js +47 -0
- package/dist/standalone.js.map +1 -0
- package/dist/swc-esbuild-plugin.d.ts +12 -0
- package/dist/swc-esbuild-plugin.d.ts.map +1 -0
- package/dist/swc-esbuild-plugin.js +134 -0
- package/dist/swc-esbuild-plugin.js.map +1 -0
- package/dist/types.d.ts +56 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +10 -0
- package/dist/types.js.map +1 -0
- package/dist/vercel-build-output-api.d.ts +9 -0
- package/dist/vercel-build-output-api.d.ts.map +1 -0
- package/dist/vercel-build-output-api.js +92 -0
- package/dist/vercel-build-output-api.js.map +1 -0
- package/package.json +54 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,iBAAiB,yEAKpB,CAAC;AACX,MAAM,MAAM,WAAW,GAAG,CAAC,OAAO,iBAAiB,CAAC,CAAC,MAAM,CAAC,CAAC;AAE7D;;GAEG;AACH,UAAU,kBAAkB;IAC1B,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;IAKnB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAE1B,gBAAgB,CAAC,EAAE,MAAM,EAAE,CAAC;IAE5B,oBAAoB,CAAC,EAAE,MAAM,CAAC;CAC/B;AAED;;GAEG;AACH,MAAM,WAAW,gBAAiB,SAAQ,kBAAkB;IAC1D,WAAW,EAAE,YAAY,CAAC;IAC1B,eAAe,EAAE,MAAM,CAAC;IACxB,mBAAmB,EAAE,MAAM,CAAC;IAC5B,iBAAiB,EAAE,MAAM,CAAC;CAC3B;AAED;;GAEG;AACH,MAAM,WAAW,uBAAwB,SAAQ,kBAAkB;IACjE,WAAW,EAAE,yBAAyB,CAAC;IACvC,eAAe,EAAE,MAAM,CAAC;IACxB,mBAAmB,EAAE,MAAM,CAAC;IAC5B,iBAAiB,EAAE,MAAM,CAAC;CAC3B;AAED;;GAEG;AACH,MAAM,WAAW,UAAW,SAAQ,kBAAkB;IACpD,WAAW,EAAE,MAAM,CAAC;IAEpB,eAAe,EAAE,MAAM,CAAC;IACxB,mBAAmB,EAAE,MAAM,CAAC;IAC5B,iBAAiB,EAAE,MAAM,CAAC;CAC3B;AAED;;GAEG;AACH,MAAM,WAAW,eAAgB,SAAQ,kBAAkB;IACzD,WAAW,EAAE,WAAW,CAAC;IAEzB,eAAe,EAAE,MAAM,CAAC;IACxB,mBAAmB,EAAE,MAAM,CAAC;IAC5B,iBAAiB,EAAE,MAAM,CAAC;CAC3B;AAED;;GAEG;AACH,MAAM,MAAM,cAAc,GACtB,gBAAgB,GAChB,uBAAuB,GACvB,UAAU,GACV,eAAe,CAAC;AAEpB,wBAAgB,kBAAkB,CAChC,MAAM,EAAE,MAAM,GAAG,SAAS,GACzB,MAAM,IAAI,WAAW,CAEvB"}
|
package/dist/types.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,iBAAiB,GAAG;IAC/B,YAAY;IACZ,yBAAyB;IACzB,MAAM;IACN,WAAW;CACH,CAAC;AAwEX,MAAM,UAAU,kBAAkB,CAChC,MAA0B;IAE1B,OAAO,CAAC,CAAC,MAAM,IAAI,iBAAiB,CAAC,QAAQ,CAAC,MAAqB,CAAC,CAAC;AACvE,CAAC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { BaseBuilder } from './base-builder.js';
|
|
2
|
+
export declare class VercelBuildOutputAPIBuilder extends BaseBuilder {
|
|
3
|
+
build(): Promise<void>;
|
|
4
|
+
private buildStepsFunction;
|
|
5
|
+
private buildWorkflowsFunction;
|
|
6
|
+
private buildWebhookFunction;
|
|
7
|
+
private createBuildOutputConfig;
|
|
8
|
+
}
|
|
9
|
+
//# sourceMappingURL=vercel-build-output-api.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"vercel-build-output-api.d.ts","sourceRoot":"","sources":["../src/vercel-build-output-api.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAGhD,qBAAa,2BAA4B,SAAQ,WAAW;IACpD,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;YAwBd,kBAAkB;YA+BlB,sBAAsB;YA6BtB,oBAAoB;YA0BpB,uBAAuB;CA0BtC"}
|
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
import { mkdir, writeFile } from 'node:fs/promises';
|
|
2
|
+
import { join, resolve } from 'node:path';
|
|
3
|
+
import { BaseBuilder } from './base-builder.js';
|
|
4
|
+
import { STEP_QUEUE_TRIGGER, WORKFLOW_QUEUE_TRIGGER } from './constants.js';
|
|
5
|
+
export class VercelBuildOutputAPIBuilder extends BaseBuilder {
|
|
6
|
+
async build() {
|
|
7
|
+
const outputDir = resolve(this.config.workingDir, '.vercel/output');
|
|
8
|
+
const functionsDir = join(outputDir, 'functions');
|
|
9
|
+
const workflowGeneratedDir = join(functionsDir, '.well-known/workflow/v1');
|
|
10
|
+
// Ensure output directories exist
|
|
11
|
+
await mkdir(workflowGeneratedDir, { recursive: true });
|
|
12
|
+
const inputFiles = await this.getInputFiles();
|
|
13
|
+
const tsConfig = await this.getTsConfigOptions();
|
|
14
|
+
const options = {
|
|
15
|
+
inputFiles,
|
|
16
|
+
workflowGeneratedDir,
|
|
17
|
+
tsBaseUrl: tsConfig.baseUrl,
|
|
18
|
+
tsPaths: tsConfig.paths,
|
|
19
|
+
};
|
|
20
|
+
await this.buildStepsFunction(options);
|
|
21
|
+
await this.buildWorkflowsFunction(options);
|
|
22
|
+
await this.buildWebhookFunction(options);
|
|
23
|
+
await this.createBuildOutputConfig(outputDir);
|
|
24
|
+
await this.createClientLibrary();
|
|
25
|
+
}
|
|
26
|
+
async buildStepsFunction({ inputFiles, workflowGeneratedDir, tsPaths, tsBaseUrl, }) {
|
|
27
|
+
console.log('Creating Vercel Build Output API steps function');
|
|
28
|
+
const stepsFuncDir = join(workflowGeneratedDir, 'step.func');
|
|
29
|
+
await mkdir(stepsFuncDir, { recursive: true });
|
|
30
|
+
// Create steps bundle
|
|
31
|
+
await this.createStepsBundle({
|
|
32
|
+
inputFiles,
|
|
33
|
+
outfile: join(stepsFuncDir, 'index.js'),
|
|
34
|
+
tsBaseUrl,
|
|
35
|
+
tsPaths,
|
|
36
|
+
});
|
|
37
|
+
// Create package.json and .vc-config.json for steps function
|
|
38
|
+
await this.createPackageJson(stepsFuncDir, 'commonjs');
|
|
39
|
+
await this.createVcConfig(stepsFuncDir, {
|
|
40
|
+
shouldAddSourcemapSupport: true,
|
|
41
|
+
experimentalTriggers: [STEP_QUEUE_TRIGGER],
|
|
42
|
+
});
|
|
43
|
+
}
|
|
44
|
+
async buildWorkflowsFunction({ inputFiles, workflowGeneratedDir, tsPaths, tsBaseUrl, }) {
|
|
45
|
+
console.log('Creating Vercel Build Output API workflows function');
|
|
46
|
+
const workflowsFuncDir = join(workflowGeneratedDir, 'flow.func');
|
|
47
|
+
await mkdir(workflowsFuncDir, { recursive: true });
|
|
48
|
+
await this.createWorkflowsBundle({
|
|
49
|
+
outfile: join(workflowsFuncDir, 'index.js'),
|
|
50
|
+
inputFiles,
|
|
51
|
+
tsBaseUrl,
|
|
52
|
+
tsPaths,
|
|
53
|
+
});
|
|
54
|
+
// Create package.json and .vc-config.json for workflows function
|
|
55
|
+
await this.createPackageJson(workflowsFuncDir, 'commonjs');
|
|
56
|
+
await this.createVcConfig(workflowsFuncDir, {
|
|
57
|
+
experimentalTriggers: [WORKFLOW_QUEUE_TRIGGER],
|
|
58
|
+
});
|
|
59
|
+
}
|
|
60
|
+
async buildWebhookFunction({ workflowGeneratedDir, bundle = true, }) {
|
|
61
|
+
console.log('Creating Vercel Build Output API webhook function');
|
|
62
|
+
const webhookFuncDir = join(workflowGeneratedDir, 'webhook/[token].func');
|
|
63
|
+
// Bundle the webhook route with dependencies resolved
|
|
64
|
+
await this.createWebhookBundle({
|
|
65
|
+
outfile: join(webhookFuncDir, 'index.js'),
|
|
66
|
+
bundle, // Build Output API needs bundling (except in tests)
|
|
67
|
+
});
|
|
68
|
+
// Create package.json and .vc-config.json for webhook function
|
|
69
|
+
await this.createPackageJson(webhookFuncDir, 'commonjs');
|
|
70
|
+
await this.createVcConfig(webhookFuncDir, {
|
|
71
|
+
shouldAddHelpers: false,
|
|
72
|
+
});
|
|
73
|
+
}
|
|
74
|
+
async createBuildOutputConfig(outputDir) {
|
|
75
|
+
// Create config.json for Build Output API
|
|
76
|
+
const buildOutputConfig = {
|
|
77
|
+
version: 3,
|
|
78
|
+
routes: [
|
|
79
|
+
{
|
|
80
|
+
src: '^\\/\\.well-known\\/workflow\\/v1\\/webhook\\/([^\\/]+)$',
|
|
81
|
+
dest: '/.well-known/workflow/v1/webhook/[token]',
|
|
82
|
+
},
|
|
83
|
+
],
|
|
84
|
+
};
|
|
85
|
+
await writeFile(join(outputDir, 'config.json'), JSON.stringify(buildOutputConfig, null, 2));
|
|
86
|
+
console.log(`Build Output API created at ${outputDir}`);
|
|
87
|
+
console.log('Steps function available at /.well-known/workflow/v1/step');
|
|
88
|
+
console.log('Workflows function available at /.well-known/workflow/v1/flow');
|
|
89
|
+
console.log('Webhook function available at /.well-known/workflow/v1/webhook/[token]');
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
//# sourceMappingURL=vercel-build-output-api.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"vercel-build-output-api.js","sourceRoot":"","sources":["../src/vercel-build-output-api.ts"],"names":[],"mappings":"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"}
|
package/package.json
ADDED
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@workflow/builders",
|
|
3
|
+
"version": "4.0.1-beta.4",
|
|
4
|
+
"description": "Shared builder infrastructure for Workflow DevKit",
|
|
5
|
+
"type": "module",
|
|
6
|
+
"main": "./dist/index.js",
|
|
7
|
+
"types": "./dist/index.d.ts",
|
|
8
|
+
"exports": {
|
|
9
|
+
".": {
|
|
10
|
+
"types": "./dist/index.d.ts",
|
|
11
|
+
"default": "./dist/index.js"
|
|
12
|
+
},
|
|
13
|
+
"./base-builder": {
|
|
14
|
+
"types": "./dist/base-builder.d.ts",
|
|
15
|
+
"default": "./dist/base-builder.js"
|
|
16
|
+
}
|
|
17
|
+
},
|
|
18
|
+
"files": [
|
|
19
|
+
"dist"
|
|
20
|
+
],
|
|
21
|
+
"publishConfig": {
|
|
22
|
+
"access": "public"
|
|
23
|
+
},
|
|
24
|
+
"license": "Apache-2.0",
|
|
25
|
+
"repository": {
|
|
26
|
+
"type": "git",
|
|
27
|
+
"url": "https://github.com/vercel/workflow.git",
|
|
28
|
+
"directory": "packages/builders"
|
|
29
|
+
},
|
|
30
|
+
"devDependencies": {
|
|
31
|
+
"@types/node": "22.19.0",
|
|
32
|
+
"@workflow/tsconfig": "4.0.1-beta.0"
|
|
33
|
+
},
|
|
34
|
+
"dependencies": {
|
|
35
|
+
"@swc/core": "1.11.24",
|
|
36
|
+
"builtin-modules": "^5.0.0",
|
|
37
|
+
"chalk": "^5.6.2",
|
|
38
|
+
"comment-json": "4.2.5",
|
|
39
|
+
"enhanced-resolve": "5.18.2",
|
|
40
|
+
"esbuild": "^0.25.11",
|
|
41
|
+
"find-up": "7.0.0",
|
|
42
|
+
"tinyglobby": "^0.2.14",
|
|
43
|
+
"@workflow/swc-plugin": "4.0.1-beta.2",
|
|
44
|
+
"@workflow/core": "4.0.1-beta.7",
|
|
45
|
+
"@workflow/errors": "4.0.1-beta.3"
|
|
46
|
+
},
|
|
47
|
+
"scripts": {
|
|
48
|
+
"build": "tsc",
|
|
49
|
+
"clean": "tsc --build --clean && rm -r dist ||:",
|
|
50
|
+
"dev": "tsc --watch",
|
|
51
|
+
"test": "vitest run src",
|
|
52
|
+
"typecheck": "tsc --noEmit"
|
|
53
|
+
}
|
|
54
|
+
}
|