@workflow/builders 4.0.10 → 4.1.1
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 +7 -2
- package/dist/apply-swc-transform.d.ts.map +1 -1
- package/dist/apply-swc-transform.js +10 -4
- package/dist/base-builder-logging.test.d.ts +2 -0
- package/dist/base-builder-logging.test.d.ts.map +1 -0
- package/dist/base-builder-logging.test.js +99 -0
- package/dist/base-builder.d.ts +37 -14
- package/dist/base-builder.d.ts.map +1 -1
- package/dist/base-builder.js +299 -55
- package/dist/config-helpers.d.ts +2 -0
- package/dist/config-helpers.d.ts.map +1 -1
- package/dist/config-helpers.js +62 -1
- package/dist/config-helpers.test.d.ts +2 -0
- package/dist/config-helpers.test.d.ts.map +1 -0
- package/dist/config-helpers.test.js +17 -0
- package/dist/constants.d.ts +60 -4
- package/dist/constants.d.ts.map +1 -1
- package/dist/constants.js +84 -19
- package/dist/constants.test.d.ts +2 -0
- package/dist/constants.test.d.ts.map +1 -0
- package/dist/constants.test.js +33 -0
- package/dist/fast-discovery.d.ts +14 -0
- package/dist/fast-discovery.d.ts.map +1 -0
- package/dist/fast-discovery.js +663 -0
- package/dist/fast-discovery.test.d.ts +2 -0
- package/dist/fast-discovery.test.d.ts.map +1 -0
- package/dist/fast-discovery.test.js +338 -0
- package/dist/get-input-files.test.js +34 -2
- package/dist/index.d.ts +3 -3
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3 -3
- package/dist/module-specifier.d.ts +13 -0
- package/dist/module-specifier.d.ts.map +1 -1
- package/dist/module-specifier.js +20 -1
- package/dist/request-converter.d.ts +1 -1
- package/dist/request-converter.d.ts.map +1 -1
- package/dist/request-converter.js +1 -1
- package/dist/standalone.d.ts.map +1 -1
- package/dist/standalone.js +4 -4
- package/dist/step-source-registration.test.d.ts +2 -0
- package/dist/step-source-registration.test.d.ts.map +1 -0
- package/dist/step-source-registration.test.js +82 -0
- package/dist/swc-esbuild-plugin.d.ts +1 -0
- package/dist/swc-esbuild-plugin.d.ts.map +1 -1
- package/dist/swc-esbuild-plugin.js +5 -3
- package/dist/swc-esbuild-plugin.test.js +25 -3
- package/dist/transform-utils.d.ts.map +1 -1
- package/dist/transform-utils.js +45 -6
- package/dist/transform-utils.test.js +92 -1
- package/dist/types.d.ts +8 -2
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js +1 -1
- package/dist/vercel-build-output-api.d.ts.map +1 -1
- package/dist/vercel-build-output-api.js +8 -8
- package/dist/workflows-extractor.js +8 -3
- package/dist/workflows-extractor.test.d.ts +2 -0
- package/dist/workflows-extractor.test.d.ts.map +1 -0
- package/dist/workflows-extractor.test.js +70 -0
- package/package.json +4 -4
package/dist/config-helpers.d.ts
CHANGED
|
@@ -41,4 +41,6 @@ export declare function createBaseBuilderConfig(options: {
|
|
|
41
41
|
externalPackages?: string[];
|
|
42
42
|
runtime?: string;
|
|
43
43
|
}): Omit<WorkflowConfig, 'buildTarget'>;
|
|
44
|
+
export declare function resolveConfiguredProjectRoot(workingDir: string, configuredRoot: string): string;
|
|
45
|
+
export declare function resolveProjectRoot(workingDir: string): string;
|
|
44
46
|
//# sourceMappingURL=config-helpers.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config-helpers.d.ts","sourceRoot":"","sources":["../src/config-helpers.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"config-helpers.d.ts","sourceRoot":"","sources":["../src/config-helpers.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAEjD,MAAM,WAAW,gBAAgB;IAC/B,UAAU,EAAE,OAAO,CAAC;IACpB,eAAe,EAAE,OAAO,CAAC;IACzB,iBAAiB,EAAE,OAAO,CAAC;CAC5B;AAED,MAAM,WAAW,8BAA8B;IAC7C,OAAO,EAAE,gBAAgB,CAAC;IAC1B,UAAU,EAAE,MAAM,GAAG,SAAS,CAAC;CAChC;AAED;;;;;;GAMG;AACH,wBAAsB,+BAA+B,CACnD,YAAY,EAAE,MAAM,GAAG,SAAS,GAC/B,OAAO,CAAC,gBAAgB,CAAC,CAgC3B;AAED;;;;;;GAMG;AACH,wBAAsB,+BAA+B,CACnD,GAAG,EAAE,MAAM,GACV,OAAO,CAAC,gBAAgB,CAAC,CAG3B;AAED;;;GAGG;AACH,wBAAsB,6CAA6C,CACjE,GAAG,EAAE,MAAM,GACV,OAAO,CAAC,8BAA8B,CAAC,CAMzC;AAED;;;GAGG;AACH,wBAAgB,uBAAuB,CAAC,OAAO,EAAE;IAC/C,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,gBAAgB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC5B,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB,GAAG,IAAI,CAAC,cAAc,EAAE,aAAa,CAAC,CAYtC;AA6CD,wBAAgB,4BAA4B,CAC1C,UAAU,EAAE,MAAM,EAClB,cAAc,EAAE,MAAM,GACrB,MAAM,CAIR;AAED,wBAAgB,kBAAkB,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,CAmB7D"}
|
package/dist/config-helpers.js
CHANGED
|
@@ -1,4 +1,6 @@
|
|
|
1
|
+
import { statSync } from 'node:fs';
|
|
1
2
|
import { readFile } from 'node:fs/promises';
|
|
3
|
+
import { dirname, isAbsolute, join, resolve } from 'node:path';
|
|
2
4
|
import { findUp } from 'find-up';
|
|
3
5
|
import JSON5 from 'json5';
|
|
4
6
|
/**
|
|
@@ -74,4 +76,63 @@ export function createBaseBuilderConfig(options) {
|
|
|
74
76
|
runtime: options.runtime,
|
|
75
77
|
};
|
|
76
78
|
}
|
|
77
|
-
|
|
79
|
+
const WORKSPACE_ROOT_FILES = ['pnpm-workspace.yaml'];
|
|
80
|
+
const PROJECT_ROOT_FILES = [
|
|
81
|
+
'pnpm-lock.yaml',
|
|
82
|
+
'package-lock.json',
|
|
83
|
+
'yarn.lock',
|
|
84
|
+
'bun.lock',
|
|
85
|
+
'bun.lockb',
|
|
86
|
+
];
|
|
87
|
+
function fileExists(path) {
|
|
88
|
+
try {
|
|
89
|
+
return statSync(path).isFile();
|
|
90
|
+
}
|
|
91
|
+
catch {
|
|
92
|
+
return false;
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
function findRootFile(names, workingDir) {
|
|
96
|
+
let current = resolve(workingDir);
|
|
97
|
+
while (true) {
|
|
98
|
+
for (const name of names) {
|
|
99
|
+
const file = join(current, name);
|
|
100
|
+
if (fileExists(file)) {
|
|
101
|
+
return file;
|
|
102
|
+
}
|
|
103
|
+
}
|
|
104
|
+
const parent = dirname(current);
|
|
105
|
+
if (parent === current) {
|
|
106
|
+
return undefined;
|
|
107
|
+
}
|
|
108
|
+
current = parent;
|
|
109
|
+
}
|
|
110
|
+
}
|
|
111
|
+
function findProjectRootFile(workingDir) {
|
|
112
|
+
return (findRootFile(WORKSPACE_ROOT_FILES, workingDir) ??
|
|
113
|
+
findRootFile(PROJECT_ROOT_FILES, workingDir));
|
|
114
|
+
}
|
|
115
|
+
export function resolveConfiguredProjectRoot(workingDir, configuredRoot) {
|
|
116
|
+
return isAbsolute(configuredRoot)
|
|
117
|
+
? configuredRoot
|
|
118
|
+
: resolve(workingDir, configuredRoot);
|
|
119
|
+
}
|
|
120
|
+
export function resolveProjectRoot(workingDir) {
|
|
121
|
+
let rootFile = findProjectRootFile(workingDir);
|
|
122
|
+
if (!rootFile) {
|
|
123
|
+
return resolve(workingDir);
|
|
124
|
+
}
|
|
125
|
+
while (true) {
|
|
126
|
+
const currentDir = dirname(rootFile);
|
|
127
|
+
const parentDir = dirname(currentDir);
|
|
128
|
+
if (parentDir === currentDir) {
|
|
129
|
+
return currentDir;
|
|
130
|
+
}
|
|
131
|
+
const parentRootFile = findProjectRootFile(parentDir);
|
|
132
|
+
if (!parentRootFile) {
|
|
133
|
+
return currentDir;
|
|
134
|
+
}
|
|
135
|
+
rootFile = parentRootFile;
|
|
136
|
+
}
|
|
137
|
+
}
|
|
138
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlnLWhlbHBlcnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvY29uZmlnLWhlbHBlcnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLFNBQVMsQ0FBQztBQUNuQyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDNUMsT0FBTyxFQUFFLE9BQU8sRUFBRSxVQUFVLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUMvRCxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sU0FBUyxDQUFDO0FBQ2pDLE9BQU8sS0FBSyxNQUFNLE9BQU8sQ0FBQztBQWMxQjs7Ozs7O0dBTUc7QUFDSCxNQUFNLENBQUMsS0FBSyxVQUFVLCtCQUErQixDQUNuRCxZQUFnQztJQUVoQyxNQUFNLGNBQWMsR0FBcUI7UUFDdkMsVUFBVSxFQUFFLEtBQUs7UUFDakIsZUFBZSxFQUFFLEtBQUs7UUFDdEIsaUJBQWlCLEVBQUUsS0FBSztLQUN6QixDQUFDO0lBRUYsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO1FBQ2xCLE9BQU8sY0FBYyxDQUFDO0lBQ3hCLENBQUM7SUFFRCxJQUFJLENBQUM7UUFDSCxNQUFNLE9BQU8sR0FBRyxNQUFNLFFBQVEsQ0FBQyxZQUFZLEVBQUUsT0FBTyxDQUFDLENBQUM7UUFDdEQsTUFBTSxRQUFRLEdBQ1osS0FBSyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUN2QixNQUFNLGVBQWUsR0FBRyxRQUFRLENBQUMsZUFBZSxJQUFJLEVBQUUsQ0FBQztRQUV2RCxxRkFBcUY7UUFDckYsTUFBTSxzQkFBc0IsR0FDMUIsZUFBZSxDQUFDLHNCQUFzQixLQUFLLElBQUksQ0FBQztRQUNsRCxNQUFNLHFCQUFxQixHQUN6QixlQUFlLENBQUMscUJBQXFCLEtBQUssSUFBSSxDQUFDO1FBRWpELE9BQU87WUFDTCxVQUFVLEVBQUUsc0JB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LENBQUM7QUFDSixDQUFDO0FBRUQsTUFBTSxVQUFVLDRCQUE0QixDQUMxQyxVQUFrQixFQUNsQixjQUFzQjtJQUV0QixPQUFPLFVBQVUsQ0FBQyxjQUFjLENBQUM7UUFDL0IsQ0FBQyxDQUFDLGNBQWM7UUFDaEIsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxVQUFVLEVBQUUsY0FBYyxDQUFDLENBQUM7QUFDMUMsQ0FBQztBQUVELE1BQU0sVUFBVSxrQkFBa0IsQ0FBQyxVQUFrQjtJQUNuRCxJQUFJLFFBQVEsR0FBRyxtQkFBbUIsQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUMvQyxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDZCxPQUFPLE9BQU8sQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUM3QixDQUFDO0lBRUQsT0FBTyxJQUFJLEVBQUUsQ0FBQztRQUNaLE1BQU0sVUFBVSxHQUFHLE9BQU8sQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUNyQyxNQUFNLFNBQVMsR0FBRyxPQUFPLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDdEMsSUFBSSxTQUFTLEtBQUssVUFBVSxFQUFFLENBQUM7WUFDN0IsT0FBTyxVQUFVLENBQUM7UUFDcEIsQ0FBQztRQUVELE1BQU0sY0FBYyxHQUFHLG1CQUFtQixDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQ3RELElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQztZQUNwQixPQUFPLFVBQVUsQ0FBQztRQUNwQixDQUFDO1FBQ0QsUUFBUSxHQUFHLGNBQWMsQ0FBQztJQUM1QixDQUFDO0FBQ0gsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHN0YXRTeW5jIH0gZnJvbSAnbm9kZTpmcyc7XG5pbXBvcnQgeyByZWFkRmlsZSB9IGZyb20gJ25vZGU6ZnMvcHJvbWlzZXMnO1xuaW1wb3J0IHsgZGlybmFtZSwgaXNBYnNvbHV0ZSwgam9pbiwgcmVzb2x2ZSB9IGZyb20gJ25vZGU6cGF0aCc7XG5pbXBvcnQgeyBmaW5kVXAgfSBmcm9tICdmaW5kLXVwJztcbmltcG9ydCBKU09ONSBmcm9tICdqc29uNSc7XG5pbXBvcnQgdHlwZSB7IFdvcmtmbG93Q29uZmlnIH0gZnJvbSAnLi90eXBlcy5qcyc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgRGVjb3JhdG9yT3B0aW9ucyB7XG4gIGRlY29yYXRvcnM6IGJvb2xlYW47XG4gIGxlZ2FjeURlY29yYXRvcjogYm9vbGVhbjtcbiAgZGVjb3JhdG9yTWV0YWRhdGE6IGJvb2xlYW47XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRGVjb3JhdG9yT3B0aW9uc1dpdGhDb25maWdQYXRoIHtcbiAgb3B0aW9uczogRGVjb3JhdG9yT3B0aW9ucztcbiAgY29uZmlnUGF0aDogc3RyaW5nIHwgdW5kZWZpbmVkO1xufVxuXG4vKipcbiAqIFJlYWRzIHRzY29uZmlnLmpzb24gYW5kIGV4dHJhY3RzIGRlY29yYXRvci1yZWxhdGVkIGNvbXBpbGVyIG9wdGlvbnMuXG4gKiBSZXR1cm5zIGRlY29yYXRvciBvcHRpb25zIGJhc2VkIG9uIGV4cGVyaW1lbnRhbERlY29yYXRvcnMgYW5kIGVtaXREZWNvcmF0b3JNZXRhZGF0YSBzZXR0aW5ncy5cbiAqXG4gKiBAcGFyYW0gdHNjb25maWdQYXRoIC0gUGF0aCB0byB0c2NvbmZpZy5qc29uIG9yIGpzY29uZmlnLmpzb25cbiAqIEByZXR1cm5zIERlY29yYXRvck9wdGlvbnMgd2l0aCBzZXR0aW5ncyBiYXNlZCBvbiB0c2NvbmZpZyBjb21waWxlck9wdGlvbnNcbiAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGdldERlY29yYXRvck9wdGlvbnNGcm9tVHNDb25maWcoXG4gIHRzY29uZmlnUGF0aDogc3RyaW5nIHwgdW5kZWZpbmVkXG4pOiBQcm9taXNlPERlY29yYXRvck9wdGlvbnM+IHtcbiAgY29uc3QgZGVmYXVsdE9wdGlvbnM6IERlY29yYXRvck9wdGlvbnMgPSB7XG4gICAgZGVjb3JhdG9yczogZmFsc2UsXG4gICAgbGVnYWN5RGVjb3JhdG9yOiBmYWxzZSxcbiAgICBkZWNvcmF0b3JNZXRhZGF0YTogZmFsc2UsXG4gIH07XG5cbiAgaWYgKCF0c2NvbmZpZ1BhdGgpIHtcbiAgICByZXR1cm4gZGVmYXVsdE9wdGlvbnM7XG4gIH1cblxuICB0cnkge1xuICAgIGNvbnN0IGNvbnRlbnQgPSBhd2FpdCByZWFkRmlsZSh0c2NvbmZpZ1BhdGgsICd1dGYtOCcpO1xuICAgIGNvbnN0IHRzY29uZmlnOiB7IGNvbXBpbGVyT3B0aW9ucz86IFJlY29yZDxzdHJpbmcsIHVua25vd24+IH0gPVxuICAgICAgSlNPTjUucGFyc2UoY29udGVudCk7XG4gICAgY29uc3QgY29tcGlsZXJPcHRpb25zID0gdHNjb25maWcuY29tcGlsZXJPcHRpb25zIHx8IHt9O1xuXG4gICAgLy8gTWF0Y2ggTmV4dC5qcyBiZWhhdmlvcjogZW5hYmxlIGRlY29yYXRvcnMgb25seSB3aGVuIGV4cGVyaW1lbnRhbERlY29yYXRvcnMgaXMgdHJ1ZVxuICAgIGNvbnN0IGV4cGVyaW1lbnRhbERlY29yYXRvcnMgPVxuICAgICAgY29tcGlsZXJPcHRpb25zLmV4cGVyaW1lbnRhbERlY29yYXRvcnMgPT09IHRydWU7XG4gICAgY29uc3QgZW1pdERlY29yYXRvck1ldGFkYXRhID1cbiAgICAgIGNvbXBpbGVyT3B0aW9ucy5lbWl0RGVjb3JhdG9yTWV0YWRhdGEgPT09IHRydWU7XG5cbiAgICByZXR1cm4ge1xuICAgICAgZGVjb3JhdG9yczogZXhwZXJpbWVudGFsRGVjb3JhdG9ycyxcbiAgICAgIGxlZ2FjeURlY29yYXRvcjogZXhwZXJpbWVudGFsRGVjb3JhdG9ycyxcbiAgICAgIGRlY29yYXRvck1ldGFkYXRhOiBleHBlcmltZW50YWxEZWNvcmF0b3JzICYmIGVtaXREZWNvcmF0b3JNZXRhZGF0YSxcbiAgICB9O1xuICB9IGNhdGNoIHtcbiAgICAvLyBJZiB3ZSBjYW4ndCByZWFkIG9yIHBhcnNlIHRoZSB0c2NvbmZpZywgcmV0dXJuIGRlZmF1bHRzXG4gICAgcmV0dXJuIGRlZmF1bHRPcHRpb25zO1xuICB9XG59XG5cbi8qKlxuICogRmluZHMgdHNjb25maWcuanNvbiBpbiB0aGUgZ2l2ZW4gZGlyZWN0b3J5IChvciBhbmNlc3RvcnMpIGFuZCBleHRyYWN0cyBkZWNvcmF0b3Igb3B0aW9ucy5cbiAqIENvbWJpbmVzIHRzY29uZmlnIGRpc2NvdmVyeSB3aXRoIGRlY29yYXRvciBvcHRpb24gZXh0cmFjdGlvbiBmb3IgY29udmVuaWVuY2UuXG4gKlxuICogQHBhcmFtIGN3ZCAtIERpcmVjdG9yeSB0byBzdGFydCBzZWFyY2hpbmcgZm9yIHRzY29uZmlnLmpzb25cbiAqIEByZXR1cm5zIERlY29yYXRvck9wdGlvbnMgd2l0aCBzZXR0aW5ncyBiYXNlZCBvbiB0c2NvbmZpZyBjb21waWxlck9wdGlvbnNcbiAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGdldERlY29yYXRvck9wdGlvbnNGb3JEaXJlY3RvcnkoXG4gIGN3ZDogc3RyaW5nXG4pOiBQcm9taXNlPERlY29yYXRvck9wdGlvbnM+IHtcbiAgY29uc3QgeyBvcHRpb25zIH0gPSBhd2FpdCBnZXREZWNvcmF0b3JPcHRpb25zRm9yRGlyZWN0b3J5V2l0aENvbmZpZ1BhdGgoY3dkKTtcbiAgcmV0dXJuIG9wdGlvbnM7XG59XG5cbi8qKlxuICogRmluZHMgdHNjb25maWcuanNvbi9qc2NvbmZpZy5qc29uIGluIHRoZSBnaXZlbiBkaXJlY3RvcnkgdHJlZSBhbmQgcmV0dXJuc1xuICogYm90aCBkZWNvcmF0b3Igb3B0aW9ucyBhbmQgdGhlIGNvbmZpZyBwYXRoIHVzZWQgdG8gZGVyaXZlIHRoZW0uXG4gKi9cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBnZXREZWNvcmF0b3JPcHRpb25zRm9yRGlyZWN0b3J5V2l0aENvbmZpZ1BhdGgoXG4gIGN3ZDogc3RyaW5nXG4pOiBQcm9taXNlPERlY29yYXRvck9wdGlvbnNXaXRoQ29uZmlnUGF0aD4ge1xuICBjb25zdCBjb25maWdQYXRoID0gYXdhaXQgZmluZFVwKFsndHNjb25maWcuanNvbicsICdqc2NvbmZpZy5qc29uJ10sIHtcbiAgICBjd2QsXG4gIH0pO1xuICBjb25zdCBvcHRpb25zID0gYXdhaXQgZ2V0RGVjb3JhdG9yT3B0aW9uc0Zyb21Uc0NvbmZpZyhjb25maWdQYXRoKTtcbiAgcmV0dXJuIHsgb3B0aW9ucywgY29uZmlnUGF0aCB9O1xufVxuXG4vKipcbiAqIENyZWF0ZXMgYSBwYXJ0aWFsIGNvbmZpZ3VyYXRpb24gZm9yIGJ1aWxkZXJzIHRoYXQgZG9uJ3QgdXNlIGJ1bmRsZSBwYXRocyBkaXJlY3RseS5cbiAqIFVzZWQgYnkgZnJhbWV3b3JrIGludGVncmF0aW9ucyBsaWtlIE5pdHJvIHdoZXJlIHRoZSBidWlsZGVyIGNvbXB1dGVzIHBhdGhzIGludGVybmFsbHkuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBjcmVhdGVCYXNlQnVpbGRlckNvbmZpZyhvcHRpb25zOiB7XG4gIHdvcmtpbmdEaXI6IHN0cmluZztcbiAgcHJvamVjdFJvb3Q/OiBzdHJpbmc7XG4gIGRpcnM/OiBzdHJpbmdbXTtcbiAgd2F0Y2g/OiBib29sZWFuO1xuICBleHRlcm5hbFBhY2thZ2VzPzogc3RyaW5nW107XG4gIHJ1bnRpbWU/OiBzdHJpbmc7XG59KTogT21pdDxXb3JrZmxvd0NvbmZpZywgJ2J1aWxkVGFyZ2V0Jz4ge1xuICByZXR1cm4ge1xuICAgIGRpcnM6IG9wdGlvbnMuZGlycyA/PyBbJ3dvcmtmbG93cyddLFxuICAgIHByb2plY3RSb290OiBvcHRpb25zLnByb2plY3RSb290LFxuICAgIHdvcmtpbmdEaXI6IG9wdGlvbnMud29ya2luZ0RpcixcbiAgICB3YXRjaDogb3B0aW9ucy53YXRjaCxcbiAgICBzdGVwc0J1bmRsZVBhdGg6ICcnLCAvLyBOb3QgdXNlZCBieSBiYXNlIGJ1aWxkZXIgbWV0aG9kc1xuICAgIHdvcmtmbG93c0J1bmRsZVBhdGg6ICcnLCAvLyBOb3QgdXNlZCBieSBiYXNlIGJ1aWxkZXIgbWV0aG9kc1xuICAgIHdlYmhvb2tCdW5kbGVQYXRoOiAnJywgLy8gTm90IHVzZWQgYnkgYmFzZSBidWlsZGVyIG1ldGhvZHNcbiAgICBleHRlcm5hbFBhY2thZ2VzOiBvcHRpb25zLmV4dGVybmFsUGFja2FnZXMsXG4gICAgcnVudGltZTogb3B0aW9ucy5ydW50aW1lLFxuICB9O1xufVxuXG5jb25zdCBXT1JLU1BBQ0VfUk9PVF9GSUxFUyA9IFsncG5wbS13b3Jrc3BhY2UueWFtbCddO1xuY29uc3QgUFJPSkVDVF9ST09UX0ZJTEVTID0gW1xuICAncG5wbS1sb2NrLnlhbWwnLFxuICAncGFja2FnZS1sb2NrLmpzb24nLFxuICAneWFybi5sb2NrJyxcbiAgJ2J1bi5sb2NrJyxcbiAgJ2J1bi5sb2NrYicsXG5dO1xuXG5mdW5jdGlvbiBmaWxlRXhpc3RzKHBhdGg6IHN0cmluZyk6IGJvb2xlYW4ge1xuICB0cnkge1xuICAgIHJldHVybiBzdGF0U3luYyhwYXRoKS5pc0ZpbGUoKTtcbiAgfSBjYXRjaCB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG59XG5cbmZ1bmN0aW9uIGZpbmRSb290RmlsZShuYW1lczogc3RyaW5nW10sIHdvcmtpbmdEaXI6IHN0cmluZyk6IHN0cmluZyB8IHVuZGVmaW5lZCB7XG4gIGxldCBjdXJyZW50ID0gcmVzb2x2ZSh3b3JraW5nRGlyKTtcblxuICB3aGlsZSAodHJ1ZSkge1xuICAgIGZvciAoY29uc3QgbmFtZSBvZiBuYW1lcykge1xuICAgICAgY29uc3QgZmlsZSA9IGpvaW4oY3VycmVudCwgbmFtZSk7XG4gICAgICBpZiAoZmlsZUV4aXN0cyhmaWxlKSkge1xuICAgICAgICByZXR1cm4gZmlsZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBjb25zdCBwYXJlbnQgPSBkaXJuYW1lKGN1cnJlbnQpO1xuICAgIGlmIChwYXJlbnQgPT09IGN1cnJlbnQpIHtcbiAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gICAgfVxuICAgIGN1cnJlbnQgPSBwYXJlbnQ7XG4gIH1cbn1cblxuZnVuY3Rpb24gZmluZFByb2plY3RSb290RmlsZSh3b3JraW5nRGlyOiBzdHJpbmcpOiBzdHJpbmcgfCB1bmRlZmluZWQge1xuICByZXR1cm4gKFxuICAgIGZpbmRSb290RmlsZShXT1JLU1BBQ0VfUk9PVF9GSUxFUywgd29ya2luZ0RpcikgPz9cbiAgICBmaW5kUm9vdEZpbGUoUFJPSkVDVF9ST09UX0ZJTEVTLCB3b3JraW5nRGlyKVxuICApO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gcmVzb2x2ZUNvbmZpZ3VyZWRQcm9qZWN0Um9vdChcbiAgd29ya2luZ0Rpcjogc3RyaW5nLFxuICBjb25maWd1cmVkUm9vdDogc3RyaW5nXG4pOiBzdHJpbmcge1xuICByZXR1cm4gaXNBYnNvbHV0ZShjb25maWd1cmVkUm9vdClcbiAgICA/IGNvbmZpZ3VyZWRSb290XG4gICAgOiByZXNvbHZlKHdvcmtpbmdEaXIsIGNvbmZpZ3VyZWRSb290KTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHJlc29sdmVQcm9qZWN0Um9vdCh3b3JraW5nRGlyOiBzdHJpbmcpOiBzdHJpbmcge1xuICBsZXQgcm9vdEZpbGUgPSBmaW5kUHJvamVjdFJvb3RGaWxlKHdvcmtpbmdEaXIpO1xuICBpZiAoIXJvb3RGaWxlKSB7XG4gICAgcmV0dXJuIHJlc29sdmUod29ya2luZ0Rpcik7XG4gIH1cblxuICB3aGlsZSAodHJ1ZSkge1xuICAgIGNvbnN0IGN1cnJlbnREaXIgPSBkaXJuYW1lKHJvb3RGaWxlKTtcbiAgICBjb25zdCBwYXJlbnREaXIgPSBkaXJuYW1lKGN1cnJlbnREaXIpO1xuICAgIGlmIChwYXJlbnREaXIgPT09IGN1cnJlbnREaXIpIHtcbiAgICAgIHJldHVybiBjdXJyZW50RGlyO1xuICAgIH1cblxuICAgIGNvbnN0IHBhcmVudFJvb3RGaWxlID0gZmluZFByb2plY3RSb290RmlsZShwYXJlbnREaXIpO1xuICAgIGlmICghcGFyZW50Um9vdEZpbGUpIHtcbiAgICAgIHJldHVybiBjdXJyZW50RGlyO1xuICAgIH1cbiAgICByb290RmlsZSA9IHBhcmVudFJvb3RGaWxlO1xuICB9XG59XG4iXX0=
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"config-helpers.test.d.ts","sourceRoot":"","sources":["../src/config-helpers.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { mkdirSync, mkdtempSync, rmSync, writeFileSync } from 'node:fs';
|
|
2
|
+
import { tmpdir } from 'node:os';
|
|
3
|
+
import { join } from 'node:path';
|
|
4
|
+
import { describe, expect, it, onTestFinished } from 'vitest';
|
|
5
|
+
import { resolveProjectRoot } from './config-helpers.js';
|
|
6
|
+
describe('resolveProjectRoot', () => {
|
|
7
|
+
it('prefers the workspace root over app lockfiles', () => {
|
|
8
|
+
const repoRoot = mkdtempSync(join(tmpdir(), 'workflow-project-root-'));
|
|
9
|
+
onTestFinished(() => rmSync(repoRoot, { recursive: true, force: true }));
|
|
10
|
+
const appRoot = join(repoRoot, 'apps/web');
|
|
11
|
+
mkdirSync(appRoot, { recursive: true });
|
|
12
|
+
writeFileSync(join(repoRoot, 'pnpm-workspace.yaml'), 'packages: []\n');
|
|
13
|
+
writeFileSync(join(appRoot, 'package-lock.json'), '{}\n');
|
|
14
|
+
expect(resolveProjectRoot(appRoot)).toBe(repoRoot);
|
|
15
|
+
});
|
|
16
|
+
});
|
|
17
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlnLWhlbHBlcnMudGVzdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9jb25maWctaGVscGVycy50ZXN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsV0FBVyxFQUFFLE1BQU0sRUFBRSxhQUFhLEVBQUUsTUFBTSxTQUFTLENBQUM7QUFDeEUsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLFNBQVMsQ0FBQztBQUNqQyxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBQ2pDLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxFQUFFLEVBQUUsRUFBRSxjQUFjLEVBQUUsTUFBTSxRQUFRLENBQUM7QUFDOUQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFFekQsUUFBUSxDQUFDLG9CQUFvQixFQUFFLEdBQUcsRUFBRTtJQUNsQyxFQUFFLENBQUMsK0NBQStDLEVBQUUsR0FBRyxFQUFFO1FBQ3ZELE1BQU0sUUFBUSxHQUFHLFdBQVcsQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLEVBQUUsd0JBQXdCLENBQUMsQ0FBQyxDQUFDO1FBQ3ZFLGNBQWMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxNQUFNLENBQUMsUUFBUSxFQUFFLEVBQUUsU0FBUyxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDO1FBRXpFLE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxRQUFRLEVBQUUsVUFBVSxDQUFDLENBQUM7UUFDM0MsU0FBUyxDQUFDLE9BQU8sRUFBRSxFQUFFLFNBQVMsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO1FBQ3hDLGFBQWEsQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLHFCQUFxQixDQUFDLEVBQUUsZ0JBQWdCLENBQUMsQ0FBQztRQUN2RSxhQUFhLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxtQkFBbUIsQ0FBQyxFQUFFLE1BQU0sQ0FBQyxDQUFDO1FBRTFELE1BQU0sQ0FBQyxrQkFBa0IsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUNyRCxDQUFDLENBQUMsQ0FBQztBQUNMLENBQUMsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgbWtkaXJTeW5jLCBta2R0ZW1wU3luYywgcm1TeW5jLCB3cml0ZUZpbGVTeW5jIH0gZnJvbSAnbm9kZTpmcyc7XG5pbXBvcnQgeyB0bXBkaXIgfSBmcm9tICdub2RlOm9zJztcbmltcG9ydCB7IGpvaW4gfSBmcm9tICdub2RlOnBhdGgnO1xuaW1wb3J0IHsgZGVzY3JpYmUsIGV4cGVjdCwgaXQsIG9uVGVzdEZpbmlzaGVkIH0gZnJvbSAndml0ZXN0JztcbmltcG9ydCB7IHJlc29sdmVQcm9qZWN0Um9vdCB9IGZyb20gJy4vY29uZmlnLWhlbHBlcnMuanMnO1xuXG5kZXNjcmliZSgncmVzb2x2ZVByb2plY3RSb290JywgKCkgPT4ge1xuICBpdCgncHJlZmVycyB0aGUgd29ya3NwYWNlIHJvb3Qgb3ZlciBhcHAgbG9ja2ZpbGVzJywgKCkgPT4ge1xuICAgIGNvbnN0IHJlcG9Sb290ID0gbWtkdGVtcFN5bmMoam9pbih0bXBkaXIoKSwgJ3dvcmtmbG93LXByb2plY3Qtcm9vdC0nKSk7XG4gICAgb25UZXN0RmluaXNoZWQoKCkgPT4gcm1TeW5jKHJlcG9Sb290LCB7IHJlY3Vyc2l2ZTogdHJ1ZSwgZm9yY2U6IHRydWUgfSkpO1xuXG4gICAgY29uc3QgYXBwUm9vdCA9IGpvaW4ocmVwb1Jvb3QsICdhcHBzL3dlYicpO1xuICAgIG1rZGlyU3luYyhhcHBSb290LCB7IHJlY3Vyc2l2ZTogdHJ1ZSB9KTtcbiAgICB3cml0ZUZpbGVTeW5jKGpvaW4ocmVwb1Jvb3QsICdwbnBtLXdvcmtzcGFjZS55YW1sJyksICdwYWNrYWdlczogW11cXG4nKTtcbiAgICB3cml0ZUZpbGVTeW5jKGpvaW4oYXBwUm9vdCwgJ3BhY2thZ2UtbG9jay5qc29uJyksICd7fVxcbicpO1xuXG4gICAgZXhwZWN0KHJlc29sdmVQcm9qZWN0Um9vdChhcHBSb290KSkudG9CZShyZXBvUm9vdCk7XG4gIH0pO1xufSk7XG4iXX0=
|
package/dist/constants.d.ts
CHANGED
|
@@ -1,6 +1,30 @@
|
|
|
1
1
|
/**
|
|
2
|
-
*
|
|
3
|
-
* Steps are queued to the
|
|
2
|
+
* Creates a queue trigger configuration for workflow step execution.
|
|
3
|
+
* Steps are queued to the step topic.
|
|
4
|
+
*
|
|
5
|
+
* When `namespace` is provided, the trigger topic is scoped to avoid
|
|
6
|
+
* collisions with other frameworks or direct Workflow SDK usage in the
|
|
7
|
+
* same deployment.
|
|
8
|
+
*
|
|
9
|
+
* @example
|
|
10
|
+
* // default: topic = '__wkf_step_*'
|
|
11
|
+
* createStepQueueTrigger()
|
|
12
|
+
*
|
|
13
|
+
* @example
|
|
14
|
+
* // namespaced: topic = '__custom_wkf_step_*'
|
|
15
|
+
* createStepQueueTrigger({ namespace: 'custom' })
|
|
16
|
+
*/
|
|
17
|
+
export declare function createStepQueueTrigger(options?: {
|
|
18
|
+
namespace?: string;
|
|
19
|
+
}): {
|
|
20
|
+
type: "queue/v2beta";
|
|
21
|
+
topic: string;
|
|
22
|
+
consumer: string;
|
|
23
|
+
retryAfterSeconds: number;
|
|
24
|
+
initialDelaySeconds: number;
|
|
25
|
+
};
|
|
26
|
+
/**
|
|
27
|
+
* Default step queue trigger (no namespace). Backward compatible.
|
|
4
28
|
*/
|
|
5
29
|
export declare const STEP_QUEUE_TRIGGER: {
|
|
6
30
|
type: "queue/v2beta";
|
|
@@ -10,8 +34,40 @@ export declare const STEP_QUEUE_TRIGGER: {
|
|
|
10
34
|
initialDelaySeconds: number;
|
|
11
35
|
};
|
|
12
36
|
/**
|
|
13
|
-
*
|
|
14
|
-
* Workflows are queued to the
|
|
37
|
+
* Creates a queue trigger configuration for workflow orchestration.
|
|
38
|
+
* Workflows are queued to the workflow topic.
|
|
39
|
+
*
|
|
40
|
+
* When `namespace` is provided, the trigger topic is scoped to avoid
|
|
41
|
+
* collisions with other frameworks or direct Workflow SDK usage in the
|
|
42
|
+
* same deployment.
|
|
43
|
+
*
|
|
44
|
+
* @example
|
|
45
|
+
* // default: topic = '__wkf_workflow_*'
|
|
46
|
+
* createWorkflowQueueTrigger()
|
|
47
|
+
*
|
|
48
|
+
* @example
|
|
49
|
+
* // namespaced: topic = '__custom_wkf_workflow_*'
|
|
50
|
+
* createWorkflowQueueTrigger({ namespace: 'custom' })
|
|
51
|
+
*/
|
|
52
|
+
export declare function createWorkflowQueueTrigger(options?: {
|
|
53
|
+
namespace?: string;
|
|
54
|
+
}): {
|
|
55
|
+
type: "queue/v2beta";
|
|
56
|
+
topic: string;
|
|
57
|
+
consumer: string;
|
|
58
|
+
retryAfterSeconds: number;
|
|
59
|
+
initialDelaySeconds: number;
|
|
60
|
+
};
|
|
61
|
+
/**
|
|
62
|
+
* Creates the optional second argument for generated `workflowEntrypoint()`
|
|
63
|
+
* calls. The namespace is resolved while building so generated route files do
|
|
64
|
+
* not need `WORKFLOW_QUEUE_NAMESPACE` at runtime.
|
|
65
|
+
*/
|
|
66
|
+
export declare function createWorkflowEntrypointOptionsCode(options?: {
|
|
67
|
+
namespace?: string;
|
|
68
|
+
}): string;
|
|
69
|
+
/**
|
|
70
|
+
* Default queue trigger (no namespace). Backward compatible.
|
|
15
71
|
*/
|
|
16
72
|
export declare const WORKFLOW_QUEUE_TRIGGER: {
|
|
17
73
|
type: "queue/v2beta";
|
package/dist/constants.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"AAoBA;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,sBAAsB,CAAC,OAAO,CAAC,EAAE;IAAE,SAAS,CAAC,EAAE,MAAM,CAAA;CAAE;;;;;;EAUtE;AAED;;GAEG;AACH,eAAO,MAAM,kBAAkB;;;;;;CAA2B,CAAC;AAE3D;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,0BAA0B,CAAC,OAAO,CAAC,EAAE;IAAE,SAAS,CAAC,EAAE,MAAM,CAAA;CAAE;;;;;;EAU1E;AAED;;;;GAIG;AACH,wBAAgB,mCAAmC,CAAC,OAAO,CAAC,EAAE;IAC5D,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,UAWA;AAED;;GAEG;AACH,eAAO,MAAM,sBAAsB;;;;;;CAA+B,CAAC"}
|
package/dist/constants.js
CHANGED
|
@@ -1,23 +1,88 @@
|
|
|
1
|
+
const QUEUE_NAMESPACE_PATTERN = /^[a-z][a-z0-9]*$/;
|
|
2
|
+
function resolveQueueNamespace(namespace) {
|
|
3
|
+
return namespace ?? process.env.WORKFLOW_QUEUE_NAMESPACE ?? undefined;
|
|
4
|
+
}
|
|
5
|
+
function getQueueTopicPrefix(kind, namespace) {
|
|
6
|
+
if (namespace !== undefined) {
|
|
7
|
+
if (!QUEUE_NAMESPACE_PATTERN.test(namespace)) {
|
|
8
|
+
throw new Error(`Invalid queue namespace "${namespace}": must be lowercase alphanumeric, starting with a letter`);
|
|
9
|
+
}
|
|
10
|
+
return `__${namespace}_wkf_${kind}_`;
|
|
11
|
+
}
|
|
12
|
+
return `__wkf_${kind}_`;
|
|
13
|
+
}
|
|
1
14
|
/**
|
|
2
|
-
*
|
|
3
|
-
* Steps are queued to the
|
|
15
|
+
* Creates a queue trigger configuration for workflow step execution.
|
|
16
|
+
* Steps are queued to the step topic.
|
|
17
|
+
*
|
|
18
|
+
* When `namespace` is provided, the trigger topic is scoped to avoid
|
|
19
|
+
* collisions with other frameworks or direct Workflow SDK usage in the
|
|
20
|
+
* same deployment.
|
|
21
|
+
*
|
|
22
|
+
* @example
|
|
23
|
+
* // default: topic = '__wkf_step_*'
|
|
24
|
+
* createStepQueueTrigger()
|
|
25
|
+
*
|
|
26
|
+
* @example
|
|
27
|
+
* // namespaced: topic = '__custom_wkf_step_*'
|
|
28
|
+
* createStepQueueTrigger({ namespace: 'custom' })
|
|
4
29
|
*/
|
|
5
|
-
export
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
30
|
+
export function createStepQueueTrigger(options) {
|
|
31
|
+
const namespace = resolveQueueNamespace(options?.namespace);
|
|
32
|
+
return {
|
|
33
|
+
type: 'queue/v2beta',
|
|
34
|
+
topic: `${getQueueTopicPrefix('step', namespace)}*`,
|
|
35
|
+
consumer: 'default',
|
|
36
|
+
retryAfterSeconds: 5, // Delay between retries (default: 60)
|
|
37
|
+
initialDelaySeconds: 0, // Initial delay before first delivery (default: 0)
|
|
38
|
+
};
|
|
39
|
+
}
|
|
12
40
|
/**
|
|
13
|
-
*
|
|
14
|
-
* Workflows are queued to the __wkf_workflow_* topic.
|
|
41
|
+
* Default step queue trigger (no namespace). Backward compatible.
|
|
15
42
|
*/
|
|
16
|
-
export const
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
43
|
+
export const STEP_QUEUE_TRIGGER = createStepQueueTrigger();
|
|
44
|
+
/**
|
|
45
|
+
* Creates a queue trigger configuration for workflow orchestration.
|
|
46
|
+
* Workflows are queued to the workflow topic.
|
|
47
|
+
*
|
|
48
|
+
* When `namespace` is provided, the trigger topic is scoped to avoid
|
|
49
|
+
* collisions with other frameworks or direct Workflow SDK usage in the
|
|
50
|
+
* same deployment.
|
|
51
|
+
*
|
|
52
|
+
* @example
|
|
53
|
+
* // default: topic = '__wkf_workflow_*'
|
|
54
|
+
* createWorkflowQueueTrigger()
|
|
55
|
+
*
|
|
56
|
+
* @example
|
|
57
|
+
* // namespaced: topic = '__custom_wkf_workflow_*'
|
|
58
|
+
* createWorkflowQueueTrigger({ namespace: 'custom' })
|
|
59
|
+
*/
|
|
60
|
+
export function createWorkflowQueueTrigger(options) {
|
|
61
|
+
const namespace = resolveQueueNamespace(options?.namespace);
|
|
62
|
+
return {
|
|
63
|
+
type: 'queue/v2beta',
|
|
64
|
+
topic: `${getQueueTopicPrefix('workflow', namespace)}*`,
|
|
65
|
+
consumer: 'default',
|
|
66
|
+
retryAfterSeconds: 5, // Delay between retries (default: 60)
|
|
67
|
+
initialDelaySeconds: 0, // Initial delay before first delivery (default: 0)
|
|
68
|
+
};
|
|
69
|
+
}
|
|
70
|
+
/**
|
|
71
|
+
* Creates the optional second argument for generated `workflowEntrypoint()`
|
|
72
|
+
* calls. The namespace is resolved while building so generated route files do
|
|
73
|
+
* not need `WORKFLOW_QUEUE_NAMESPACE` at runtime.
|
|
74
|
+
*/
|
|
75
|
+
export function createWorkflowEntrypointOptionsCode(options) {
|
|
76
|
+
const namespace = resolveQueueNamespace(options?.namespace);
|
|
77
|
+
if (!namespace) {
|
|
78
|
+
return '';
|
|
79
|
+
}
|
|
80
|
+
// Reuse prefix construction for namespace validation.
|
|
81
|
+
getQueueTopicPrefix('workflow', namespace);
|
|
82
|
+
return `, { namespace: ${JSON.stringify(namespace)} }`;
|
|
83
|
+
}
|
|
84
|
+
/**
|
|
85
|
+
* Default queue trigger (no namespace). Backward compatible.
|
|
86
|
+
*/
|
|
87
|
+
export const WORKFLOW_QUEUE_TRIGGER = createWorkflowQueueTrigger();
|
|
88
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uc3RhbnRzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL2NvbnN0YW50cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLHVCQUF1QixHQUFHLGtCQUFrQixDQUFDO0FBRW5ELFNBQVMscUJBQXFCLENBQUMsU0FBa0I7SUFDL0MsT0FBTyxTQUFTLElBQUksT0FBTyxDQUFDLEdBQUcsQ0FBQyx3QkFBd0IsSUFBSSxTQUFTLENBQUM7QUFDeEUsQ0FBQztBQUVELFNBQVMsbUJBQW1CLENBQUMsSUFBeUIsRUFBRSxTQUFrQjtJQUN4RSxJQUFJLFNBQVMsS0FBSyxTQUFTLEVBQUUsQ0FBQztRQUM1QixJQUFJLENBQUMsdUJBQXVCLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUM7WUFDN0MsTUFBTSxJQUFJLEtBQUssQ0FDYiw0QkFBNEIsU0FBUywyREFBMkQsQ0FDakcsQ0FBQztRQUNKLENBQUM7UUFFRCxPQUFPLEtBQUssU0FBUyxRQUFRLElBQUksR0FBRyxDQUFDO0lBQ3ZDLENBQUM7SUFFRCxPQUFPLFNBQVMsSUFBSSxHQUFHLENBQUM7QUFDMUIsQ0FBQztBQUVEOzs7Ozs7Ozs7Ozs7Ozs7R0FlRztBQUNILE1BQU0sVUFBVSxzQkFBc0IsQ0FBQyxPQUFnQztJQUNyRSxNQUFNLFNBQVMsR0FBRyxxQkFBcUIsQ0FBQyxPQUFPLEVBQUUsU0FBUyxDQUFDLENBQUM7SUFFNUQsT0FBTztRQUNMLElBQUksRUFBRSxjQUF1QjtRQUM3QixLQUFLLEVBQUUsR0FBRyxtQkFBbUIsQ0FBQyxNQUFNLEVBQUUsU0FBUyxDQUFDLEdBQUc7UUFDbkQsUUFBUSxFQUFFLFNBQVM7UUFDbkIsaUJBQWlCLEVBQUUsQ0FBQyxFQUFFLHNDQUFzQztRQUM1RCxtQkFBbUIsRUFBRSxDQUFDLEVBQUUsbURBQW1EO0tBQzVFLENBQUM7QUFDSixDQUFDO0FBRUQ7O0dBRUc7QUFDSCxNQUFNLENBQUMsTUFBTSxrQkFBa0IsR0FBRyxzQkFBc0IsRUFBRSxDQUFDO0FBRTNEOzs7Ozs7Ozs7Ozs7Ozs7R0FlRztBQUNILE1BQU0sVUFBVSwwQkFBMEIsQ0FBQyxPQUFnQztJQUN6RSxNQUFNLFNBQVMsR0FBRyxxQkFBcUIsQ0FBQyxPQUFPLEVBQUUsU0FBUyxDQUFDLENBQUM7SUFFNUQsT0FBTztRQUNMLElBQUksRUFBRSxjQUF1QjtRQUM3QixLQUFLLEVBQUUsR0FBRyxtQkFBbUIsQ0FBQyxVQUFVLEVBQUUsU0FBUyxDQUFDLEdBQUc7UUFDdkQsUUFBUSxFQUFFLFNBQVM7UUFDbkIsaUJBQWlCLEVBQUUsQ0FBQyxFQUFFLHNDQUFzQztRQUM1RCxtQkFBbUIsRUFBRSxDQUFDLEVBQUUsbURBQW1EO0tBQzVFLENBQUM7QUFDSixDQUFDO0FBRUQ7Ozs7R0FJRztBQUNILE1BQU0sVUFBVSxtQ0FBbUMsQ0FBQyxPQUVuRDtJQUNDLE1BQU0sU0FBUyxHQUFHLHFCQUFxQixDQUFDLE9BQU8sRUFBRSxTQUFTLENBQUMsQ0FBQztJQUU1RCxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7UUFDZixPQUFPLEVBQUUsQ0FBQztJQUNaLENBQUM7SUFFRCxzREFBc0Q7SUFDdEQsbUJBQW1CLENBQUMsVUFBVSxFQUFFLFNBQVMsQ0FBQyxDQUFDO0lBRTNDLE9BQU8sa0JBQWtCLElBQUksQ0FBQyxTQUFTLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQztBQUN6RCxDQUFDO0FBRUQ7O0dBRUc7QUFDSCxNQUFNLENBQUMsTUFBTSxzQkFBc0IsR0FBRywwQkFBMEIsRUFBRSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiY29uc3QgUVVFVUVfTkFNRVNQQUNFX1BBVFRFUk4gPSAvXlthLXpdW2EtejAtOV0qJC87XG5cbmZ1bmN0aW9uIHJlc29sdmVRdWV1ZU5hbWVzcGFjZShuYW1lc3BhY2U/OiBzdHJpbmcpOiBzdHJpbmcgfCB1bmRlZmluZWQge1xuICByZXR1cm4gbmFtZXNwYWNlID8/IHByb2Nlc3MuZW52LldPUktGTE9XX1FVRVVFX05BTUVTUEFDRSA/PyB1bmRlZmluZWQ7XG59XG5cbmZ1bmN0aW9uIGdldFF1ZXVlVG9waWNQcmVmaXgoa2luZDogJ3dvcmtmbG93JyB8ICdzdGVwJywgbmFtZXNwYWNlPzogc3RyaW5nKSB7XG4gIGlmIChuYW1lc3BhY2UgIT09IHVuZGVmaW5lZCkge1xuICAgIGlmICghUVVFVUVfTkFNRVNQQUNFX1BBVFRFUk4udGVzdChuYW1lc3BhY2UpKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgIGBJbnZhbGlkIHF1ZXVlIG5hbWVzcGFjZSBcIiR7bmFtZXNwYWNlfVwiOiBtdXN0IGJlIGxvd2VyY2FzZSBhbHBoYW51bWVyaWMsIHN0YXJ0aW5nIHdpdGggYSBsZXR0ZXJgXG4gICAgICApO1xuICAgIH1cblxuICAgIHJldHVybiBgX18ke25hbWVzcGFjZX1fd2tmXyR7a2luZH1fYDtcbiAgfVxuXG4gIHJldHVybiBgX193a2ZfJHtraW5kfV9gO1xufVxuXG4vKipcbiAqIENyZWF0ZXMgYSBxdWV1ZSB0cmlnZ2VyIGNvbmZpZ3VyYXRpb24gZm9yIHdvcmtmbG93IHN0ZXAgZXhlY3V0aW9uLlxuICogU3RlcHMgYXJlIHF1ZXVlZCB0byB0aGUgc3RlcCB0b3BpYy5cbiAqXG4gKiBXaGVuIGBuYW1lc3BhY2VgIGlzIHByb3ZpZGVkLCB0aGUgdHJpZ2dlciB0b3BpYyBpcyBzY29wZWQgdG8gYXZvaWRcbiAqIGNvbGxpc2lvbnMgd2l0aCBvdGhlciBmcmFtZXdvcmtzIG9yIGRpcmVjdCBXb3JrZmxvdyBTREsgdXNhZ2UgaW4gdGhlXG4gKiBzYW1lIGRlcGxveW1lbnQuXG4gKlxuICogQGV4YW1wbGVcbiAqIC8vIGRlZmF1bHQ6IHRvcGljID0gJ19fd2tmX3N0ZXBfKidcbiAqIGNyZWF0ZVN0ZXBRdWV1ZVRyaWdnZXIoKVxuICpcbiAqIEBleGFtcGxlXG4gKiAvLyBuYW1lc3BhY2VkOiB0b3BpYyA9ICdfX2N1c3RvbV93a2Zfc3RlcF8qJ1xuICogY3JlYXRlU3RlcFF1ZXVlVHJpZ2dlcih7IG5hbWVzcGFjZTogJ2N1c3RvbScgfSlcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZVN0ZXBRdWV1ZVRyaWdnZXIob3B0aW9ucz86IHsgbmFtZXNwYWNlPzogc3RyaW5nIH0pIHtcbiAgY29uc3QgbmFtZXNwYWNlID0gcmVzb2x2ZVF1ZXVlTmFtZXNwYWNlKG9wdGlvbnM/Lm5hbWVzcGFjZSk7XG5cbiAgcmV0dXJuIHtcbiAgICB0eXBlOiAncXVldWUvdjJiZXRhJyBhcyBjb25zdCxcbiAgICB0b3BpYzogYCR7Z2V0UXVldWVUb3BpY1ByZWZpeCgnc3RlcCcsIG5hbWVzcGFjZSl9KmAsXG4gICAgY29uc3VtZXI6ICdkZWZhdWx0JyxcbiAgICByZXRyeUFmdGVyU2Vjb25kczogNSwgLy8gRGVsYXkgYmV0d2VlbiByZXRyaWVzIChkZWZhdWx0OiA2MClcbiAgICBpbml0aWFsRGVsYXlTZWNvbmRzOiAwLCAvLyBJbml0aWFsIGRlbGF5IGJlZm9yZSBmaXJzdCBkZWxpdmVyeSAoZGVmYXVsdDogMClcbiAgfTtcbn1cblxuLyoqXG4gKiBEZWZhdWx0IHN0ZXAgcXVldWUgdHJpZ2dlciAobm8gbmFtZXNwYWNlKS4gQmFja3dhcmQgY29tcGF0aWJsZS5cbiAqL1xuZXhwb3J0IGNvbnN0IFNURVBfUVVFVUVfVFJJR0dFUiA9IGNyZWF0ZVN0ZXBRdWV1ZVRyaWdnZXIoKTtcblxuLyoqXG4gKiBDcmVhdGVzIGEgcXVldWUgdHJpZ2dlciBjb25maWd1cmF0aW9uIGZvciB3b3JrZmxvdyBvcmNoZXN0cmF0aW9uLlxuICogV29ya2Zsb3dzIGFyZSBxdWV1ZWQgdG8gdGhlIHdvcmtmbG93IHRvcGljLlxuICpcbiAqIFdoZW4gYG5hbWVzcGFjZWAgaXMgcHJvdmlkZWQsIHRoZSB0cmlnZ2VyIHRvcGljIGlzIHNjb3BlZCB0byBhdm9pZFxuICogY29sbGlzaW9ucyB3aXRoIG90aGVyIGZyYW1ld29ya3Mgb3IgZGlyZWN0IFdvcmtmbG93IFNESyB1c2FnZSBpbiB0aGVcbiAqIHNhbWUgZGVwbG95bWVudC5cbiAqXG4gKiBAZXhhbXBsZVxuICogLy8gZGVmYXVsdDogdG9waWMgPSAnX193a2Zfd29ya2Zsb3dfKidcbiAqIGNyZWF0ZVdvcmtmbG93UXVldWVUcmlnZ2VyKClcbiAqXG4gKiBAZXhhbXBsZVxuICogLy8gbmFtZXNwYWNlZDogdG9waWMgPSAnX19jdXN0b21fd2tmX3dvcmtmbG93XyonXG4gKiBjcmVhdGVXb3JrZmxvd1F1ZXVlVHJpZ2dlcih7IG5hbWVzcGFjZTogJ2N1c3RvbScgfSlcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZVdvcmtmbG93UXVldWVUcmlnZ2VyKG9wdGlvbnM/OiB7IG5hbWVzcGFjZT86IHN0cmluZyB9KSB7XG4gIGNvbnN0IG5hbWVzcGFjZSA9IHJlc29sdmVRdWV1ZU5hbWVzcGFjZShvcHRpb25zPy5uYW1lc3BhY2UpO1xuXG4gIHJldHVybiB7XG4gICAgdHlwZTogJ3F1ZXVlL3YyYmV0YScgYXMgY29uc3QsXG4gICAgdG9waWM6IGAke2dldFF1ZXVlVG9waWNQcmVmaXgoJ3dvcmtmbG93JywgbmFtZXNwYWNlKX0qYCxcbiAgICBjb25zdW1lcjogJ2RlZmF1bHQnLFxuICAgIHJldHJ5QWZ0ZXJTZWNvbmRzOiA1LCAvLyBEZWxheSBiZXR3ZWVuIHJldHJpZXMgKGRlZmF1bHQ6IDYwKVxuICAgIGluaXRpYWxEZWxheVNlY29uZHM6IDAsIC8vIEluaXRpYWwgZGVsYXkgYmVmb3JlIGZpcnN0IGRlbGl2ZXJ5IChkZWZhdWx0OiAwKVxuICB9O1xufVxuXG4vKipcbiAqIENyZWF0ZXMgdGhlIG9wdGlvbmFsIHNlY29uZCBhcmd1bWVudCBmb3IgZ2VuZXJhdGVkIGB3b3JrZmxvd0VudHJ5cG9pbnQoKWBcbiAqIGNhbGxzLiBUaGUgbmFtZXNwYWNlIGlzIHJlc29sdmVkIHdoaWxlIGJ1aWxkaW5nIHNvIGdlbmVyYXRlZCByb3V0ZSBmaWxlcyBkb1xuICogbm90IG5lZWQgYFdPUktGTE9XX1FVRVVFX05BTUVTUEFDRWAgYXQgcnVudGltZS5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZVdvcmtmbG93RW50cnlwb2ludE9wdGlvbnNDb2RlKG9wdGlvbnM/OiB7XG4gIG5hbWVzcGFjZT86IHN0cmluZztcbn0pIHtcbiAgY29uc3QgbmFtZXNwYWNlID0gcmVzb2x2ZVF1ZXVlTmFtZXNwYWNlKG9wdGlvbnM/Lm5hbWVzcGFjZSk7XG5cbiAgaWYgKCFuYW1lc3BhY2UpIHtcbiAgICByZXR1cm4gJyc7XG4gIH1cblxuICAvLyBSZXVzZSBwcmVmaXggY29uc3RydWN0aW9uIGZvciBuYW1lc3BhY2UgdmFsaWRhdGlvbi5cbiAgZ2V0UXVldWVUb3BpY1ByZWZpeCgnd29ya2Zsb3cnLCBuYW1lc3BhY2UpO1xuXG4gIHJldHVybiBgLCB7IG5hbWVzcGFjZTogJHtKU09OLnN0cmluZ2lmeShuYW1lc3BhY2UpfSB9YDtcbn1cblxuLyoqXG4gKiBEZWZhdWx0IHF1ZXVlIHRyaWdnZXIgKG5vIG5hbWVzcGFjZSkuIEJhY2t3YXJkIGNvbXBhdGlibGUuXG4gKi9cbmV4cG9ydCBjb25zdCBXT1JLRkxPV19RVUVVRV9UUklHR0VSID0gY3JlYXRlV29ya2Zsb3dRdWV1ZVRyaWdnZXIoKTtcbiJdfQ==
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"constants.test.d.ts","sourceRoot":"","sources":["../src/constants.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { afterEach, describe, expect, it } from 'vitest';
|
|
2
|
+
import { createWorkflowEntrypointOptionsCode, createWorkflowQueueTrigger, } from './constants.js';
|
|
3
|
+
describe('createWorkflowQueueTrigger', () => {
|
|
4
|
+
afterEach(() => {
|
|
5
|
+
delete process.env.WORKFLOW_QUEUE_NAMESPACE;
|
|
6
|
+
});
|
|
7
|
+
it('uses the default workflow topic without a namespace', () => {
|
|
8
|
+
expect(createWorkflowQueueTrigger().topic).toBe('__wkf_workflow_*');
|
|
9
|
+
});
|
|
10
|
+
it('uses an explicit namespace when provided', () => {
|
|
11
|
+
expect(createWorkflowQueueTrigger({ namespace: 'custom' }).topic).toBe('__custom_wkf_workflow_*');
|
|
12
|
+
});
|
|
13
|
+
it('uses WORKFLOW_QUEUE_NAMESPACE when no explicit namespace is provided', () => {
|
|
14
|
+
process.env.WORKFLOW_QUEUE_NAMESPACE = 'custom';
|
|
15
|
+
expect(createWorkflowQueueTrigger().topic).toBe('__custom_wkf_workflow_*');
|
|
16
|
+
});
|
|
17
|
+
});
|
|
18
|
+
describe('createWorkflowEntrypointOptionsCode', () => {
|
|
19
|
+
afterEach(() => {
|
|
20
|
+
delete process.env.WORKFLOW_QUEUE_NAMESPACE;
|
|
21
|
+
});
|
|
22
|
+
it('omits runtime options without a namespace', () => {
|
|
23
|
+
expect(createWorkflowEntrypointOptionsCode()).toBe('');
|
|
24
|
+
});
|
|
25
|
+
it('inlines an explicit namespace', () => {
|
|
26
|
+
expect(createWorkflowEntrypointOptionsCode({ namespace: 'custom' })).toBe(', { namespace: "custom" }');
|
|
27
|
+
});
|
|
28
|
+
it('inlines WORKFLOW_QUEUE_NAMESPACE at build time', () => {
|
|
29
|
+
process.env.WORKFLOW_QUEUE_NAMESPACE = 'custom';
|
|
30
|
+
expect(createWorkflowEntrypointOptionsCode()).toBe(', { namespace: "custom" }');
|
|
31
|
+
});
|
|
32
|
+
});
|
|
33
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uc3RhbnRzLnRlc3QuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvY29uc3RhbnRzLnRlc3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQUUsTUFBTSxFQUFFLEVBQUUsRUFBRSxNQUFNLFFBQVEsQ0FBQztBQUN6RCxPQUFPLEVBQ0wsbUNBQW1DLEVBQ25DLDBCQUEwQixHQUMzQixNQUFNLGdCQUFnQixDQUFDO0FBRXhCLFFBQVEsQ0FBQyw0QkFBNEIsRUFBRSxHQUFHLEVBQUU7SUFDMUMsU0FBUyxDQUFDLEdBQUcsRUFBRTtRQUNiLE9BQU8sT0FBTyxDQUFDLEdBQUcsQ0FBQyx3QkFBd0IsQ0FBQztJQUM5QyxDQUFDLENBQUMsQ0FBQztJQUVILEVBQUUsQ0FBQyxxREFBcUQsRUFBRSxHQUFHLEVBQUU7UUFDN0QsTUFBTSxDQUFDLDBCQUEwQixFQUFFLENBQUMsS0FBSyxDQUFDLENBQUMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLENBQUM7SUFDdEUsQ0FBQyxDQUFDLENBQUM7SUFFSCxFQUFFLENBQUMsMENBQTBDLEVBQUUsR0FBRyxFQUFFO1FBQ2xELE1BQU0sQ0FBQywwQkFBMEIsQ0FBQyxFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQUUsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLElBQUksQ0FDcEUseUJBQXlCLENBQzFCLENBQUM7SUFDSixDQUFDLENBQUMsQ0FBQztJQUVILEVBQUUsQ0FBQyxzRUFBc0UsRUFBRSxHQUFHLEVBQUU7UUFDOUUsT0FBTyxDQUFDLEdBQUcsQ0FBQyx3QkFBd0IsR0FBRyxRQUFRLENBQUM7UUFFaEQsTUFBTSxDQUFDLDBCQUEwQixFQUFFLENBQUMsS0FBSyxDQUFDLENBQUMsSUFBSSxDQUFDLHlCQUF5QixDQUFDLENBQUM7SUFDN0UsQ0FBQyxDQUFDLENBQUM7QUFDTCxDQUFDLENBQUMsQ0FBQztBQUVILFFBQVEsQ0FBQyxxQ0FBcUMsRUFBRSxHQUFHLEVBQUU7SUFDbkQsU0FBUyxDQUFDLEdBQUcsRUFBRTtRQUNiLE9BQU8sT0FBTyxDQUFDLEdBQUcsQ0FBQyx3QkFBd0IsQ0FBQztJQUM5QyxDQUFDLENBQUMsQ0FBQztJQUVILEVBQUUsQ0FBQywyQ0FBMkMsRUFBRSxHQUFHLEVBQUU7UUFDbkQsTUFBTSxDQUFDLG1DQUFtQyxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUM7SUFDekQsQ0FBQyxDQUFDLENBQUM7SUFFSCxFQUFFLENBQUMsK0JBQStCLEVBQUUsR0FBRyxFQUFFO1FBQ3ZDLE1BQU0sQ0FBQyxtQ0FBbUMsQ0FBQyxFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUN2RSwyQkFBMkIsQ0FDNUIsQ0FBQztJQUNKLENBQUMsQ0FBQyxDQUFDO0lBRUgsRUFBRSxDQUFDLGdEQUFnRCxFQUFFLEdBQUcsRUFBRTtRQUN4RCxPQUFPLENBQUMsR0FBRyxDQUFDLHdCQUF3QixHQUFHLFFBQVEsQ0FBQztRQUVoRCxNQUFNLENBQUMsbUNBQW1DLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FDaEQsMkJBQTJCLENBQzVCLENBQUM7SUFDSixDQUFDLENBQUMsQ0FBQztBQUNMLENBQUMsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgYWZ0ZXJFYWNoLCBkZXNjcmliZSwgZXhwZWN0LCBpdCB9IGZyb20gJ3ZpdGVzdCc7XG5pbXBvcnQge1xuICBjcmVhdGVXb3JrZmxvd0VudHJ5cG9pbnRPcHRpb25zQ29kZSxcbiAgY3JlYXRlV29ya2Zsb3dRdWV1ZVRyaWdnZXIsXG59IGZyb20gJy4vY29uc3RhbnRzLmpzJztcblxuZGVzY3JpYmUoJ2NyZWF0ZVdvcmtmbG93UXVldWVUcmlnZ2VyJywgKCkgPT4ge1xuICBhZnRlckVhY2goKCkgPT4ge1xuICAgIGRlbGV0ZSBwcm9jZXNzLmVudi5XT1JLRkxPV19RVUVVRV9OQU1FU1BBQ0U7XG4gIH0pO1xuXG4gIGl0KCd1c2VzIHRoZSBkZWZhdWx0IHdvcmtmbG93IHRvcGljIHdpdGhvdXQgYSBuYW1lc3BhY2UnLCAoKSA9PiB7XG4gICAgZXhwZWN0KGNyZWF0ZVdvcmtmbG93UXVldWVUcmlnZ2VyKCkudG9waWMpLnRvQmUoJ19fd2tmX3dvcmtmbG93XyonKTtcbiAgfSk7XG5cbiAgaXQoJ3VzZXMgYW4gZXhwbGljaXQgbmFtZXNwYWNlIHdoZW4gcHJvdmlkZWQnLCAoKSA9PiB7XG4gICAgZXhwZWN0KGNyZWF0ZVdvcmtmbG93UXVldWVUcmlnZ2VyKHsgbmFtZXNwYWNlOiAnY3VzdG9tJyB9KS50b3BpYykudG9CZShcbiAgICAgICdfX2N1c3RvbV93a2Zfd29ya2Zsb3dfKidcbiAgICApO1xuICB9KTtcblxuICBpdCgndXNlcyBXT1JLRkxPV19RVUVVRV9OQU1FU1BBQ0Ugd2hlbiBubyBleHBsaWNpdCBuYW1lc3BhY2UgaXMgcHJvdmlkZWQnLCAoKSA9PiB7XG4gICAgcHJvY2Vzcy5lbnYuV09SS0ZMT1dfUVVFVUVfTkFNRVNQQUNFID0gJ2N1c3RvbSc7XG5cbiAgICBleHBlY3QoY3JlYXRlV29ya2Zsb3dRdWV1ZVRyaWdnZXIoKS50b3BpYykudG9CZSgnX19jdXN0b21fd2tmX3dvcmtmbG93XyonKTtcbiAgfSk7XG59KTtcblxuZGVzY3JpYmUoJ2NyZWF0ZVdvcmtmbG93RW50cnlwb2ludE9wdGlvbnNDb2RlJywgKCkgPT4ge1xuICBhZnRlckVhY2goKCkgPT4ge1xuICAgIGRlbGV0ZSBwcm9jZXNzLmVudi5XT1JLRkxPV19RVUVVRV9OQU1FU1BBQ0U7XG4gIH0pO1xuXG4gIGl0KCdvbWl0cyBydW50aW1lIG9wdGlvbnMgd2l0aG91dCBhIG5hbWVzcGFjZScsICgpID0+IHtcbiAgICBleHBlY3QoY3JlYXRlV29ya2Zsb3dFbnRyeXBvaW50T3B0aW9uc0NvZGUoKSkudG9CZSgnJyk7XG4gIH0pO1xuXG4gIGl0KCdpbmxpbmVzIGFuIGV4cGxpY2l0IG5hbWVzcGFjZScsICgpID0+IHtcbiAgICBleHBlY3QoY3JlYXRlV29ya2Zsb3dFbnRyeXBvaW50T3B0aW9uc0NvZGUoeyBuYW1lc3BhY2U6ICdjdXN0b20nIH0pKS50b0JlKFxuICAgICAgJywgeyBuYW1lc3BhY2U6IFwiY3VzdG9tXCIgfSdcbiAgICApO1xuICB9KTtcblxuICBpdCgnaW5saW5lcyBXT1JLRkxPV19RVUVVRV9OQU1FU1BBQ0UgYXQgYnVpbGQgdGltZScsICgpID0+IHtcbiAgICBwcm9jZXNzLmVudi5XT1JLRkxPV19RVUVVRV9OQU1FU1BBQ0UgPSAnY3VzdG9tJztcblxuICAgIGV4cGVjdChjcmVhdGVXb3JrZmxvd0VudHJ5cG9pbnRPcHRpb25zQ29kZSgpKS50b0JlKFxuICAgICAgJywgeyBuYW1lc3BhY2U6IFwiY3VzdG9tXCIgfSdcbiAgICApO1xuICB9KTtcbn0pO1xuIl19
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
export interface DiscoveredEntries {
|
|
2
|
+
discoveredSteps: Set<string>;
|
|
3
|
+
discoveredWorkflows: Set<string>;
|
|
4
|
+
discoveredSerdeFiles: Set<string>;
|
|
5
|
+
}
|
|
6
|
+
interface FastDiscoverEntriesOptions {
|
|
7
|
+
entryPoints: string[];
|
|
8
|
+
state: DiscoveredEntries;
|
|
9
|
+
defaultTsconfigPath: string | undefined;
|
|
10
|
+
workingDir: string;
|
|
11
|
+
}
|
|
12
|
+
export declare function fastDiscoverEntries({ entryPoints, state, defaultTsconfigPath, workingDir, }: FastDiscoverEntriesOptions): Promise<void>;
|
|
13
|
+
export {};
|
|
14
|
+
//# sourceMappingURL=fast-discovery.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fast-discovery.d.ts","sourceRoot":"","sources":["../src/fast-discovery.ts"],"names":[],"mappings":"AA+CA,MAAM,WAAW,iBAAiB;IAChC,eAAe,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IAC7B,mBAAmB,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IACjC,oBAAoB,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;CACnC;AAED,UAAU,0BAA0B;IAClC,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,KAAK,EAAE,iBAAiB,CAAC;IACzB,mBAAmB,EAAE,MAAM,GAAG,SAAS,CAAC;IACxC,UAAU,EAAE,MAAM,CAAC;CACpB;AAqdD,wBAAsB,mBAAmB,CAAC,EACxC,WAAW,EACX,KAAK,EACL,mBAAmB,EACnB,UAAU,GACX,EAAE,0BAA0B,GAAG,OAAO,CAAC,IAAI,CAAC,CA2X5C"}
|