@workflow/builders 4.0.1-beta.6 → 4.0.1-beta.60
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 +482 -136
- 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 +71 -26
- package/dist/discover-entries-esbuild-plugin.js.map +1 -1
- package/dist/get-input-files.test.d.ts +2 -0
- package/dist/get-input-files.test.d.ts.map +1 -0
- package/dist/get-input-files.test.js +119 -0
- package/dist/get-input-files.test.js.map +1 -0
- 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 +448 -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 +211 -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 +286 -7
- package/dist/node-module-esbuild-plugin.js.map +1 -1
- package/dist/node-module-esbuild-plugin.test.js +347 -146
- 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 +102 -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 +283 -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 +12 -11
|
@@ -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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"}
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Shared utilities for detecting files that need workflow transformation.
|
|
3
|
+
* Used by builders, rollup plugin, Next.js loader, and vite plugin.
|
|
4
|
+
*/
|
|
5
|
+
export declare const useWorkflowPattern: RegExp;
|
|
6
|
+
export declare const useStepPattern: RegExp;
|
|
7
|
+
export declare const workflowSerdeImportPattern: RegExp;
|
|
8
|
+
export declare const workflowSerdeSymbolPattern: RegExp;
|
|
9
|
+
export declare const workflowSerdeComputedPropertyPattern: RegExp;
|
|
10
|
+
export declare const generatedWorkflowPathPattern: RegExp;
|
|
11
|
+
export declare const workflowSdkPathPattern: RegExp;
|
|
12
|
+
/**
|
|
13
|
+
* Detects workflow-related patterns in source code.
|
|
14
|
+
*/
|
|
15
|
+
export interface WorkflowPatternMatch {
|
|
16
|
+
/** File contains 'use workflow' directive */
|
|
17
|
+
hasUseWorkflow: boolean;
|
|
18
|
+
/** File contains 'use step' directive */
|
|
19
|
+
hasUseStep: boolean;
|
|
20
|
+
/** File contains @workflow/serde import */
|
|
21
|
+
hasSerdeImport: boolean;
|
|
22
|
+
/** File contains Symbol.for('workflow-serialize') or Symbol.for('workflow-deserialize') */
|
|
23
|
+
hasSerdeSymbol: boolean;
|
|
24
|
+
/** File contains any directive ('use workflow' or 'use step') */
|
|
25
|
+
hasDirective: boolean;
|
|
26
|
+
/** File contains any serde pattern (import or Symbol.for) */
|
|
27
|
+
hasSerde: boolean;
|
|
28
|
+
}
|
|
29
|
+
/**
|
|
30
|
+
* Detects workflow-related patterns in source code.
|
|
31
|
+
* @param source - The source code to analyze
|
|
32
|
+
* @returns Object with flags for each detected pattern
|
|
33
|
+
*/
|
|
34
|
+
export declare function detectWorkflowPatterns(source: string): WorkflowPatternMatch;
|
|
35
|
+
/**
|
|
36
|
+
* Determines if a file path is a generated workflow route file.
|
|
37
|
+
* @param filePath - The file path to check
|
|
38
|
+
* @returns true if the file is a generated workflow route
|
|
39
|
+
*/
|
|
40
|
+
export declare function isGeneratedWorkflowFile(filePath: string): boolean;
|
|
41
|
+
/**
|
|
42
|
+
* Determines if a file path is part of the @workflow SDK.
|
|
43
|
+
* @param filePath - The file path to check
|
|
44
|
+
* @returns true if the file is part of the @workflow SDK
|
|
45
|
+
*/
|
|
46
|
+
export declare function isWorkflowSdkFile(filePath: string): boolean;
|
|
47
|
+
/**
|
|
48
|
+
* Determines if a file should be transformed based on its path and content patterns.
|
|
49
|
+
*
|
|
50
|
+
* Logic:
|
|
51
|
+
* - Generated workflow route files are never transformed
|
|
52
|
+
* - Files with directives ('use workflow' or 'use step') are always transformed
|
|
53
|
+
* - Files with serde patterns are transformed, unless they're @workflow SDK files
|
|
54
|
+
* (SDK files with serde patterns are internal implementation, not user code)
|
|
55
|
+
*
|
|
56
|
+
* @param filePath - The file path to check
|
|
57
|
+
* @param patterns - The detected patterns from detectWorkflowPatterns()
|
|
58
|
+
* @returns true if the file should be transformed
|
|
59
|
+
*/
|
|
60
|
+
export declare function shouldTransformFile(filePath: string, patterns: WorkflowPatternMatch): boolean;
|
|
61
|
+
/**
|
|
62
|
+
* Combined regex pattern for turbopack content matching.
|
|
63
|
+
* Uses backreferences to ensure matching quote types.
|
|
64
|
+
* Matches: 'use workflow', 'use step', @workflow/serde imports, Symbol.for serialization symbols,
|
|
65
|
+
* and WORKFLOW_SERIALIZE/WORKFLOW_DESERIALIZE computed property usage
|
|
66
|
+
*/
|
|
67
|
+
export declare const turbopackContentPattern: RegExp;
|
|
68
|
+
//# sourceMappingURL=transform-utils.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"transform-utils.d.ts","sourceRoot":"","sources":["../src/transform-utils.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,eAAO,MAAM,kBAAkB,QAAoC,CAAC;AACpE,eAAO,MAAM,cAAc,QAAgC,CAAC;AAI5D,eAAO,MAAM,0BAA0B,QAAoC,CAAC;AAI5E,eAAO,MAAM,0BAA0B,QAC+B,CAAC;AAKvE,eAAO,MAAM,oCAAoC,QACD,CAAC;AAIjD,eAAO,MAAM,4BAA4B,QACF,CAAC;AAWxC,eAAO,MAAM,sBAAsB,QACkM,CAAC;AAEtO;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,6CAA6C;IAC7C,cAAc,EAAE,OAAO,CAAC;IACxB,yCAAyC;IACzC,UAAU,EAAE,OAAO,CAAC;IACpB,2CAA2C;IAC3C,cAAc,EAAE,OAAO,CAAC;IACxB,2FAA2F;IAC3F,cAAc,EAAE,OAAO,CAAC;IACxB,iEAAiE;IACjE,YAAY,EAAE,OAAO,CAAC;IACtB,6DAA6D;IAC7D,QAAQ,EAAE,OAAO,CAAC;CACnB;AAED;;;;GAIG;AACH,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,MAAM,GAAG,oBAAoB,CAgB3E;AAED;;;;GAIG;AACH,wBAAgB,uBAAuB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAEjE;AAED;;;;GAIG;AACH,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAE3D;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,mBAAmB,CACjC,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,oBAAoB,GAC7B,OAAO,CAiBT;AAED;;;;;GAKG;AACH,eAAO,MAAM,uBAAuB,QACuI,CAAC"}
|
|
@@ -0,0 +1,102 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Shared utilities for detecting files that need workflow transformation.
|
|
3
|
+
* Used by builders, rollup plugin, Next.js loader, and vite plugin.
|
|
4
|
+
*/
|
|
5
|
+
// Matches: 'use workflow'; "use workflow"; 'use step'; "use step"; at line start with optional whitespace
|
|
6
|
+
export const useWorkflowPattern = /^\s*(['"])use workflow\1;?\s*$/m;
|
|
7
|
+
export const useStepPattern = /^\s*(['"])use step\1;?\s*$/m;
|
|
8
|
+
// Matches imports from '@workflow/serde' (for custom class serialization)
|
|
9
|
+
// e.g.: import { WORKFLOW_SERIALIZE } from '@workflow/serde';
|
|
10
|
+
export const workflowSerdeImportPattern = /from\s+(['"])@workflow\/serde\1/;
|
|
11
|
+
// Matches direct usage of Symbol.for('workflow-serialize') or Symbol.for('workflow-deserialize')
|
|
12
|
+
// e.g.: static [Symbol.for('workflow-serialize')](instance) { ... }
|
|
13
|
+
export const workflowSerdeSymbolPattern = /Symbol\.for\s*\(\s*(['"])workflow-(?:serialize|deserialize)\1\s*\)/;
|
|
14
|
+
// Matches usage of WORKFLOW_SERIALIZE or WORKFLOW_DESERIALIZE as computed property names
|
|
15
|
+
// e.g.: static [WORKFLOW_SERIALIZE](instance) { ... }
|
|
16
|
+
// This catches cases where the symbols are imported and used (even if bundled/re-exported)
|
|
17
|
+
export const workflowSerdeComputedPropertyPattern = /\[\s*WORKFLOW_(?:SERIALIZE|DESERIALIZE)\s*\]/;
|
|
18
|
+
// Pattern to detect generated workflow route files that should be excluded
|
|
19
|
+
// These files are generated by the build process and should not be re-processed
|
|
20
|
+
export const generatedWorkflowPathPattern = /[/\\]\.well-known[/\\]workflow[/\\]/;
|
|
21
|
+
// Pattern to detect @workflow SDK packages that should be excluded from transformation
|
|
22
|
+
// These are internal SDK packages that should not be treated as user entry points.
|
|
23
|
+
// Matches:
|
|
24
|
+
// - node_modules/@workflow/*
|
|
25
|
+
// - node_modules/workflow/*
|
|
26
|
+
// - node_modules/.pnpm/.../node_modules/@workflow/* (pnpm virtual store)
|
|
27
|
+
// - node_modules/.pnpm/.../node_modules/workflow/* (pnpm virtual store)
|
|
28
|
+
// - monorepo packages/*/dist paths
|
|
29
|
+
// User npm packages with workflows/steps/serde SHOULD still be discovered.
|
|
30
|
+
export const workflowSdkPathPattern = /[/\\](?:node_modules[/\\](?:@workflow[/\\]|workflow[/\\]|\.pnpm[/\\][^/\\]+[/\\]node_modules[/\\](?:@workflow[/\\]|workflow[/\\]))|packages[/\\](?:builders|core|rollup|vite|next|nitro|serde|workflow|swc-plugin-workflow)[/\\])/;
|
|
31
|
+
/**
|
|
32
|
+
* Detects workflow-related patterns in source code.
|
|
33
|
+
* @param source - The source code to analyze
|
|
34
|
+
* @returns Object with flags for each detected pattern
|
|
35
|
+
*/
|
|
36
|
+
export function detectWorkflowPatterns(source) {
|
|
37
|
+
const hasUseWorkflow = useWorkflowPattern.test(source);
|
|
38
|
+
const hasUseStep = useStepPattern.test(source);
|
|
39
|
+
const hasSerdeImport = workflowSerdeImportPattern.test(source);
|
|
40
|
+
const hasSerdeSymbol = workflowSerdeSymbolPattern.test(source);
|
|
41
|
+
const hasSerdeComputedProperty = workflowSerdeComputedPropertyPattern.test(source);
|
|
42
|
+
return {
|
|
43
|
+
hasUseWorkflow,
|
|
44
|
+
hasUseStep,
|
|
45
|
+
hasSerdeImport,
|
|
46
|
+
hasSerdeSymbol,
|
|
47
|
+
hasDirective: hasUseWorkflow || hasUseStep,
|
|
48
|
+
hasSerde: hasSerdeImport || hasSerdeSymbol || hasSerdeComputedProperty,
|
|
49
|
+
};
|
|
50
|
+
}
|
|
51
|
+
/**
|
|
52
|
+
* Determines if a file path is a generated workflow route file.
|
|
53
|
+
* @param filePath - The file path to check
|
|
54
|
+
* @returns true if the file is a generated workflow route
|
|
55
|
+
*/
|
|
56
|
+
export function isGeneratedWorkflowFile(filePath) {
|
|
57
|
+
return generatedWorkflowPathPattern.test(filePath);
|
|
58
|
+
}
|
|
59
|
+
/**
|
|
60
|
+
* Determines if a file path is part of the @workflow SDK.
|
|
61
|
+
* @param filePath - The file path to check
|
|
62
|
+
* @returns true if the file is part of the @workflow SDK
|
|
63
|
+
*/
|
|
64
|
+
export function isWorkflowSdkFile(filePath) {
|
|
65
|
+
return workflowSdkPathPattern.test(filePath);
|
|
66
|
+
}
|
|
67
|
+
/**
|
|
68
|
+
* Determines if a file should be transformed based on its path and content patterns.
|
|
69
|
+
*
|
|
70
|
+
* Logic:
|
|
71
|
+
* - Generated workflow route files are never transformed
|
|
72
|
+
* - Files with directives ('use workflow' or 'use step') are always transformed
|
|
73
|
+
* - Files with serde patterns are transformed, unless they're @workflow SDK files
|
|
74
|
+
* (SDK files with serde patterns are internal implementation, not user code)
|
|
75
|
+
*
|
|
76
|
+
* @param filePath - The file path to check
|
|
77
|
+
* @param patterns - The detected patterns from detectWorkflowPatterns()
|
|
78
|
+
* @returns true if the file should be transformed
|
|
79
|
+
*/
|
|
80
|
+
export function shouldTransformFile(filePath, patterns) {
|
|
81
|
+
// Never transform generated workflow route files
|
|
82
|
+
if (isGeneratedWorkflowFile(filePath)) {
|
|
83
|
+
return false;
|
|
84
|
+
}
|
|
85
|
+
// Always transform files with directives
|
|
86
|
+
if (patterns.hasDirective) {
|
|
87
|
+
return true;
|
|
88
|
+
}
|
|
89
|
+
// Transform files with serde patterns, unless they're @workflow SDK files
|
|
90
|
+
if (patterns.hasSerde) {
|
|
91
|
+
return !isWorkflowSdkFile(filePath);
|
|
92
|
+
}
|
|
93
|
+
return false;
|
|
94
|
+
}
|
|
95
|
+
/**
|
|
96
|
+
* Combined regex pattern for turbopack content matching.
|
|
97
|
+
* Uses backreferences to ensure matching quote types.
|
|
98
|
+
* Matches: 'use workflow', 'use step', @workflow/serde imports, Symbol.for serialization symbols,
|
|
99
|
+
* and WORKFLOW_SERIALIZE/WORKFLOW_DESERIALIZE computed property usage
|
|
100
|
+
*/
|
|
101
|
+
export const turbopackContentPattern = /(use workflow|use step|from\s+(['"])@workflow\/serde\2|Symbol\.for\s*\(\s*(['"])workflow-(?:serialize|deserialize)\3\s*\)|\[\s*WORKFLOW_(?:SERIALIZE|DESERIALIZE)\s*\])/;
|
|
102
|
+
//# sourceMappingURL=transform-utils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"transform-utils.js","sourceRoot":"","sources":["../src/transform-utils.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,0GAA0G;AAC1G,MAAM,CAAC,MAAM,kBAAkB,GAAG,iCAAiC,CAAC;AACpE,MAAM,CAAC,MAAM,cAAc,GAAG,6BAA6B,CAAC;AAE5D,0EAA0E;AAC1E,8DAA8D;AAC9D,MAAM,CAAC,MAAM,0BAA0B,GAAG,iCAAiC,CAAC;AAE5E,iGAAiG;AACjG,oEAAoE;AACpE,MAAM,CAAC,MAAM,0BAA0B,GACrC,oEAAoE,CAAC;AAEvE,yFAAyF;AACzF,sDAAsD;AACtD,2FAA2F;AAC3F,MAAM,CAAC,MAAM,oCAAoC,GAC/C,8CAA8C,CAAC;AAEjD,2EAA2E;AAC3E,gFAAgF;AAChF,MAAM,CAAC,MAAM,4BAA4B,GACvC,qCAAqC,CAAC;AAExC,uFAAuF;AACvF,mFAAmF;AACnF,WAAW;AACX,6BAA6B;AAC7B,4BAA4B;AAC5B,yEAAyE;AACzE,wEAAwE;AACxE,mCAAmC;AACnC,2EAA2E;AAC3E,MAAM,CAAC,MAAM,sBAAsB,GACjC,mOAAmO,CAAC;AAoBtO;;;;GAIG;AACH,MAAM,UAAU,sBAAsB,CAAC,MAAc;IACnD,MAAM,cAAc,GAAG,kBAAkB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACvD,MAAM,UAAU,GAAG,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAC/C,MAAM,cAAc,GAAG,0BAA0B,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAC/D,MAAM,cAAc,GAAG,0BAA0B,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAC/D,MAAM,wBAAwB,GAC5B,oCAAoC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAEpD,OAAO;QACL,cAAc;QACd,UAAU;QACV,cAAc;QACd,cAAc;QACd,YAAY,EAAE,cAAc,IAAI,UAAU;QAC1C,QAAQ,EAAE,cAAc,IAAI,cAAc,IAAI,wBAAwB;KACvE,CAAC;AACJ,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,uBAAuB,CAAC,QAAgB;IACtD,OAAO,4BAA4B,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;AACrD,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,iBAAiB,CAAC,QAAgB;IAChD,OAAO,sBAAsB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;AAC/C,CAAC;AAED;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,mBAAmB,CACjC,QAAgB,EAChB,QAA8B;IAE9B,iDAAiD;IACjD,IAAI,uBAAuB,CAAC,QAAQ,CAAC,EAAE,CAAC;QACtC,OAAO,KAAK,CAAC;IACf,CAAC;IAED,yCAAyC;IACzC,IAAI,QAAQ,CAAC,YAAY,EAAE,CAAC;QAC1B,OAAO,IAAI,CAAC;IACd,CAAC;IAED,0EAA0E;IAC1E,IAAI,QAAQ,CAAC,QAAQ,EAAE,CAAC;QACtB,OAAO,CAAC,iBAAiB,CAAC,QAAQ,CAAC,CAAC;IACtC,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;;;;GAKG;AACH,MAAM,CAAC,MAAM,uBAAuB,GAClC,yKAAyK,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"transform-utils.test.d.ts","sourceRoot":"","sources":["../src/transform-utils.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,283 @@
|
|
|
1
|
+
import { describe, expect, it } from 'vitest';
|
|
2
|
+
import { detectWorkflowPatterns, isWorkflowSdkFile, useStepPattern, useWorkflowPattern, workflowSerdeComputedPropertyPattern, workflowSerdeImportPattern, workflowSerdeSymbolPattern, } from './transform-utils.js';
|
|
3
|
+
describe('transform-utils patterns', () => {
|
|
4
|
+
describe('useWorkflowPattern', () => {
|
|
5
|
+
it('should match "use workflow" with single quotes', () => {
|
|
6
|
+
expect(useWorkflowPattern.test(`'use workflow';`)).toBe(true);
|
|
7
|
+
expect(useWorkflowPattern.test(`'use workflow'`)).toBe(true);
|
|
8
|
+
});
|
|
9
|
+
it('should match "use workflow" with double quotes', () => {
|
|
10
|
+
expect(useWorkflowPattern.test(`"use workflow";`)).toBe(true);
|
|
11
|
+
expect(useWorkflowPattern.test(`"use workflow"`)).toBe(true);
|
|
12
|
+
});
|
|
13
|
+
it('should match with leading whitespace', () => {
|
|
14
|
+
expect(useWorkflowPattern.test(` 'use workflow';`)).toBe(true);
|
|
15
|
+
expect(useWorkflowPattern.test(`\t"use workflow";`)).toBe(true);
|
|
16
|
+
});
|
|
17
|
+
it('should not match inline usage', () => {
|
|
18
|
+
expect(useWorkflowPattern.test(`const x = 'use workflow';`)).toBe(false);
|
|
19
|
+
});
|
|
20
|
+
});
|
|
21
|
+
describe('useStepPattern', () => {
|
|
22
|
+
it('should match "use step" with single quotes', () => {
|
|
23
|
+
expect(useStepPattern.test(`'use step';`)).toBe(true);
|
|
24
|
+
expect(useStepPattern.test(`'use step'`)).toBe(true);
|
|
25
|
+
});
|
|
26
|
+
it('should match "use step" with double quotes', () => {
|
|
27
|
+
expect(useStepPattern.test(`"use step";`)).toBe(true);
|
|
28
|
+
expect(useStepPattern.test(`"use step"`)).toBe(true);
|
|
29
|
+
});
|
|
30
|
+
});
|
|
31
|
+
describe('workflowSerdeImportPattern', () => {
|
|
32
|
+
it('should match import from @workflow/serde with single quotes', () => {
|
|
33
|
+
const source = `import { WORKFLOW_SERIALIZE } from '@workflow/serde';`;
|
|
34
|
+
expect(workflowSerdeImportPattern.test(source)).toBe(true);
|
|
35
|
+
});
|
|
36
|
+
it('should match import from @workflow/serde with double quotes', () => {
|
|
37
|
+
const source = `import { WORKFLOW_SERIALIZE } from "@workflow/serde";`;
|
|
38
|
+
expect(workflowSerdeImportPattern.test(source)).toBe(true);
|
|
39
|
+
});
|
|
40
|
+
it('should match import with multiple specifiers', () => {
|
|
41
|
+
const source = `import { WORKFLOW_SERIALIZE, WORKFLOW_DESERIALIZE } from '@workflow/serde';`;
|
|
42
|
+
expect(workflowSerdeImportPattern.test(source)).toBe(true);
|
|
43
|
+
});
|
|
44
|
+
it('should match import with type', () => {
|
|
45
|
+
const source = `import type { SerializationSymbol } from '@workflow/serde';`;
|
|
46
|
+
expect(workflowSerdeImportPattern.test(source)).toBe(true);
|
|
47
|
+
});
|
|
48
|
+
it('should not match similar but different packages', () => {
|
|
49
|
+
expect(workflowSerdeImportPattern.test(`import { x } from '@other/serde';`)).toBe(false);
|
|
50
|
+
expect(workflowSerdeImportPattern.test(`import { x } from '@workflow/serde-utils';`)).toBe(false);
|
|
51
|
+
});
|
|
52
|
+
});
|
|
53
|
+
describe('workflowSerdeSymbolPattern', () => {
|
|
54
|
+
it('should match Symbol.for with workflow-serialize', () => {
|
|
55
|
+
const source = `static [Symbol.for('workflow-serialize')](instance) {}`;
|
|
56
|
+
expect(workflowSerdeSymbolPattern.test(source)).toBe(true);
|
|
57
|
+
});
|
|
58
|
+
it('should match Symbol.for with workflow-deserialize', () => {
|
|
59
|
+
const source = `static [Symbol.for('workflow-deserialize')](data) {}`;
|
|
60
|
+
expect(workflowSerdeSymbolPattern.test(source)).toBe(true);
|
|
61
|
+
});
|
|
62
|
+
it('should match with double quotes', () => {
|
|
63
|
+
const source = `static [Symbol.for("workflow-serialize")](instance) {}`;
|
|
64
|
+
expect(workflowSerdeSymbolPattern.test(source)).toBe(true);
|
|
65
|
+
});
|
|
66
|
+
it('should match with whitespace variations', () => {
|
|
67
|
+
expect(workflowSerdeSymbolPattern.test(`Symbol.for( 'workflow-serialize' )`)).toBe(true);
|
|
68
|
+
expect(workflowSerdeSymbolPattern.test(`Symbol.for('workflow-deserialize')`)).toBe(true);
|
|
69
|
+
});
|
|
70
|
+
it('should match in a full class definition', () => {
|
|
71
|
+
const source = `
|
|
72
|
+
export class Point {
|
|
73
|
+
constructor(x, y) {
|
|
74
|
+
this.x = x;
|
|
75
|
+
this.y = y;
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
static [Symbol.for('workflow-serialize')](instance) {
|
|
79
|
+
return { x: instance.x, y: instance.y };
|
|
80
|
+
}
|
|
81
|
+
|
|
82
|
+
static [Symbol.for('workflow-deserialize')](data) {
|
|
83
|
+
return new Point(data.x, data.y);
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
`;
|
|
87
|
+
expect(workflowSerdeSymbolPattern.test(source)).toBe(true);
|
|
88
|
+
});
|
|
89
|
+
it('should not match other Symbol.for usage', () => {
|
|
90
|
+
expect(workflowSerdeSymbolPattern.test(`Symbol.for('other-symbol')`)).toBe(false);
|
|
91
|
+
expect(workflowSerdeSymbolPattern.test(`Symbol.for('workflow-something-else')`)).toBe(false);
|
|
92
|
+
});
|
|
93
|
+
it('should not match non-Symbol.for patterns', () => {
|
|
94
|
+
expect(workflowSerdeSymbolPattern.test(`'workflow-serialize'`)).toBe(false);
|
|
95
|
+
expect(workflowSerdeSymbolPattern.test(`workflow-deserialize`)).toBe(false);
|
|
96
|
+
});
|
|
97
|
+
});
|
|
98
|
+
describe('combined detection', () => {
|
|
99
|
+
it('should detect file using imported symbols', () => {
|
|
100
|
+
const source = `
|
|
101
|
+
import { WORKFLOW_SERIALIZE, WORKFLOW_DESERIALIZE } from '@workflow/serde';
|
|
102
|
+
|
|
103
|
+
export class MyClass {
|
|
104
|
+
static [WORKFLOW_SERIALIZE](instance) {
|
|
105
|
+
return { value: instance.value };
|
|
106
|
+
}
|
|
107
|
+
|
|
108
|
+
static [WORKFLOW_DESERIALIZE](data) {
|
|
109
|
+
return new MyClass(data.value);
|
|
110
|
+
}
|
|
111
|
+
}
|
|
112
|
+
`;
|
|
113
|
+
expect(workflowSerdeImportPattern.test(source)).toBe(true);
|
|
114
|
+
// Note: workflowSerdeSymbolPattern won't match here because the symbols
|
|
115
|
+
// are referenced by identifier, not directly as Symbol.for()
|
|
116
|
+
expect(workflowSerdeSymbolPattern.test(source)).toBe(false);
|
|
117
|
+
});
|
|
118
|
+
it('should detect file using direct Symbol.for', () => {
|
|
119
|
+
const source = `
|
|
120
|
+
export class Point {
|
|
121
|
+
static [Symbol.for('workflow-serialize')](instance) {
|
|
122
|
+
return { x: instance.x };
|
|
123
|
+
}
|
|
124
|
+
|
|
125
|
+
static [Symbol.for('workflow-deserialize')](data) {
|
|
126
|
+
return new Point(data.x);
|
|
127
|
+
}
|
|
128
|
+
}
|
|
129
|
+
`;
|
|
130
|
+
expect(workflowSerdeImportPattern.test(source)).toBe(false);
|
|
131
|
+
expect(workflowSerdeSymbolPattern.test(source)).toBe(true);
|
|
132
|
+
});
|
|
133
|
+
it('should detect file with both patterns', () => {
|
|
134
|
+
// This would be unusual but valid
|
|
135
|
+
const source = `
|
|
136
|
+
import { WORKFLOW_SERIALIZE } from '@workflow/serde';
|
|
137
|
+
|
|
138
|
+
export class Point {
|
|
139
|
+
// Using imported symbol
|
|
140
|
+
static [WORKFLOW_SERIALIZE](instance) {
|
|
141
|
+
return { x: instance.x };
|
|
142
|
+
}
|
|
143
|
+
|
|
144
|
+
// Using direct Symbol.for
|
|
145
|
+
static [Symbol.for('workflow-deserialize')](data) {
|
|
146
|
+
return new Point(data.x);
|
|
147
|
+
}
|
|
148
|
+
}
|
|
149
|
+
`;
|
|
150
|
+
expect(workflowSerdeImportPattern.test(source)).toBe(true);
|
|
151
|
+
expect(workflowSerdeSymbolPattern.test(source)).toBe(true);
|
|
152
|
+
});
|
|
153
|
+
});
|
|
154
|
+
describe('workflowSerdeComputedPropertyPattern', () => {
|
|
155
|
+
it('should match [WORKFLOW_SERIALIZE] computed property', () => {
|
|
156
|
+
const source = `static [WORKFLOW_SERIALIZE](instance) {}`;
|
|
157
|
+
expect(workflowSerdeComputedPropertyPattern.test(source)).toBe(true);
|
|
158
|
+
});
|
|
159
|
+
it('should match [WORKFLOW_DESERIALIZE] computed property', () => {
|
|
160
|
+
const source = `static [WORKFLOW_DESERIALIZE](data) {}`;
|
|
161
|
+
expect(workflowSerdeComputedPropertyPattern.test(source)).toBe(true);
|
|
162
|
+
});
|
|
163
|
+
it('should match with whitespace inside brackets', () => {
|
|
164
|
+
expect(workflowSerdeComputedPropertyPattern.test(`[ WORKFLOW_SERIALIZE ]`)).toBe(true);
|
|
165
|
+
expect(workflowSerdeComputedPropertyPattern.test(`[ WORKFLOW_DESERIALIZE ]`)).toBe(true);
|
|
166
|
+
});
|
|
167
|
+
it('should match in bundled code where symbols are imported from chunks', () => {
|
|
168
|
+
// This is the pattern seen in bundled packages like just-bash
|
|
169
|
+
const source = `
|
|
170
|
+
import {
|
|
171
|
+
WORKFLOW_DESERIALIZE,
|
|
172
|
+
WORKFLOW_SERIALIZE
|
|
173
|
+
} from "./chunks/chunk-453323QY.js";
|
|
174
|
+
|
|
175
|
+
var Bash = class _Bash {
|
|
176
|
+
static [WORKFLOW_SERIALIZE](instance) {
|
|
177
|
+
return { fs: instance.fs };
|
|
178
|
+
}
|
|
179
|
+
static [WORKFLOW_DESERIALIZE](serialized) {
|
|
180
|
+
return Object.create(_Bash.prototype, {
|
|
181
|
+
fs: { value: serialized.fs }
|
|
182
|
+
});
|
|
183
|
+
}
|
|
184
|
+
};
|
|
185
|
+
`;
|
|
186
|
+
expect(workflowSerdeComputedPropertyPattern.test(source)).toBe(true);
|
|
187
|
+
// Note: import pattern won't match because it's from a chunk, not @workflow/serde
|
|
188
|
+
expect(workflowSerdeImportPattern.test(source)).toBe(false);
|
|
189
|
+
});
|
|
190
|
+
it('should not match partial names', () => {
|
|
191
|
+
expect(workflowSerdeComputedPropertyPattern.test(`[WORKFLOW_SERIALIZE_EXTRA]`)).toBe(false);
|
|
192
|
+
expect(workflowSerdeComputedPropertyPattern.test(`[MY_WORKFLOW_SERIALIZE]`)).toBe(false);
|
|
193
|
+
});
|
|
194
|
+
it('should not match string literals', () => {
|
|
195
|
+
expect(workflowSerdeComputedPropertyPattern.test(`['WORKFLOW_SERIALIZE']`)).toBe(false);
|
|
196
|
+
expect(workflowSerdeComputedPropertyPattern.test(`["WORKFLOW_DESERIALIZE"]`)).toBe(false);
|
|
197
|
+
});
|
|
198
|
+
});
|
|
199
|
+
describe('detectWorkflowPatterns', () => {
|
|
200
|
+
it('should detect hasSerde for @workflow/serde import', () => {
|
|
201
|
+
const source = `import { WORKFLOW_SERIALIZE } from '@workflow/serde';`;
|
|
202
|
+
const result = detectWorkflowPatterns(source);
|
|
203
|
+
expect(result.hasSerde).toBe(true);
|
|
204
|
+
expect(result.hasSerdeImport).toBe(true);
|
|
205
|
+
});
|
|
206
|
+
it('should detect hasSerde for Symbol.for pattern', () => {
|
|
207
|
+
const source = `static [Symbol.for('workflow-serialize')](instance) {}`;
|
|
208
|
+
const result = detectWorkflowPatterns(source);
|
|
209
|
+
expect(result.hasSerde).toBe(true);
|
|
210
|
+
expect(result.hasSerdeSymbol).toBe(true);
|
|
211
|
+
});
|
|
212
|
+
it('should detect hasSerde for computed property pattern', () => {
|
|
213
|
+
const source = `static [WORKFLOW_SERIALIZE](instance) {}`;
|
|
214
|
+
const result = detectWorkflowPatterns(source);
|
|
215
|
+
expect(result.hasSerde).toBe(true);
|
|
216
|
+
});
|
|
217
|
+
it('should detect hasSerde for bundled third-party packages', () => {
|
|
218
|
+
// Simulates bundled output from packages like just-bash
|
|
219
|
+
const source = `
|
|
220
|
+
import {
|
|
221
|
+
WORKFLOW_DESERIALIZE,
|
|
222
|
+
WORKFLOW_SERIALIZE
|
|
223
|
+
} from "./chunks/chunk-ABC123.js";
|
|
224
|
+
|
|
225
|
+
var MyClass = class {
|
|
226
|
+
static [WORKFLOW_SERIALIZE](instance) {
|
|
227
|
+
return { data: instance.data };
|
|
228
|
+
}
|
|
229
|
+
static [WORKFLOW_DESERIALIZE](serialized) {
|
|
230
|
+
return new MyClass(serialized.data);
|
|
231
|
+
}
|
|
232
|
+
};
|
|
233
|
+
`;
|
|
234
|
+
const result = detectWorkflowPatterns(source);
|
|
235
|
+
expect(result.hasSerde).toBe(true);
|
|
236
|
+
});
|
|
237
|
+
it('should not detect hasSerde for unrelated code', () => {
|
|
238
|
+
const source = `
|
|
239
|
+
export class RegularClass {
|
|
240
|
+
constructor(value) {
|
|
241
|
+
this.value = value;
|
|
242
|
+
}
|
|
243
|
+
}
|
|
244
|
+
`;
|
|
245
|
+
const result = detectWorkflowPatterns(source);
|
|
246
|
+
expect(result.hasSerde).toBe(false);
|
|
247
|
+
});
|
|
248
|
+
it('should detect both directive and serde patterns', () => {
|
|
249
|
+
const source = `
|
|
250
|
+
'use step';
|
|
251
|
+
import { WORKFLOW_SERIALIZE } from '@workflow/serde';
|
|
252
|
+
|
|
253
|
+
export class Point {
|
|
254
|
+
static [WORKFLOW_SERIALIZE](instance) {
|
|
255
|
+
return { x: instance.x };
|
|
256
|
+
}
|
|
257
|
+
}
|
|
258
|
+
`;
|
|
259
|
+
const result = detectWorkflowPatterns(source);
|
|
260
|
+
expect(result.hasDirective).toBe(true);
|
|
261
|
+
expect(result.hasUseStep).toBe(true);
|
|
262
|
+
expect(result.hasSerde).toBe(true);
|
|
263
|
+
});
|
|
264
|
+
});
|
|
265
|
+
describe('isWorkflowSdkFile', () => {
|
|
266
|
+
it('matches direct @workflow package path in node_modules', () => {
|
|
267
|
+
expect(isWorkflowSdkFile('/tmp/app/node_modules/@workflow/core/dist/serialization.js')).toBe(true);
|
|
268
|
+
});
|
|
269
|
+
it('matches direct workflow package path in node_modules', () => {
|
|
270
|
+
expect(isWorkflowSdkFile('/tmp/app/node_modules/workflow/dist/runtime.js')).toBe(true);
|
|
271
|
+
});
|
|
272
|
+
it('matches pnpm virtual store @workflow package path', () => {
|
|
273
|
+
expect(isWorkflowSdkFile('/tmp/app/node_modules/.pnpm/@workflow+core@4.1.0/node_modules/@workflow/core/dist/serialization.js')).toBe(true);
|
|
274
|
+
});
|
|
275
|
+
it('matches pnpm virtual store workflow package path', () => {
|
|
276
|
+
expect(isWorkflowSdkFile('/tmp/app/node_modules/.pnpm/workflow@4.1.0/node_modules/workflow/dist/runtime.js')).toBe(true);
|
|
277
|
+
});
|
|
278
|
+
it('does not match non-workflow package in pnpm store', () => {
|
|
279
|
+
expect(isWorkflowSdkFile('/tmp/app/node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/lodash.js')).toBe(false);
|
|
280
|
+
});
|
|
281
|
+
});
|
|
282
|
+
});
|
|
283
|
+
//# sourceMappingURL=transform-utils.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"transform-utils.test.js","sourceRoot":"","sources":["../src/transform-utils.test.ts"],"names":[],"mappings":"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"}
|
package/dist/types.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export declare const validBuildTargets: readonly ["standalone", "vercel-build-output-api", "next", "sveltekit"];
|
|
1
|
+
export declare const validBuildTargets: readonly ["standalone", "vercel-build-output-api", "next", "nest", "sveltekit", "astro"];
|
|
2
2
|
export type BuildTarget = (typeof validBuildTargets)[number];
|
|
3
3
|
/**
|
|
4
4
|
* Common configuration options shared across all builder types.
|
|
@@ -10,6 +10,12 @@ interface BaseWorkflowConfig {
|
|
|
10
10
|
clientBundlePath?: string;
|
|
11
11
|
externalPackages?: string[];
|
|
12
12
|
workflowManifestPath?: string;
|
|
13
|
+
debugFilePrefix?: string;
|
|
14
|
+
suppressCreateWorkflowsBundleLogs?: boolean;
|
|
15
|
+
suppressCreateWorkflowsBundleWarnings?: boolean;
|
|
16
|
+
suppressCreateWebhookBundleLogs?: boolean;
|
|
17
|
+
suppressCreateManifestLogs?: boolean;
|
|
18
|
+
runtime?: string;
|
|
13
19
|
}
|
|
14
20
|
/**
|
|
15
21
|
* Configuration for standalone (CLI-based) builds.
|
|
@@ -47,10 +53,28 @@ export interface SvelteKitConfig extends BaseWorkflowConfig {
|
|
|
47
53
|
workflowsBundlePath: string;
|
|
48
54
|
webhookBundlePath: string;
|
|
49
55
|
}
|
|
56
|
+
/**
|
|
57
|
+
* Configuration for Astro builds.
|
|
58
|
+
*/
|
|
59
|
+
export interface AstroConfig extends BaseWorkflowConfig {
|
|
60
|
+
buildTarget: 'astro';
|
|
61
|
+
stepsBundlePath: string;
|
|
62
|
+
workflowsBundlePath: string;
|
|
63
|
+
webhookBundlePath: string;
|
|
64
|
+
}
|
|
65
|
+
/**
|
|
66
|
+
* Configuration for NestJS builds.
|
|
67
|
+
*/
|
|
68
|
+
export interface NestConfig extends BaseWorkflowConfig {
|
|
69
|
+
buildTarget: 'nest';
|
|
70
|
+
stepsBundlePath: string;
|
|
71
|
+
workflowsBundlePath: string;
|
|
72
|
+
webhookBundlePath: string;
|
|
73
|
+
}
|
|
50
74
|
/**
|
|
51
75
|
* Discriminated union of all builder configuration types.
|
|
52
76
|
*/
|
|
53
|
-
export type WorkflowConfig = StandaloneConfig | VercelBuildOutputConfig | NextConfig | SvelteKitConfig;
|
|
77
|
+
export type WorkflowConfig = StandaloneConfig | VercelBuildOutputConfig | NextConfig | NestConfig | SvelteKitConfig | AstroConfig;
|
|
54
78
|
export declare function isValidBuildTarget(target: string | undefined): target is BuildTarget;
|
|
55
79
|
export {};
|
|
56
80
|
//# sourceMappingURL=types.d.ts.map
|
package/dist/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,iBAAiB,
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,iBAAiB,0FAOpB,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;IAG9B,eAAe,CAAC,EAAE,MAAM,CAAC;IAIzB,iCAAiC,CAAC,EAAE,OAAO,CAAC;IAG5C,qCAAqC,CAAC,EAAE,OAAO,CAAC;IAGhD,+BAA+B,CAAC,EAAE,OAAO,CAAC;IAG1C,0BAA0B,CAAC,EAAE,OAAO,CAAC;IAGrC,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;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,WAAW,WAAY,SAAQ,kBAAkB;IACrD,WAAW,EAAE,OAAO,CAAC;IAErB,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,MAAM,cAAc,GACtB,gBAAgB,GAChB,uBAAuB,GACvB,UAAU,GACV,UAAU,GACV,eAAe,GACf,WAAW,CAAC;AAEhB,wBAAgB,kBAAkB,CAChC,MAAM,EAAE,MAAM,GAAG,SAAS,GACzB,MAAM,IAAI,WAAW,CAEvB"}
|
package/dist/types.js
CHANGED
package/dist/types.js.map
CHANGED
|
@@ -1 +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;
|
|
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,MAAM;IACN,WAAW;IACX,OAAO;CACC,CAAC;AAmHX,MAAM,UAAU,kBAAkB,CAChC,MAA0B;IAE1B,OAAO,CAAC,CAAC,MAAM,IAAI,iBAAiB,CAAC,QAAQ,CAAC,MAAqB,CAAC,CAAC;AACvE,CAAC"}
|
|
@@ -1 +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;
|
|
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;YAoDd,kBAAkB;YA+BlB,sBAAsB;YA6BtB,oBAAoB;YAwBpB,uBAAuB;CA0BtC"}
|