@workflow/builders 5.0.0-beta.0 → 5.0.0-beta.10
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 +1 -1
- package/dist/apply-swc-transform.d.ts.map +1 -1
- package/dist/apply-swc-transform.js +1 -1
- package/dist/base-builder.d.ts +79 -5
- package/dist/base-builder.d.ts.map +1 -1
- package/dist/base-builder.js +424 -44
- package/dist/build-queue.js +1 -1
- package/dist/config-helpers.d.ts +2 -1
- package/dist/config-helpers.d.ts.map +1 -1
- package/dist/config-helpers.js +2 -1
- package/dist/constants.d.ts +3 -13
- package/dist/constants.d.ts.map +1 -1
- package/dist/constants.js +4 -14
- package/dist/discover-entries-esbuild-plugin.d.ts.map +1 -1
- package/dist/discover-entries-esbuild-plugin.js +27 -10
- package/dist/discover-entries-esbuild-plugin.test.js +42 -2
- package/dist/esbuild-tsconfig.js +1 -1
- package/dist/esbuild-tsconfig.test.js +1 -1
- package/dist/external-package-warning.test.d.ts +2 -0
- package/dist/external-package-warning.test.d.ts.map +1 -0
- package/dist/external-package-warning.test.js +219 -0
- package/dist/get-input-files.test.js +49 -2
- package/dist/index.d.ts +2 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3 -3
- package/dist/module-specifier.d.ts.map +1 -1
- package/dist/module-specifier.js +48 -10
- package/dist/module-specifier.test.js +21 -1
- package/dist/node-module-esbuild-plugin.d.ts.map +1 -1
- package/dist/node-module-esbuild-plugin.js +73 -23
- package/dist/node-module-esbuild-plugin.test.js +97 -1
- package/dist/pseudo-package-esbuild-plugin.js +1 -1
- package/dist/pseudo-package-esbuild-plugin.test.js +1 -1
- package/dist/request-converter.js +1 -1
- package/dist/resolve-sourcemap.test.d.ts +2 -0
- package/dist/resolve-sourcemap.test.d.ts.map +1 -0
- package/dist/resolve-sourcemap.test.js +126 -0
- package/dist/serde-checker.js +1 -1
- package/dist/standalone.d.ts +0 -3
- package/dist/standalone.d.ts.map +1 -1
- package/dist/standalone.js +11 -40
- package/dist/swc-esbuild-plugin.d.ts +10 -1
- package/dist/swc-esbuild-plugin.d.ts.map +1 -1
- package/dist/swc-esbuild-plugin.js +73 -9
- package/dist/swc-esbuild-plugin.test.js +280 -4
- package/dist/transform-utils.d.ts +3 -9
- package/dist/transform-utils.d.ts.map +1 -1
- package/dist/transform-utils.js +5 -30
- package/dist/transform-utils.test.js +37 -17
- package/dist/types.d.ts +31 -0
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js +1 -1
- package/dist/vercel-build-output-api.d.ts +0 -2
- package/dist/vercel-build-output-api.d.ts.map +1 -1
- package/dist/vercel-build-output-api.js +32 -57
- package/dist/workflow-alias.js +1 -1
- package/dist/workflow-alias.test.js +1 -1
- package/dist/workflows-extractor.js +1 -1
- package/package.json +5 -5
- package/dist/apply-swc-transform.js.map +0 -1
- package/dist/base-builder.js.map +0 -1
- package/dist/build-queue.js.map +0 -1
- package/dist/config-helpers.js.map +0 -1
- package/dist/constants.js.map +0 -1
- package/dist/discover-entries-esbuild-plugin.js.map +0 -1
- package/dist/discover-entries-esbuild-plugin.test.js.map +0 -1
- package/dist/esbuild-tsconfig.js.map +0 -1
- package/dist/esbuild-tsconfig.test.js.map +0 -1
- package/dist/get-input-files.test.js.map +0 -1
- package/dist/index.js.map +0 -1
- package/dist/module-specifier.js.map +0 -1
- package/dist/module-specifier.test.js.map +0 -1
- package/dist/node-module-esbuild-plugin.js.map +0 -1
- package/dist/node-module-esbuild-plugin.test.js.map +0 -1
- package/dist/pseudo-package-esbuild-plugin.js.map +0 -1
- package/dist/pseudo-package-esbuild-plugin.test.js.map +0 -1
- package/dist/request-converter.js.map +0 -1
- package/dist/serde-checker.js.map +0 -1
- package/dist/standalone.js.map +0 -1
- package/dist/swc-esbuild-plugin.js.map +0 -1
- package/dist/swc-esbuild-plugin.test.js.map +0 -1
- package/dist/transform-utils.js.map +0 -1
- package/dist/transform-utils.test.js.map +0 -1
- package/dist/types.js.map +0 -1
- package/dist/vercel-build-output-api.js.map +0 -1
- package/dist/workflow-alias.js.map +0 -1
- package/dist/workflow-alias.test.js.map +0 -1
- package/dist/workflows-extractor.js.map +0 -1
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { describe, expect, it } from 'vitest';
|
|
2
|
-
import { detectWorkflowPatterns,
|
|
2
|
+
import { detectWorkflowPatterns, shouldTransformFile, useStepPattern, useWorkflowPattern, workflowSerdeComputedPropertyPattern, workflowSerdeImportPattern, workflowSerdeSymbolPattern, } from './transform-utils.js';
|
|
3
3
|
describe('transform-utils patterns', () => {
|
|
4
4
|
describe('useWorkflowPattern', () => {
|
|
5
5
|
it('should match "use workflow" with single quotes', () => {
|
|
@@ -281,22 +281,42 @@ export default function Page() { return null; }
|
|
|
281
281
|
expect(result.hasDirective).toBe(true);
|
|
282
282
|
});
|
|
283
283
|
});
|
|
284
|
-
describe('
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
|
|
284
|
+
describe('shouldTransformFile', () => {
|
|
285
|
+
const noPatterns = {
|
|
286
|
+
hasUseWorkflow: false,
|
|
287
|
+
hasUseStep: false,
|
|
288
|
+
hasSerdeImport: false,
|
|
289
|
+
hasSerdeSymbol: false,
|
|
290
|
+
hasDirective: false,
|
|
291
|
+
hasSerde: false,
|
|
292
|
+
};
|
|
293
|
+
it('excludes generated workflow route files even with directives', () => {
|
|
294
|
+
expect(shouldTransformFile('/app/.well-known/workflow/v1/route.ts', {
|
|
295
|
+
...noPatterns,
|
|
296
|
+
hasUseWorkflow: true,
|
|
297
|
+
hasDirective: true,
|
|
298
|
+
})).toBe(false);
|
|
299
|
+
});
|
|
300
|
+
it('transforms files with directive patterns', () => {
|
|
301
|
+
expect(shouldTransformFile('/app/workflows/my-workflow.ts', {
|
|
302
|
+
...noPatterns,
|
|
303
|
+
hasUseWorkflow: true,
|
|
304
|
+
hasDirective: true,
|
|
305
|
+
})).toBe(true);
|
|
306
|
+
});
|
|
307
|
+
it('transforms files with serde patterns', () => {
|
|
308
|
+
expect(shouldTransformFile('/app/lib/my-class.ts', {
|
|
309
|
+
...noPatterns,
|
|
310
|
+
hasSerdeImport: true,
|
|
311
|
+
hasSerde: true,
|
|
312
|
+
})).toBe(true);
|
|
313
|
+
});
|
|
314
|
+
it('transforms SDK files with serde patterns (no longer excluded)', () => {
|
|
315
|
+
expect(shouldTransformFile('/app/node_modules/@workflow/core/dist/serialization.js', { ...noPatterns, hasSerdeSymbol: true, hasSerde: true })).toBe(true);
|
|
316
|
+
});
|
|
317
|
+
it('does not transform files without directives or serde patterns', () => {
|
|
318
|
+
expect(shouldTransformFile('/app/lib/utils.ts', noPatterns)).toBe(false);
|
|
299
319
|
});
|
|
300
320
|
});
|
|
301
321
|
});
|
|
302
|
-
//# sourceMappingURL=transform-utils.test.js.map
|
|
322
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNmb3JtLXV0aWxzLnRlc3QuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvdHJhbnNmb3JtLXV0aWxzLnRlc3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLEVBQUUsRUFBRSxFQUFFLE1BQU0sUUFBUSxDQUFDO0FBQzlDLE9BQU8sRUFDTCxzQkFBc0IsRUFDdEIsbUJBQW1CLEVBQ25CLGNBQWMsRUFDZCxrQkFBa0IsRUFDbEIsb0NBQW9DLEVBQ3BDLDBCQUEwQixFQUMxQiwwQkFBMEIsR0FDM0IsTUFBTSxzQkFBc0IsQ0FBQztBQUU5QixRQUFRLENBQUMsMEJBQTBCLEVBQUUsR0FBRyxFQUFFO0lBQ3hDLFFBQVEsQ0FBQyxvQkFBb0IsRUFBRSxHQUFHLEVBQUU7UUFDbEMsRUFBRSxDQUFDLGdEQUFnRCxFQUFFLEdBQUcsRUFBRTtZQUN4RCxNQUFNLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDOUQsTUFBTSxDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQy9ELENBQUMsQ0FBQyxDQUFDO1FBRUgsRUFBRSxDQUFDLGdEQUFnRCxFQUFFLEdBQUcsRUFBRTtZQUN4RCxNQUFNLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDOUQsTUFBTSxDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQy9ELENBQUMsQ0FBQyxDQUFDO1FBRUgsRUFBRSxDQUFDLHNDQUFzQyxFQUFFLEdBQUcsRUFBRTtZQUM5QyxNQUFNLENBQUMsa0JB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OUMsTUFBTSxDQUNKLG1CQUFtQixDQUFDLHNCQUFzQixFQUFFO2dCQUMxQyxHQUFHLFVBQVU7Z0JBQ2IsY0FBYyxFQUFFLElBQUk7Z0JBQ3BCLFFBQVEsRUFBRSxJQUFJO2FBQ2YsQ0FBQyxDQUNILENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ2YsQ0FBQyxDQUFDLENBQUM7UUFFSCxFQUFFLENBQUMsK0RBQStELEVBQUUsR0FBRyxFQUFFO1lBQ3ZFLE1BQU0sQ0FDSixtQkFBbUIsQ0FDakIsd0RBQXdELEVBQ3hELEVBQUUsR0FBRyxVQUFVLEVBQUUsY0FBYyxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLENBQ3hELENBQ0YsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDZixDQUFDLENBQUMsQ0FBQztRQUVILEVBQUUsQ0FBQywrREFBK0QsRUFBRSxHQUFHLEVBQUU7WUFDdkUsTUFBTSxDQUFDLG1CQUFtQixDQUFDLG1CQUFtQixFQUFFLFVBQVUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzNFLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQyxDQUFDLENBQUM7QUFDTCxDQUFDLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGRlc2NyaWJlLCBleHBlY3QsIGl0IH0gZnJvbSAndml0ZXN0JztcbmltcG9ydCB7XG4gIGRldGVjdFdvcmtmbG93UGF0dGVybnMsXG4gIHNob3VsZFRyYW5zZm9ybUZpbGUsXG4gIHVzZVN0ZXBQYXR0ZXJuLFxuICB1c2VXb3JrZmxvd1BhdHRlcm4sXG4gIHdvcmtmbG93U2VyZGVDb21wdXRlZFByb3BlcnR5UGF0dGVybixcbiAgd29ya2Zsb3dTZXJkZUltcG9ydFBhdHRlcm4sXG4gIHdvcmtmbG93U2VyZGVTeW1ib2xQYXR0ZXJuLFxufSBmcm9tICcuL3RyYW5zZm9ybS11dGlscy5qcyc7XG5cbmRlc2NyaWJlKCd0cmFuc2Zvcm0tdXRpbHMgcGF0dGVybnMnLCAoKSA9PiB7XG4gIGRlc2NyaWJlKCd1c2VXb3JrZmxvd1BhdHRlcm4nLCAoKSA9PiB7XG4gICAgaXQoJ3Nob3VsZCBtYXRjaCBcInVzZSB3b3JrZmxvd1wiIHdpdGggc2luZ2xlIHF1b3RlcycsICgpID0+IHtcbiAgICAgIGV4cGVjdCh1c2VXb3JrZmxvd1BhdHRlcm4udGVzdChgJ3VzZSB3b3JrZmxvdyc7YCkpLnRvQmUodHJ1ZSk7XG4gICAgICBleHBlY3QodXNlV29ya2Zsb3dQYXR0ZXJuLnRlc3QoYCd1c2Ugd29ya2Zsb3cnYCkpLnRvQmUodHJ1ZSk7XG4gICAgfSk7XG5cbiAgICBpdCgnc2hvdWxkIG1hdGNoIFwidXNlIHdvcmtmbG93XCIgd2l0aCBkb3VibGUgcXVvdGVzJywgKCkgPT4ge1xuICAgICAgZXhwZWN0KHVzZVdvcmtmbG93UGF0dGVybi50ZXN0KGBcInVzZSB3b3JrZmxvd1wiO2ApKS50b0JlKHRydWUpO1xuICAgICAgZXhwZWN0KHVzZVdvcmtmbG93UGF0dGVybi50ZXN0KGBcInVzZSB3b3JrZmxvd1wiYCkpLnRvQmUodHJ1ZSk7XG4gICAgfSk7XG5cbiAgICBpdCgnc2hvdWxkIG1hdGNoIHdpdGggbGVhZGluZyB3aGl0ZXNwYWNlJywgKCkgPT4ge1xuICAgICAgZXhwZWN0KHVzZVdvcmtmbG93UGF0dGVybi50ZXN0KGAgICd1c2Ugd29ya2Zsb3cnO2ApKS50b0JlKHRydWUpO1xuICAgICAgZXhwZWN0KHVzZVdvcmtmbG93UGF0dGVybi50ZXN0KGBcXHRcInVzZSB3b3JrZmxvd1wiO2ApKS50b0JlKHRydWUpO1xuICAgIH0pO1xuXG4gICAgaXQoJ3Nob3VsZCBub3QgbWF0Y2ggaW5saW5lIHVzYWdlJywgKCkgPT4ge1xuICAgICAgZXhwZWN0KHVzZVdvcmtmbG93UGF0dGVybi50ZXN0KGBjb25zdCB4ID0gJ3VzZSB3b3JrZmxvdyc7YCkpLnRvQmUoZmFsc2UpO1xuICAgIH0pO1xuICB9KTtcblxuICBkZXNjcmliZSgndXNlU3RlcFBhdHRlcm4nLCAoKSA9PiB7XG4gICAgaXQoJ3Nob3VsZCBtYXRjaCBcInVzZSBzdGVwXCIgd2l0aCBzaW5nbGUgcXVvdGVzJywgKCkgPT4ge1xuICAgICAgZXhwZWN0KHVzZVN0ZXBQYXR0ZXJuLnRlc3QoYCd1c2Ugc3RlcCc7YCkpLnRvQmUodHJ1ZSk7XG4gICAgICBleHBlY3QodXNlU3RlcFBhdHRlcm4udGVzdChgJ3VzZSBzdGVwJ2ApKS50b0JlKHRydWUpO1xuICAgIH0pO1xuXG4gICAgaXQoJ3Nob3VsZCBtYXRjaCBcInVzZSBzdGVwXCIgd2l0aCBkb3VibGUgcXVvdGVzJywgKCkgPT4ge1xuICAgICAgZXhwZWN0KHVzZVN0ZXBQYXR0ZXJuLnRlc3QoYFwidXNlIHN0ZXBcIjtgKSkudG9CZSh0cnVlKTtcbiAgICAgIGV4cGVjdCh1c2VTdGVwUGF0dGVybi50ZXN0KGBcInVzZSBzdGVwXCJgKSkudG9CZSh0cnVlKTtcbiAgICB9KTtcbiAgfSk7XG5cbiAgZGVzY3JpYmUoJ3dvcmtmbG93U2VyZGVJbXBvcnRQYXR0ZXJuJywgKCkgPT4ge1xuICAgIGl0KCdzaG91bGQgbWF0Y2ggaW1wb3J0IGZyb20gQHdvcmtmbG93L3NlcmRlIHdpdGggc2luZ2xlIHF1b3RlcycsICgpID0+IHtcbiAgICAgIGNvbnN0IHNvdXJjZSA9IGBpbXBvcnQgeyBXT1JLRkxPV19TRVJJQUxJWkUgfSBmcm9tICdAd29ya2Zsb3cvc2VyZGUnO2A7XG4gICAgICBleHBlY3Qod29ya2Zsb3dTZXJkZUltcG9ydFBhdHRlcm4udGVzdChzb3VyY2UpKS50b0JlKHRydWUpO1xuICAgIH0pO1xuXG4gICAgaXQoJ3Nob3VsZCBtYXRjaCBpbXBvcnQgZnJvbSBAd29ya2Zsb3cvc2VyZGUgd2l0aCBkb3VibGUgcXVvdGVzJywgKCkgPT4ge1xuICAgICAgY29uc3Qgc291cmNlID0gYGltcG9ydCB7IFdPUktGTE9XX1NFUklBTElaRSB9IGZyb20gXCJAd29ya2Zsb3cvc2VyZGVcIjtgO1xuICAgICAgZXhwZWN0KHdvcmtmbG93U2VyZGVJbXBvcnRQYXR0ZXJuLnRlc3Qoc291cmNlKSkudG9CZSh0cnVlKTtcbiAgICB9KTtcblxuICAgIGl0KCdzaG91bGQgbWF0Y2ggaW1wb3J0IHdpdGggbXVsdGlwbGUgc3BlY2lmaWVycycsICgpID0+IHtcbiAgICAgIGNvbnN0IHNvdXJjZSA9IGBpbXBvcnQgeyBXT1JLRkxPV19TRVJJQUxJWkUsIFdPUktGTE9XX0RFU0VSSUFMSVpFIH0gZnJvbSAnQHdvcmtmbG93L3NlcmRlJztgO1xuICAgICAgZXhwZWN0KHdvcmtmbG93U2VyZGVJbXBvcnRQYXR0ZXJuLnRlc3Qoc291cmNlKSkudG9CZSh0cnVlKTtcbiAgICB9KTtcblxuICAgIGl0KCdzaG91bGQgbWF0Y2ggaW1wb3J0IHdpdGggdHlwZScsICgpID0+IHtcbiAgICAgIGNvbnN0IHNvdXJjZSA9IGBpbXBvcnQgdHlwZSB7IFNlcmlhbGl6YXRpb25TeW1ib2wgfSBmcm9tICdAd29ya2Zsb3cvc2VyZGUnO2A7XG4gICAgICBleHBlY3Qod29ya2Zsb3dTZXJkZUltcG9ydFBhdHRlcm4udGVzdChzb3VyY2UpKS50b0JlKHRydWUpO1xuICAgIH0pO1xuXG4gICAgaXQoJ3Nob3VsZCBub3QgbWF0Y2ggc2ltaWxhciBidXQgZGlmZmVyZW50IHBhY2thZ2VzJywgKCkgPT4ge1xuICAgICAgZXhwZWN0KFxuICAgICAgICB3b3JrZmxvd1NlcmRlSW1wb3J0UGF0dGVybi50ZXN0KGBpbXBvcnQgeyB4IH0gZnJvbSAnQG90aGVyL3NlcmRlJztgKVxuICAgICAgKS50b0JlKGZhbHNlKTtcbiAgICAgIGV4cGVjdChcbiAgICAgICAgd29ya2Zsb3dTZXJkZUltcG9ydFBhdHRlcm4udGVzdChcbiAgICAgICAgICBgaW1wb3J0IHsgeCB9IGZyb20gJ0B3b3JrZmxvdy9zZXJkZS11dGlscyc7YFxuICAgICAgICApXG4gICAgICApLnRvQmUoZmFsc2UpO1xuICAgIH0pO1xuICB9KTtcblxuICBkZXNjcmliZSgnd29ya2Zsb3dTZXJkZVN5bWJvbFBhdHRlcm4nLCAoKSA9PiB7XG4gICAgaXQoJ3Nob3VsZCBtYXRjaCBTeW1ib2wuZm9yIHdpdGggd29ya2Zsb3ctc2VyaWFsaXplJywgKCkgPT4ge1xuICAgICAgY29uc3Qgc291cmNlID0gYHN0YXRpYyBbU3ltYm9sLmZvcignd29ya2Zsb3ctc2VyaWFsaXplJyldKGluc3RhbmNlKSB7fWA7XG4gICAgICBleHBlY3Qod29ya2Zsb3dTZXJkZVN5bWJvbFBhdHRlcm4udGVzdChzb3VyY2UpKS50b0JlKHRydWUpO1xuICAgIH0pO1xuXG4gICAgaXQoJ3Nob3VsZCBtYXRjaCBTeW1ib2wuZm9yIHdpdGggd29ya2Zsb3ctZGVzZXJpYWxpemUnLCAoKSA9PiB7XG4gICAgICBjb25zdCBzb3VyY2UgPSBgc3RhdGljIFtTeW1ib2wuZm9yKCd3b3JrZmxvdy1kZXNlcmlhbGl6ZScpXShkYXRhKSB7fWA7XG4gICAgICBleHBlY3Qod29ya2Zsb3dTZXJkZVN5bWJvbFBhdHRlcm4udGVzdChzb3VyY2UpKS50b0JlKHRydWUpO1xuICAgIH0pO1xuXG4gICAgaXQoJ3Nob3VsZCBtYXRjaCB3aXRoIGRvdWJsZSBxdW90ZXMnLCAoKSA9PiB7XG4gICAgICBjb25zdCBzb3VyY2UgPSBgc3RhdGljIFtTeW1ib2wuZm9yKFwid29ya2Zsb3ctc2VyaWFsaXplXCIpXShpbnN0YW5jZSkge31gO1xuICAgICAgZXhwZWN0KHdvcmtmbG93U2VyZGVTeW1ib2xQYXR0ZXJuLnRlc3Qoc291cmNlKSkudG9CZSh0cnVlKTtcbiAgICB9KTtcblxuICAgIGl0KCdzaG91bGQgbWF0Y2ggd2l0aCB3aGl0ZXNwYWNlIHZhcmlhdGlvbnMnLCAoKSA9PiB7XG4gICAgICBleHBlY3QoXG4gICAgICAgIHdvcmtmbG93U2VyZGVTeW1ib2xQYXR0ZXJuLnRlc3QoYFN5bWJvbC5mb3IoICd3b3JrZmxvdy1zZXJpYWxpemUnIClgKVxuICAgICAgKS50b0JlKHRydWUpO1xuICAgICAgZXhwZWN0KFxuICAgICAgICB3b3JrZmxvd1NlcmRlU3ltYm9sUGF0dGVybi50ZXN0KGBTeW1ib2wuZm9yKCd3b3JrZmxvdy1kZXNlcmlhbGl6ZScpYClcbiAgICAgICkudG9CZSh0cnVlKTtcbiAgICB9KTtcblxuICAgIGl0KCdzaG91bGQgbWF0Y2ggaW4gYSBmdWxsIGNsYXNzIGRlZmluaXRpb24nLCAoKSA9PiB7XG4gICAgICBjb25zdCBzb3VyY2UgPSBgXG4gICAgICAgIGV4cG9ydCBjbGFzcyBQb2ludCB7XG4gICAgICAgICAgY29uc3RydWN0b3IoeCwgeSkge1xuICAgICAgICAgICAgdGhpcy54ID0geDtcbiAgICAgICAgICAgIHRoaXMueSA9IHk7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgc3RhdGljIFtTeW1ib2wuZm9yKCd3b3JrZmxvdy1zZXJpYWxpemUnKV0oaW5zdGFuY2UpIHtcbiAgICAgICAgICAgIHJldHVybiB7IHg6IGluc3RhbmNlLngsIHk6IGluc3RhbmNlLnkgfTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBzdGF0aWMgW1N5bWJvbC5mb3IoJ3dvcmtmbG93LWRlc2VyaWFsaXplJyldKGRhdGEpIHtcbiAgICAgICAgICAgIHJldHVybiBuZXcgUG9pbnQoZGF0YS54LCBkYXRhLnkpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgYDtcbiAgICAgIGV4cGVjdCh3b3JrZmxvd1NlcmRlU3ltYm9sUGF0dGVybi50ZXN0KHNvdXJjZSkpLnRvQmUodHJ1ZSk7XG4gICAgfSk7XG5cbiAgICBpdCgnc2hvdWxkIG5vdCBtYXRjaCBvdGhlciBTeW1ib2wuZm9yIHVzYWdlJywgKCkgPT4ge1xuICAgICAgZXhwZWN0KFxuICAgICAgICB3b3JrZmxvd1NlcmRlU3ltYm9sUGF0dGVybi50ZXN0KGBTeW1ib2wuZm9yKCdvdGhlci1zeW1ib2wnKWApXG4gICAgICApLnRvQmUoZmFsc2UpO1xuICAgICAgZXhwZWN0KFxuICAgICAgICB3b3JrZmxvd1NlcmRlU3ltYm9sUGF0dGVybi50ZXN0KGBTeW1ib2wuZm9yKCd3b3JrZmxvdy1zb21ldGhpbmctZWxzZScpYClcbiAgICAgICkudG9CZShmYWxzZSk7XG4gICAgfSk7XG5cbiAgICBpdCgnc2hvdWxkIG5vdCBtYXRjaCBub24tU3ltYm9sLmZvciBwYXR0ZXJucycsICgpID0+IHtcbiAgICAgIGV4cGVjdCh3b3JrZmxvd1NlcmRlU3ltYm9sUGF0dGVybi50ZXN0KGAnd29ya2Zsb3ctc2VyaWFsaXplJ2ApKS50b0JlKFxuICAgICAgICBmYWxzZVxuICAgICAgKTtcbiAgICAgIGV4cGVjdCh3b3JrZmxvd1NlcmRlU3ltYm9sUGF0dGVybi50ZXN0KGB3b3JrZmxvdy1kZXNlcmlhbGl6ZWApKS50b0JlKFxuICAgICAgICBmYWxzZVxuICAgICAgKTtcbiAgICB9KTtcbiAgfSk7XG5cbiAgZGVzY3JpYmUoJ2NvbWJpbmVkIGRldGVjdGlvbicsICgpID0+IHtcbiAgICBpdCgnc2hvdWxkIGRldGVjdCBmaWxlIHVzaW5nIGltcG9ydGVkIHN5bWJvbHMnLCAoKSA9PiB7XG4gICAgICBjb25zdCBzb3VyY2UgPSBgXG4gICAgICAgIGltcG9ydCB7IFdPUktGTE9XX1NFUklBTElaRSwgV09SS0ZMT1dfREVTRVJJQUxJWkUgfSBmcm9tICdAd29ya2Zsb3cvc2VyZGUnO1xuXG4gICAgICAgIGV4cG9ydCBjbGFzcyBNeUNsYXNzIHtcbiAgICAgICAgICBzdGF0aWMgW1dPUktGTE9XX1NFUklBTElaRV0oaW5zdGFuY2UpIHtcbiAgICAgICAgICAgIHJldHVybiB7IHZhbHVlOiBpbnN0YW5jZS52YWx1ZSB9O1xuICAgICAgICAgIH1cblxuICAgICAgICAgIHN0YXRpYyBbV09SS0ZMT1dfREVTRVJJQUxJWkVdKGRhdGEpIHtcbiAgICAgICAgICAgIHJldHVybiBuZXcgTXlDbGFzcyhkYXRhLnZhbHVlKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIGA7XG4gICAgICBleHBlY3Qod29ya2Zsb3dTZXJkZUltcG9ydFBhdHRlcm4udGVzdChzb3VyY2UpKS50b0JlKHRydWUpO1xuICAgICAgLy8gTm90ZTogd29ya2Zsb3dTZXJkZVN5bWJvbFBhdHRlcm4gd29uJ3QgbWF0Y2ggaGVyZSBiZWNhdXNlIHRoZSBzeW1ib2xzXG4gICAgICAvLyBhcmUgcmVmZXJlbmNlZCBieSBpZGVudGlmaWVyLCBub3QgZGlyZWN0bHkgYXMgU3ltYm9sLmZvcigpXG4gICAgICBleHBlY3Qod29ya2Zsb3dTZXJkZVN5bWJvbFBhdHRlcm4udGVzdChzb3VyY2UpKS50b0JlKGZhbHNlKTtcbiAgICB9KTtcblxuICAgIGl0KCdzaG91bGQgZGV0ZWN0IGZpbGUgdXNpbmcgZGlyZWN0IFN5bWJvbC5mb3InLCAoKSA9PiB7XG4gICAgICBjb25zdCBzb3VyY2UgPSBgXG4gICAgICAgIGV4cG9ydCBjbGFzcyBQb2ludCB7XG4gICAgICAgICAgc3RhdGljIFtTeW1ib2wuZm9yKCd3b3JrZmxvdy1zZXJpYWxpemUnKV0oaW5zdGFuY2UpIHtcbiAgICAgICAgICAgIHJldHVybiB7IHg6IGluc3RhbmNlLnggfTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBzdGF0aWMgW1N5bWJvbC5mb3IoJ3dvcmtmbG93LWRlc2VyaWFsaXplJyldKGRhdGEpIHtcbiAgICAgICAgICAgIHJldHVybiBuZXcgUG9pbnQoZGF0YS54KTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIGA7XG4gICAgICBleHBlY3Qod29ya2Zsb3dTZXJkZUltcG9ydFBhdHRlcm4udGVzdChzb3VyY2UpKS50b0JlKGZhbHNlKTtcbiAgICAgIGV4cGVjdCh3b3JrZmxvd1NlcmRlU3ltYm9sUGF0dGVybi50ZXN0KHNvdXJjZSkpLnRvQmUodHJ1ZSk7XG4gICAgfSk7XG5cbiAgICBpdCgnc2hvdWxkIGRldGVjdCBmaWxlIHdpdGggYm90aCBwYXR0ZXJucycsICgpID0+IHtcbiAgICAgIC8vIFRoaXMgd291bGQgYmUgdW51c3VhbCBidXQgdmFsaWRcbiAgICAgIGNvbnN0IHNvdXJjZSA9IGBcbiAgICAgICAgaW1wb3J0IHsgV09SS0ZMT1dfU0VSSUFMSVpFIH0gZnJvbSAnQHdvcmtmbG93L3NlcmRlJztcblxuICAgICAgICBleHBvcnQgY2xhc3MgUG9pbnQge1xuICAgICAgICAgIC8vIFVzaW5nIGltcG9ydGVkIHN5bWJvbFxuICAgICAgICAgIHN0YXRpYyBbV09SS0ZMT1dfU0VSSUFMSVpFXShpbnN0YW5jZSkge1xuICAgICAgICAgICAgcmV0dXJuIHsgeDogaW5zdGFuY2UueCB9O1xuICAgICAgICAgIH1cblxuICAgICAgICAgIC8vIFVzaW5nIGRpcmVjdCBTeW1ib2wuZm9yXG4gICAgICAgICAgc3RhdGljIFtTeW1ib2wuZm9yKCd3b3JrZmxvdy1kZXNlcmlhbGl6ZScpXShkYXRhKSB7XG4gICAgICAgICAgICByZXR1cm4gbmV3IFBvaW50KGRhdGEueCk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICBgO1xuICAgICAgZXhwZWN0KHdvcmtmbG93U2VyZGVJbXBvcnRQYXR0ZXJuLnRlc3Qoc291cmNlKSkudG9CZSh0cnVlKTtcbiAgICAgIGV4cGVjdCh3b3JrZmxvd1NlcmRlU3ltYm9sUGF0dGVybi50ZXN0KHNvdXJjZSkpLnRvQmUodHJ1ZSk7XG4gICAgfSk7XG4gIH0pO1xuXG4gIGRlc2NyaWJlKCd3b3JrZmxvd1NlcmRlQ29tcHV0ZWRQcm9wZXJ0eVBhdHRlcm4nLCAoKSA9PiB7XG4gICAgaXQoJ3Nob3VsZCBtYXRjaCBbV09SS0ZMT1dfU0VSSUFMSVpFXSBjb21wdXRlZCBwcm9wZXJ0eScsICgpID0+IHtcbiAgICAgIGNvbnN0IHNvdXJjZSA9IGBzdGF0aWMgW1dPUktGTE9XX1NFUklBTElaRV0oaW5zdGFuY2UpIHt9YDtcbiAgICAgIGV4cGVjdCh3b3JrZmxvd1NlcmRlQ29tcHV0ZWRQcm9wZXJ0eVBhdHRlcm4udGVzdChzb3VyY2UpKS50b0JlKHRydWUpO1xuICAgIH0pO1xuXG4gICAgaXQoJ3Nob3VsZCBtYXRjaCBbV09SS0ZMT1dfREVTRVJJQUxJWkVdIGNvbXB1dGVkIHByb3BlcnR5JywgKCkgPT4ge1xuICAgICAgY29uc3Qgc291cmNlID0gYHN0YXRpYyBbV09SS0ZMT1dfREVTRVJJQUxJWkVdKGRhdGEpIHt9YDtcbiAgICAgIGV4cGVjdCh3b3JrZmxvd1NlcmRlQ29tcHV0ZWRQcm9wZXJ0eVBhdHRlcm4udGVzdChzb3VyY2UpKS50b0JlKHRydWUpO1xuICAgIH0pO1xuXG4gICAgaXQoJ3Nob3VsZCBtYXRjaCB3aXRoIHdoaXRlc3BhY2UgaW5zaWRlIGJyYWNrZXRzJywgKCkgPT4ge1xuICAgICAgZXhwZWN0KFxuICAgICAgICB3b3JrZmxvd1NlcmRlQ29tcHV0ZWRQcm9wZXJ0eVBhdHRlcm4udGVzdChgWyBXT1JLRkxPV19TRVJJQUxJWkUgXWApXG4gICAgICApLnRvQmUodHJ1ZSk7XG4gICAgICBleHBlY3QoXG4gICAgICAgIHdvcmtmbG93U2VyZGVDb21wdXRlZFByb3BlcnR5UGF0dGVybi50ZXN0KGBbICBXT1JLRkxPV19ERVNFUklBTElaRSAgXWApXG4gICAgICApLnRvQmUodHJ1ZSk7XG4gICAgfSk7XG5cbiAgICBpdCgnc2hvdWxkIG1hdGNoIGluIGJ1bmRsZWQgY29kZSB3aGVyZSBzeW1ib2xzIGFyZSBpbXBvcnRlZCBmcm9tIGNodW5rcycsICgpID0+IHtcbiAgICAgIC8vIFRoaXMgaXMgdGhlIHBhdHRlcm4gc2VlbiBpbiBidW5kbGVkIHBhY2thZ2VzIGxpa2UganVzdC1iYXNoXG4gICAgICBjb25zdCBzb3VyY2UgPSBgXG4gICAgICAgIGltcG9ydCB7XG4gICAgICAgICAgV09SS0ZMT1dfREVTRVJJQUxJWkUsXG4gICAgICAgICAgV09SS0ZMT1dfU0VSSUFMSVpFXG4gICAgICAgIH0gZnJvbSBcIi4vY2h1bmtzL2NodW5rLTQ1MzMyM1FZLmpzXCI7XG5cbiAgICAgICAgdmFyIEJhc2ggPSBjbGFzcyBfQmFzaCB7XG4gICAgICAgICAgc3RhdGljIFtXT1JLRkxPV19TRVJJQUxJWkVdKGluc3RhbmNlKSB7XG4gICAgICAgICAgICByZXR1cm4geyBmczogaW5zdGFuY2UuZnMgfTtcbiAgICAgICAgICB9XG4gICAgICAgICAgc3RhdGljIFtXT1JLRkxPV19ERVNFUklBTElaRV0oc2VyaWFsaXplZCkge1xuICAgICAgICAgICAgcmV0dXJuIE9iamVjdC5jcmVhdGUoX0Jhc2gucHJvdG90eXBlLCB7XG4gICAgICAgICAgICAgIGZzOiB7IHZhbHVlOiBzZXJpYWxpemVkLmZzIH1cbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgIH1cbiAgICAgICAgfTtcbiAgICAgIGA7XG4gICAgICBleHBlY3Qod29ya2Zsb3dTZXJkZUNvbXB1dGVkUHJvcGVydHlQYXR0ZXJuLnRlc3Qoc291cmNlKSkudG9CZSh0cnVlKTtcbiAgICAgIC8vIE5vdGU6IGltcG9ydCBwYXR0ZXJuIHdvbid0IG1hdGNoIGJlY2F1c2UgaXQncyBmcm9tIGEgY2h1bmssIG5vdCBAd29ya2Zsb3cvc2VyZGVcbiAgICAgIGV4cGVjdCh3b3JrZmxvd1NlcmRlSW1wb3J0UGF0dGVybi50ZXN0KHNvdXJjZSkpLnRvQmUoZmFsc2UpO1xuICAgIH0pO1xuXG4gICAgaXQoJ3Nob3VsZCBub3QgbWF0Y2ggcGFydGlhbCBuYW1lcycsICgpID0+IHtcbiAgICAgIGV4cGVjdChcbiAgICAgICAgd29ya2Zsb3dTZXJkZUNvbXB1dGVkUHJvcGVydHlQYXR0ZXJuLnRlc3QoYFtXT1JLRkxPV19TRVJJQUxJWkVfRVhUUkFdYClcbiAgICAgICkudG9CZShmYWxzZSk7XG4gICAgICBleHBlY3QoXG4gICAgICAgIHdvcmtmbG93U2VyZGVDb21wdXRlZFByb3BlcnR5UGF0dGVybi50ZXN0KGBbTVlfV09SS0ZMT1dfU0VSSUFMSVpFXWApXG4gICAgICApLnRvQmUoZmFsc2UpO1xuICAgIH0pO1xuXG4gICAgaXQoJ3Nob3VsZCBub3QgbWF0Y2ggc3RyaW5nIGxpdGVyYWxzJywgKCkgPT4ge1xuICAgICAgZXhwZWN0KFxuICAgICAgICB3b3JrZmxvd1NlcmRlQ29tcHV0ZWRQcm9wZXJ0eVBhdHRlcm4udGVzdChgWydXT1JLRkxPV19TRVJJQUxJWkUnXWApXG4gICAgICApLnRvQmUoZmFsc2UpO1xuICAgICAgZXhwZWN0KFxuICAgICAgICB3b3JrZmxvd1NlcmRlQ29tcHV0ZWRQcm9wZXJ0eVBhdHRlcm4udGVzdChgW1wiV09SS0ZMT1dfREVTRVJJQUxJWkVcIl1gKVxuICAgICAgKS50b0JlKGZhbHNlKTtcbiAgICB9KTtcbiAgfSk7XG5cbiAgZGVzY3JpYmUoJ2RldGVjdFdvcmtmbG93UGF0dGVybnMnLCAoKSA9PiB7XG4gICAgaXQoJ3Nob3VsZCBkZXRlY3QgaGFzU2VyZGUgZm9yIEB3b3JrZmxvdy9zZXJkZSBpbXBvcnQnLCAoKSA9PiB7XG4gICAgICBjb25zdCBzb3VyY2UgPSBgaW1wb3J0IHsgV09SS0ZMT1dfU0VSSUFMSVpFIH0gZnJvbSAnQHdvcmtmbG93L3NlcmRlJztgO1xuICAgICAgY29uc3QgcmVzdWx0ID0gZGV0ZWN0V29ya2Zsb3dQYXR0ZXJucyhzb3VyY2UpO1xuICAgICAgZXhwZWN0KHJlc3VsdC5oYXNTZXJkZSkudG9CZSh0cnVlKTtcbiAgICAgIGV4cGVjdChyZXN1bHQuaGFzU2VyZGVJbXBvcnQpLnRvQmUodHJ1ZSk7XG4gICAgfSk7XG5cbiAgICBpdCgnc2hvdWxkIGRldGVjdCBoYXNTZXJkZSBmb3IgU3ltYm9sLmZvciBwYXR0ZXJuJywgKCkgPT4ge1xuICAgICAgY29uc3Qgc291cmNlID0gYHN0YXRpYyBbU3ltYm9sLmZvcignd29ya2Zsb3ctc2VyaWFsaXplJyldKGluc3RhbmNlKSB7fWA7XG4gICAgICBjb25zdCByZXN1bHQgPSBkZXRlY3RXb3JrZmxvd1BhdHRlcm5zKHNvdXJjZSk7XG4gICAgICBleHBlY3QocmVzdWx0Lmhhc1NlcmRlKS50b0JlKHRydWUpO1xuICAgICAgZXhwZWN0KHJlc3VsdC5oYXNTZXJkZVN5bWJvbCkudG9CZSh0cnVlKTtcbiAgICB9KTtcblxuICAgIGl0KCdzaG91bGQgZGV0ZWN0IGhhc1NlcmRlIGZvciBjb21wdXRlZCBwcm9wZXJ0eSBwYXR0ZXJuJywgKCkgPT4ge1xuICAgICAgY29uc3Qgc291cmNlID0gYHN0YXRpYyBbV09SS0ZMT1dfU0VSSUFMSVpFXShpbnN0YW5jZSkge31gO1xuICAgICAgY29uc3QgcmVzdWx0ID0gZGV0ZWN0V29ya2Zsb3dQYXR0ZXJucyhzb3VyY2UpO1xuICAgICAgZXhwZWN0KHJlc3VsdC5oYXNTZXJkZSkudG9CZSh0cnVlKTtcbiAgICB9KTtcblxuICAgIGl0KCdzaG91bGQgZGV0ZWN0IGhhc1NlcmRlIGZvciBidW5kbGVkIHRoaXJkLXBhcnR5IHBhY2thZ2VzJywgKCkgPT4ge1xuICAgICAgLy8gU2ltdWxhdGVzIGJ1bmRsZWQgb3V0cHV0IGZyb20gcGFja2FnZXMgbGlrZSBqdXN0LWJhc2hcbiAgICAgIGNvbnN0IHNvdXJjZSA9IGBcbiAgICAgICAgaW1wb3J0IHtcbiAgICAgICAgICBXT1JLRkxPV19ERVNFUklBTElaRSxcbiAgICAgICAgICBXT1JLRkxPV19TRVJJQUxJWkVcbiAgICAgICAgfSBmcm9tIFwiLi9jaHVua3MvY2h1bmstQUJDMTIzLmpzXCI7XG5cbiAgICAgICAgdmFyIE15Q2xhc3MgPSBjbGFzcyB7XG4gICAgICAgICAgc3RhdGljIFtXT1JLRkxPV19TRVJJQUxJWkVdKGluc3RhbmNlKSB7XG4gICAgICAgICAgICByZXR1cm4geyBkYXRhOiBpbnN0YW5jZS5kYXRhIH07XG4gICAgICAgICAgfVxuICAgICAgICAgIHN0YXRpYyBbV09SS0ZMT1dfREVTRVJJQUxJWkVdKHNlcmlhbGl6ZWQpIHtcbiAgICAgICAgICAgIHJldHVybiBuZXcgTXlDbGFzcyhzZXJpYWxpemVkLmRhdGEpO1xuICAgICAgICAgIH1cbiAgICAgICAgfTtcbiAgICAgIGA7XG4gICAgICBjb25zdCByZXN1bHQgPSBkZXRlY3RXb3JrZmxvd1BhdHRlcm5zKHNvdXJjZSk7XG4gICAgICBleHBlY3QocmVzdWx0Lmhhc1NlcmRlKS50b0JlKHRydWUpO1xuICAgIH0pO1xuXG4gICAgaXQoJ3Nob3VsZCBub3QgZGV0ZWN0IGhhc1NlcmRlIGZvciB1bnJlbGF0ZWQgY29kZScsICgpID0+IHtcbiAgICAgIGNvbnN0IHNvdXJjZSA9IGBcbiAgICAgICAgZXhwb3J0IGNsYXNzIFJlZ3VsYXJDbGFzcyB7XG4gICAgICAgICAgY29uc3RydWN0b3IodmFsdWUpIHtcbiAgICAgICAgICAgIHRoaXMudmFsdWUgPSB2YWx1ZTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIGA7XG4gICAgICBjb25zdCByZXN1bHQgPSBkZXRlY3RXb3JrZmxvd1BhdHRlcm5zKHNvdXJjZSk7XG4gICAgICBleHBlY3QocmVzdWx0Lmhhc1NlcmRlKS50b0JlKGZhbHNlKTtcbiAgICB9KTtcblxuICAgIGl0KCdzaG91bGQgZGV0ZWN0IGJvdGggZGlyZWN0aXZlIGFuZCBzZXJkZSBwYXR0ZXJucycsICgpID0+IHtcbiAgICAgIGNvbnN0IHNvdXJjZSA9IGBcbiAgICAgICAgJ3VzZSBzdGVwJztcbiAgICAgICAgaW1wb3J0IHsgV09SS0ZMT1dfU0VSSUFMSVpFIH0gZnJvbSAnQHdvcmtmbG93L3NlcmRlJztcbiAgICAgICAgXG4gICAgICAgIGV4cG9ydCBjbGFzcyBQb2ludCB7XG4gICAgICAgICAgc3RhdGljIFtXT1JLRkxPV19TRVJJQUxJWkVdKGluc3RhbmNlKSB7XG4gICAgICAgICAgICByZXR1cm4geyB4OiBpbnN0YW5jZS54IH07XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICBgO1xuICAgICAgY29uc3QgcmVzdWx0ID0gZGV0ZWN0V29ya2Zsb3dQYXR0ZXJucyhzb3VyY2UpO1xuICAgICAgZXhwZWN0KHJlc3VsdC5oYXNEaXJlY3RpdmUpLnRvQmUodHJ1ZSk7XG4gICAgICBleHBlY3QocmVzdWx0Lmhhc1VzZVN0ZXApLnRvQmUodHJ1ZSk7XG4gICAgICBleHBlY3QocmVzdWx0Lmhhc1NlcmRlKS50b0JlKHRydWUpO1xuICAgIH0pO1xuXG4gICAgaXQoJ3JlZ2V4cCBkZXRlY3Rpb24gbWF0Y2hlcyBkaXJlY3RpdmVzIGluc2lkZSB0ZW1wbGF0ZSBsaXRlcmFscyAoZmFsc2UgcG9zaXRpdmUpJywgKCkgPT4ge1xuICAgICAgLy8gZGV0ZWN0V29ya2Zsb3dQYXR0ZXJucyB1c2VzIHJlZ2V4cCBhbmQgd2lsbCBtYXRjaCBkaXJlY3RpdmUtbGlrZVxuICAgICAgLy8gc3RyaW5ncyBpbnNpZGUgdGVtcGxhdGUgbGl0ZXJhbHMuIFRoZSBkaXNjb3Zlci1lbnRyaWVzIHBsdWdpblxuICAgICAgLy8gaGFuZGxlcyB0aGlzIGJ5IHVzaW5nIHRoZSBTV0MgcGx1Z2luIG1hbmlmZXN0IChBU1QtbGV2ZWwpIGZvclxuICAgICAgLy8gZGlyZWN0aXZlIGRpc2NvdmVyeSBpbnN0ZWFkIG9mIHJlbHlpbmcgb24gcmVnZXhwIGFsb25lLlxuICAgICAgY29uc3Qgc291cmNlID0gYCd1c2UgY2xpZW50JztcbmNvbnN0IENPREVfU05JUFBFVCA9IFxcYGltcG9ydCB7IHNsZWVwIH0gZnJvbSBcIndvcmtmbG93XCI7XG5cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBoYW5kbGVVc2VyU2lnbnVwKGVtYWlsOiBzdHJpbmcpIHtcbiAgXCJ1c2Ugd29ya2Zsb3dcIjtcbiAgY29uc3QgdXNlciA9IGF3YWl0IGNyZWF0ZVVzZXIoZW1haWwpO1xufVxuXFxgO1xuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gUGFnZSgpIHsgcmV0dXJuIG51bGw7IH1cbmA7XG4gICAgICBjb25zdCByZXN1bHQgPSBkZXRlY3RXb3JrZmxvd1BhdHRlcm5zKHNvdXJjZSk7XG4gICAgICBleHBlY3QocmVzdWx0Lmhhc1VzZVdvcmtmbG93KS50b0JlKHRydWUpO1xuICAgICAgZXhwZWN0KHJlc3VsdC5oYXNEaXJlY3RpdmUpLnRvQmUodHJ1ZSk7XG4gICAgfSk7XG4gIH0pO1xuXG4gIGRlc2NyaWJlKCdzaG91bGRUcmFuc2Zvcm1GaWxlJywgKCkgPT4ge1xuICAgIGNvbnN0IG5vUGF0dGVybnMgPSB7XG4gICAgICBoYXNVc2VXb3JrZmxvdzogZmFsc2UsXG4gICAgICBoYXNVc2VTdGVwOiBmYWxzZSxcbiAgICAgIGhhc1NlcmRlSW1wb3J0OiBmYWxzZSxcbiAgICAgIGhhc1NlcmRlU3ltYm9sOiBmYWxzZSxcbiAgICAgIGhhc0RpcmVjdGl2ZTogZmFsc2UsXG4gICAgICBoYXNTZXJkZTogZmFsc2UsXG4gICAgfTtcblxuICAgIGl0KCdleGNsdWRlcyBnZW5lcmF0ZWQgd29ya2Zsb3cgcm91dGUgZmlsZXMgZXZlbiB3aXRoIGRpcmVjdGl2ZXMnLCAoKSA9PiB7XG4gICAgICBleHBlY3QoXG4gICAgICAgIHNob3VsZFRyYW5zZm9ybUZpbGUoJy9hcHAvLndlbGwta25vd24vd29ya2Zsb3cvdjEvcm91dGUudHMnLCB7XG4gICAgICAgICAgLi4ubm9QYXR0ZXJucyxcbiAgICAgICAgICBoYXNVc2VXb3JrZmxvdzogdHJ1ZSxcbiAgICAgICAgICBoYXNEaXJlY3RpdmU6IHRydWUsXG4gICAgICAgIH0pXG4gICAgICApLnRvQmUoZmFsc2UpO1xuICAgIH0pO1xuXG4gICAgaXQoJ3RyYW5zZm9ybXMgZmlsZXMgd2l0aCBkaXJlY3RpdmUgcGF0dGVybnMnLCAoKSA9PiB7XG4gICAgICBleHBlY3QoXG4gICAgICAgIHNob3VsZFRyYW5zZm9ybUZpbGUoJy9hcHAvd29ya2Zsb3dzL215LXdvcmtmbG93LnRzJywge1xuICAgICAgICAgIC4uLm5vUGF0dGVybnMsXG4gICAgICAgICAgaGFzVXNlV29ya2Zsb3c6IHRydWUsXG4gICAgICAgICAgaGFzRGlyZWN0aXZlOiB0cnVlLFxuICAgICAgICB9KVxuICAgICAgKS50b0JlKHRydWUpO1xuICAgIH0pO1xuXG4gICAgaXQoJ3RyYW5zZm9ybXMgZmlsZXMgd2l0aCBzZXJkZSBwYXR0ZXJucycsICgpID0+IHtcbiAgICAgIGV4cGVjdChcbiAgICAgICAgc2hvdWxkVHJhbnNmb3JtRmlsZSgnL2FwcC9saWIvbXktY2xhc3MudHMnLCB7XG4gICAgICAgICAgLi4ubm9QYXR0ZXJucyxcbiAgICAgICAgICBoYXNTZXJkZUltcG9ydDogdHJ1ZSxcbiAgICAgICAgICBoYXNTZXJkZTogdHJ1ZSxcbiAgICAgICAgfSlcbiAgICAgICkudG9CZSh0cnVlKTtcbiAgICB9KTtcblxuICAgIGl0KCd0cmFuc2Zvcm1zIFNESyBmaWxlcyB3aXRoIHNlcmRlIHBhdHRlcm5zIChubyBsb25nZXIgZXhjbHVkZWQpJywgKCkgPT4ge1xuICAgICAgZXhwZWN0KFxuICAgICAgICBzaG91bGRUcmFuc2Zvcm1GaWxlKFxuICAgICAgICAgICcvYXBwL25vZGVfbW9kdWxlcy9Ad29ya2Zsb3cvY29yZS9kaXN0L3NlcmlhbGl6YXRpb24uanMnLFxuICAgICAgICAgIHsgLi4ubm9QYXR0ZXJucywgaGFzU2VyZGVTeW1ib2w6IHRydWUsIGhhc1NlcmRlOiB0cnVlIH1cbiAgICAgICAgKVxuICAgICAgKS50b0JlKHRydWUpO1xuICAgIH0pO1xuXG4gICAgaXQoJ2RvZXMgbm90IHRyYW5zZm9ybSBmaWxlcyB3aXRob3V0IGRpcmVjdGl2ZXMgb3Igc2VyZGUgcGF0dGVybnMnLCAoKSA9PiB7XG4gICAgICBleHBlY3Qoc2hvdWxkVHJhbnNmb3JtRmlsZSgnL2FwcC9saWIvdXRpbHMudHMnLCBub1BhdHRlcm5zKSkudG9CZShmYWxzZSk7XG4gICAgfSk7XG4gIH0pO1xufSk7XG4iXX0=
|
package/dist/types.d.ts
CHANGED
|
@@ -1,5 +1,16 @@
|
|
|
1
1
|
export declare const validBuildTargets: readonly ["standalone", "vercel-build-output-api", "next", "nest", "sveltekit", "astro"];
|
|
2
2
|
export type BuildTarget = (typeof validBuildTargets)[number];
|
|
3
|
+
/**
|
|
4
|
+
* Source map emission mode for generated workflow bundles. Matches esbuild's
|
|
5
|
+
* `sourcemap` option vocabulary:
|
|
6
|
+
*
|
|
7
|
+
* - `true` / `'linked'`: write a separate `.map` file and add a `sourceMappingURL` comment
|
|
8
|
+
* - `'inline'`: emit a base64-encoded source map at the end of the bundle
|
|
9
|
+
* - `'external'`: write a separate `.map` file without the comment
|
|
10
|
+
* - `'both'`: emit both inline and external source maps
|
|
11
|
+
* - `false`: omit source maps entirely
|
|
12
|
+
*/
|
|
13
|
+
export type SourcemapMode = boolean | 'inline' | 'linked' | 'external' | 'both';
|
|
3
14
|
/**
|
|
4
15
|
* Common configuration options shared across all builder types.
|
|
5
16
|
*/
|
|
@@ -16,11 +27,31 @@ interface BaseWorkflowConfig {
|
|
|
16
27
|
externalPackages?: string[];
|
|
17
28
|
workflowManifestPath?: string;
|
|
18
29
|
debugFilePrefix?: string;
|
|
30
|
+
diagnosticsDir?: string;
|
|
31
|
+
distDir?: string;
|
|
19
32
|
suppressCreateWorkflowsBundleLogs?: boolean;
|
|
20
33
|
suppressCreateWorkflowsBundleWarnings?: boolean;
|
|
21
34
|
suppressCreateWebhookBundleLogs?: boolean;
|
|
22
35
|
suppressCreateManifestLogs?: boolean;
|
|
23
36
|
runtime?: string;
|
|
37
|
+
/**
|
|
38
|
+
* Controls how source maps are emitted for workflow bundles. Accepts the
|
|
39
|
+
* same values as esbuild's `sourcemap` option.
|
|
40
|
+
*
|
|
41
|
+
* Default is `'inline'` for the step bundle and intermediate workflow
|
|
42
|
+
* bundle (gives readable stack traces for step errors and workflow VM
|
|
43
|
+
* errors). Setting `false` omits source maps entirely, which produces
|
|
44
|
+
* smaller bundles — useful for staying under the Vercel 250MB function
|
|
45
|
+
* limit — at the cost of stack traces that reference generated code.
|
|
46
|
+
*
|
|
47
|
+
* `'external'` and `'linked'` write a separate `.map` file; use these
|
|
48
|
+
* when you want to ship source maps to observability tooling but keep
|
|
49
|
+
* them out of the function bundle.
|
|
50
|
+
*
|
|
51
|
+
* Can also be set via the `WORKFLOW_SOURCEMAP` environment variable;
|
|
52
|
+
* config wins over env var, env var wins over the default.
|
|
53
|
+
*/
|
|
54
|
+
sourcemap?: SourcemapMode;
|
|
24
55
|
}
|
|
25
56
|
/**
|
|
26
57
|
* Configuration for standalone (CLI-based) builds.
|
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,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;IACnB;;;OAGG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IAKrB,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;
|
|
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;;;;;;;;;GASG;AACH,MAAM,MAAM,aAAa,GAAG,OAAO,GAAG,QAAQ,GAAG,QAAQ,GAAG,UAAU,GAAG,MAAM,CAAC;AAEhF;;GAEG;AACH,UAAU,kBAAkB;IAC1B,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;IACnB;;;OAGG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IAKrB,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,cAAc,CAAC,EAAE,MAAM,CAAC;IAIxB,OAAO,CAAC,EAAE,MAAM,CAAC;IAIjB,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;IAEjB;;;;;;;;;;;;;;;;OAgBG;IACH,SAAS,CAAC,EAAE,aAAa,CAAC;CAC3B;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
|
@@ -9,4 +9,4 @@ export const validBuildTargets = [
|
|
|
9
9
|
export function isValidBuildTarget(target) {
|
|
10
10
|
return !!target && validBuildTargets.includes(target);
|
|
11
11
|
}
|
|
12
|
-
//# sourceMappingURL=
|
|
12
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvdHlwZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxDQUFDLE1BQU0saUJBQWlCLEdBQUc7SUFDL0IsWUFBWTtJQUNaLHlCQUF5QjtJQUN6QixNQUFNO0lBQ04sTUFBTTtJQUNOLFdBQVc7SUFDWCxPQUFPO0NBQ0MsQ0FBQztBQStKWCxNQUFNLFVBQVUsa0JBQWtCLENBQ2hDLE1BQTBCO0lBRTFCLE9BQU8sQ0FBQyxDQUFDLE1BQU0sSUFBSSxpQkFBaUIsQ0FBQyxRQUFRLENBQUMsTUFBcUIsQ0FBQyxDQUFDO0FBQ3ZFLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgY29uc3QgdmFsaWRCdWlsZFRhcmdldHMgPSBbXG4gICdzdGFuZGFsb25lJyxcbiAgJ3ZlcmNlbC1idWlsZC1vdXRwdXQtYXBpJyxcbiAgJ25leHQnLFxuICAnbmVzdCcsXG4gICdzdmVsdGVraXQnLFxuICAnYXN0cm8nLFxuXSBhcyBjb25zdDtcbmV4cG9ydCB0eXBlIEJ1aWxkVGFyZ2V0ID0gKHR5cGVvZiB2YWxpZEJ1aWxkVGFyZ2V0cylbbnVtYmVyXTtcblxuLyoqXG4gKiBTb3VyY2UgbWFwIGVtaXNzaW9uIG1vZGUgZm9yIGdlbmVyYXRlZCB3b3JrZmxvdyBidW5kbGVzLiBNYXRjaGVzIGVzYnVpbGQnc1xuICogYHNvdXJjZW1hcGAgb3B0aW9uIHZvY2FidWxhcnk6XG4gKlxuICogLSBgdHJ1ZWAgLyBgJ2xpbmtlZCdgOiB3cml0ZSBhIHNlcGFyYXRlIGAubWFwYCBmaWxlIGFuZCBhZGQgYSBgc291cmNlTWFwcGluZ1VSTGAgY29tbWVudFxuICogLSBgJ2lubGluZSdgOiBlbWl0IGEgYmFzZTY0LWVuY29kZWQgc291cmNlIG1hcCBhdCB0aGUgZW5kIG9mIHRoZSBidW5kbGVcbiAqIC0gYCdleHRlcm5hbCdgOiB3cml0ZSBhIHNlcGFyYXRlIGAubWFwYCBmaWxlIHdpdGhvdXQgdGhlIGNvbW1lbnRcbiAqIC0gYCdib3RoJ2A6IGVtaXQgYm90aCBpbmxpbmUgYW5kIGV4dGVybmFsIHNvdXJjZSBtYXBzXG4gKiAtIGBmYWxzZWA6IG9taXQgc291cmNlIG1hcHMgZW50aXJlbHlcbiAqL1xuZXhwb3J0IHR5cGUgU291cmNlbWFwTW9kZSA9IGJvb2xlYW4gfCAnaW5saW5lJyB8ICdsaW5rZWQnIHwgJ2V4dGVybmFsJyB8ICdib3RoJztcblxuLyoqXG4gKiBDb21tb24gY29uZmlndXJhdGlvbiBvcHRpb25zIHNoYXJlZCBhY3Jvc3MgYWxsIGJ1aWxkZXIgdHlwZXMuXG4gKi9cbmludGVyZmFjZSBCYXNlV29ya2Zsb3dDb25maWcge1xuICB3YXRjaD86IGJvb2xlYW47XG4gIGRpcnM6IHN0cmluZ1tdO1xuICB3b3JraW5nRGlyOiBzdHJpbmc7XG4gIC8qKlxuICAgKiBQcm9qZWN0IHJvb3QgdXNlZCBmb3IgcGFja2FnZSBhbmQgd29ya3NwYWNlIG1vZHVsZS1zcGVjaWZpZXIgcmVzb2x1dGlvblxuICAgKiBkdXJpbmcgU1dDIHRyYW5zZm9ybXMuIERlZmF1bHRzIHRvIGB3b3JraW5nRGlyYC5cbiAgICovXG4gIHByb2plY3RSb290Pzogc3RyaW5nO1xuXG4gIC8vIE9wdGlvbmFsbHkgZ2VuZXJhdGUgYSBjbGllbnQgbGlicmFyeSBmb3Igd29ya2Zsb3cgZXhlY3V0aW9uLiBUaGUgcHJlZmVycmVkXG4gIC8vIG1ldGhvZCBvZiB1c2luZyB3b3JrZmxvdyBpcyB0byB1c2UgYSBsb2FkZXIgd2l0aGluIGEgZnJhbWV3b3JrIChsaWtlXG4gIC8vIE5leHRKUykgdGhhdCByZXNvbHZlcyBjbGllbnQgYmluZGluZ3Mgb24gdGhlIGZseS5cbiAgY2xpZW50QnVuZGxlUGF0aD86IHN0cmluZztcblxuICBleHRlcm5hbFBhY2thZ2VzPzogc3RyaW5nW107XG5cbiAgd29ya2Zsb3dNYW5pZmVzdFBhdGg/OiBzdHJpbmc7XG5cbiAgLy8gT3B0aW9uYWwgcHJlZml4IGZvciBkZWJ1ZyBmaWxlcyAoZS5nLiwgXCJfXCIgZm9yIEFzdHJvIHRvIGlnbm9yZSB0aGVtKVxuICBkZWJ1Z0ZpbGVQcmVmaXg/OiBzdHJpbmc7XG5cbiAgLy8gT3B0aW9uYWwgZGlyZWN0b3J5IHdoZXJlIGRpYWdub3N0aWNzIGFydGlmYWN0cyBzaG91bGQgYmUgd3JpdHRlbi5cbiAgLy8gVGhlIHdvcmtmbG93IG1hbmlmZXN0IGlzIHdyaXR0ZW4gdG8gd29ya2Zsb3dzLW1hbmlmZXN0Lmpzb24gaW5zaWRlIHRoaXMgZGlyLlxuICBkaWFnbm9zdGljc0Rpcj86IHN0cmluZztcblxuICAvLyBPcHRpb25hbCBmcmFtZXdvcmsgb3V0cHV0IGRpcmVjdG9yeSwgdXNlZCBieSBidWlsZGVycyB0aGF0IG1pcnJvciBmcmFtZXdvcmtcbiAgLy8gYXJ0aWZhY3QgbG9jYXRpb25zLlxuICBkaXN0RGlyPzogc3RyaW5nO1xuXG4gIC8vIFN1cHByZXNzIGluZm9ybWF0aW9uYWwgbG9ncyBlbWl0dGVkIGJ5IGNyZWF0ZVdvcmtmbG93c0J1bmRsZSgpXG4gIC8vIChlLmcuIGludGVybWVkaWF0ZS9maW5hbCB3b3JrZmxvdyBidW5kbGUgdGltaW5nIGxvZ3MpLlxuICBzdXBwcmVzc0NyZWF0ZVdvcmtmbG93c0J1bmRsZUxvZ3M/OiBib29sZWFuO1xuXG4gIC8vIFN1cHByZXNzIGVzYnVpbGQgd2FybmluZ3MgZW1pdHRlZCBieSBjcmVhdGVXb3JrZmxvd3NCdW5kbGUoKS5cbiAgc3VwcHJlc3NDcmVhdGVXb3JrZmxvd3NCdW5kbGVXYXJuaW5ncz86IGJvb2xlYW47XG5cbiAgLy8gU3VwcHJlc3MgaW5mb3JtYXRpb25hbCBsb2dzIGVtaXR0ZWQgYnkgY3JlYXRlV2ViaG9va0J1bmRsZSgpLlxuICBzdXBwcmVzc0NyZWF0ZVdlYmhvb2tCdW5kbGVMb2dzPzogYm9vbGVhbjtcblxuICAvLyBTdXBwcmVzcyBpbmZvcm1hdGlvbmFsIGxvZ3MgZW1pdHRlZCBieSBjcmVhdGVNYW5pZmVzdCgpLlxuICBzdXBwcmVzc0NyZWF0ZU1hbmlmZXN0TG9ncz86IGJvb2xlYW47XG5cbiAgLy8gTm9kZS5qcyBydW50aW1lIHZlcnNpb24gZm9yIFZlcmNlbCBGdW5jdGlvbnMgKGUuZy4sIFwibm9kZWpzMjIueFwiLCBcIm5vZGVqczI0LnhcIilcbiAgcnVudGltZT86IHN0cmluZztcblxuICAvKipcbiAgICogQ29udHJvbHMgaG93IHNvdXJjZSBtYXBzIGFyZSBlbWl0dGVkIGZvciB3b3JrZmxvdyBidW5kbGVzLiBBY2NlcHRzIHRoZVxuICAgKiBzYW1lIHZhbHVlcyBhcyBlc2J1aWxkJ3MgYHNvdXJjZW1hcGAgb3B0aW9uLlxuICAgKlxuICAgKiBEZWZhdWx0IGlzIGAnaW5saW5lJ2AgZm9yIHRoZSBzdGVwIGJ1bmRsZSBhbmQgaW50ZXJtZWRpYXRlIHdvcmtmbG93XG4gICAqIGJ1bmRsZSAoZ2l2ZXMgcmVhZGFibGUgc3RhY2sgdHJhY2VzIGZvciBzdGVwIGVycm9ycyBhbmQgd29ya2Zsb3cgVk1cbiAgICogZXJyb3JzKS4gU2V0dGluZyBgZmFsc2VgIG9taXRzIHNvdXJjZSBtYXBzIGVudGlyZWx5LCB3aGljaCBwcm9kdWNlc1xuICAgKiBzbWFsbGVyIGJ1bmRsZXMg4oCUIHVzZWZ1bCBmb3Igc3RheWluZyB1bmRlciB0aGUgVmVyY2VsIDI1ME1CIGZ1bmN0aW9uXG4gICAqIGxpbWl0IOKAlCBhdCB0aGUgY29zdCBvZiBzdGFjayB0cmFjZXMgdGhhdCByZWZlcmVuY2UgZ2VuZXJhdGVkIGNvZGUuXG4gICAqXG4gICAqIGAnZXh0ZXJuYWwnYCBhbmQgYCdsaW5rZWQnYCB3cml0ZSBhIHNlcGFyYXRlIGAubWFwYCBmaWxlOyB1c2UgdGhlc2VcbiAgICogd2hlbiB5b3Ugd2FudCB0byBzaGlwIHNvdXJjZSBtYXBzIHRvIG9ic2VydmFiaWxpdHkgdG9vbGluZyBidXQga2VlcFxuICAgKiB0aGVtIG91dCBvZiB0aGUgZnVuY3Rpb24gYnVuZGxlLlxuICAgKlxuICAgKiBDYW4gYWxzbyBiZSBzZXQgdmlhIHRoZSBgV09SS0ZMT1dfU09VUkNFTUFQYCBlbnZpcm9ubWVudCB2YXJpYWJsZTtcbiAgICogY29uZmlnIHdpbnMgb3ZlciBlbnYgdmFyLCBlbnYgdmFyIHdpbnMgb3ZlciB0aGUgZGVmYXVsdC5cbiAgICovXG4gIHNvdXJjZW1hcD86IFNvdXJjZW1hcE1vZGU7XG59XG5cbi8qKlxuICogQ29uZmlndXJhdGlvbiBmb3Igc3RhbmRhbG9uZSAoQ0xJLWJhc2VkKSBidWlsZHMuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU3RhbmRhbG9uZUNvbmZpZyBleHRlbmRzIEJhc2VXb3JrZmxvd0NvbmZpZyB7XG4gIGJ1aWxkVGFyZ2V0OiAnc3RhbmRhbG9uZSc7XG4gIHN0ZXBzQnVuZGxlUGF0aDogc3RyaW5nO1xuICB3b3JrZmxvd3NCdW5kbGVQYXRoOiBzdHJpbmc7XG4gIHdlYmhvb2tCdW5kbGVQYXRoOiBzdHJpbmc7XG59XG5cbi8qKlxuICogQ29uZmlndXJhdGlvbiBmb3IgVmVyY2VsIEJ1aWxkIE91dHB1dCBBUEkgYnVpbGRzLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFZlcmNlbEJ1aWxkT3V0cHV0Q29uZmlnIGV4dGVuZHMgQmFzZVdvcmtmbG93Q29uZmlnIHtcbiAgYnVpbGRUYXJnZXQ6ICd2ZXJjZWwtYnVpbGQtb3V0cHV0LWFwaSc7XG4gIHN0ZXBzQnVuZGxlUGF0aDogc3RyaW5nO1xuICB3b3JrZmxvd3NCdW5kbGVQYXRoOiBzdHJpbmc7XG4gIHdlYmhvb2tCdW5kbGVQYXRoOiBzdHJpbmc7XG59XG5cbi8qKlxuICogQ29uZmlndXJhdGlvbiBmb3IgTmV4dC5qcyBidWlsZHMuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgTmV4dENvbmZpZyBleHRlbmRzIEJhc2VXb3JrZmxvd0NvbmZpZyB7XG4gIGJ1aWxkVGFyZ2V0OiAnbmV4dCc7XG4gIC8vIE5leHQuanMgYnVpbGRlciBjb21wdXRlcyBwYXRocyBkeW5hbWljYWxseSwgc28gdGhlc2UgYXJlIG5vdCB1c2VkXG4gIHN0ZXBzQnVuZGxlUGF0aDogc3RyaW5nO1xuICB3b3JrZmxvd3NCdW5kbGVQYXRoOiBzdHJpbmc7XG4gIHdlYmhvb2tCdW5kbGVQYXRoOiBzdHJpbmc7XG59XG5cbi8qKlxuICogQ29uZmlndXJhdGlvbiBmb3IgU3ZlbHRlS2l0IGJ1aWxkcy5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTdmVsdGVLaXRDb25maWcgZXh0ZW5kcyBCYXNlV29ya2Zsb3dDb25maWcge1xuICBidWlsZFRhcmdldDogJ3N2ZWx0ZWtpdCc7XG4gIC8vIFN2ZWx0ZUtpdCBidWlsZGVyIGNvbXB1dGVzIHBhdGhzIGR5bmFtaWNhbGx5LCBzbyB0aGVzZSBhcmUgbm90IHVzZWRcbiAgc3RlcHNCdW5kbGVQYXRoOiBzdHJpbmc7XG4gIHdvcmtmbG93c0J1bmRsZVBhdGg6IHN0cmluZztcbiAgd2ViaG9va0J1bmRsZVBhdGg6IHN0cmluZztcbn1cblxuLyoqXG4gKiBDb25maWd1cmF0aW9uIGZvciBBc3RybyBidWlsZHMuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQXN0cm9Db25maWcgZXh0ZW5kcyBCYXNlV29ya2Zsb3dDb25maWcge1xuICBidWlsZFRhcmdldDogJ2FzdHJvJztcbiAgLy8gQXN0cm8gYnVpbGRlciBjb21wdXRlcyBwYXRocyBkeW5hbWljYWxseSwgc28gdGhlc2UgYXJlIG5vdCB1c2VkXG4gIHN0ZXBzQnVuZGxlUGF0aDogc3RyaW5nO1xuICB3b3JrZmxvd3NCdW5kbGVQYXRoOiBzdHJpbmc7XG4gIHdlYmhvb2tCdW5kbGVQYXRoOiBzdHJpbmc7XG59XG5cbi8qKlxuICogQ29uZmlndXJhdGlvbiBmb3IgTmVzdEpTIGJ1aWxkcy5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBOZXN0Q29uZmlnIGV4dGVuZHMgQmFzZVdvcmtmbG93Q29uZmlnIHtcbiAgYnVpbGRUYXJnZXQ6ICduZXN0JztcbiAgLy8gTmVzdEpTIGJ1aWxkZXIgY29tcHV0ZXMgcGF0aHMgZHluYW1pY2FsbHksIHNvIHRoZXNlIGFyZSBub3QgdXNlZFxuICBzdGVwc0J1bmRsZVBhdGg6IHN0cmluZztcbiAgd29ya2Zsb3dzQnVuZGxlUGF0aDogc3RyaW5nO1xuICB3ZWJob29rQnVuZGxlUGF0aDogc3RyaW5nO1xufVxuXG4vKipcbiAqIERpc2NyaW1pbmF0ZWQgdW5pb24gb2YgYWxsIGJ1aWxkZXIgY29uZmlndXJhdGlvbiB0eXBlcy5cbiAqL1xuZXhwb3J0IHR5cGUgV29ya2Zsb3dDb25maWcgPVxuICB8IFN0YW5kYWxvbmVDb25maWdcbiAgfCBWZXJjZWxCdWlsZE91dHB1dENvbmZpZ1xuICB8IE5leHRDb25maWdcbiAgfCBOZXN0Q29uZmlnXG4gIHwgU3ZlbHRlS2l0Q29uZmlnXG4gIHwgQXN0cm9Db25maWc7XG5cbmV4cG9ydCBmdW5jdGlvbiBpc1ZhbGlkQnVpbGRUYXJnZXQoXG4gIHRhcmdldDogc3RyaW5nIHwgdW5kZWZpbmVkXG4pOiB0YXJnZXQgaXMgQnVpbGRUYXJnZXQge1xuICByZXR1cm4gISF0YXJnZXQgJiYgdmFsaWRCdWlsZFRhcmdldHMuaW5jbHVkZXModGFyZ2V0IGFzIEJ1aWxkVGFyZ2V0KTtcbn1cbiJdfQ==
|
|
@@ -1,8 +1,6 @@
|
|
|
1
1
|
import { BaseBuilder } from './base-builder.js';
|
|
2
2
|
export declare class VercelBuildOutputAPIBuilder extends BaseBuilder {
|
|
3
3
|
build(): Promise<void>;
|
|
4
|
-
private buildStepsFunction;
|
|
5
|
-
private buildWorkflowsFunction;
|
|
6
4
|
private buildWebhookFunction;
|
|
7
5
|
private createBuildOutputConfig;
|
|
8
6
|
}
|
|
@@ -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;YAsEd,oBAAoB;YAyBpB,uBAAuB;CAuBtC"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { copyFile, mkdir, writeFile } from 'node:fs/promises';
|
|
2
2
|
import { join, resolve } from 'node:path';
|
|
3
3
|
import { BaseBuilder } from './base-builder.js';
|
|
4
|
-
import {
|
|
4
|
+
import { WORKFLOW_QUEUE_TRIGGER } from './constants.js';
|
|
5
5
|
export class VercelBuildOutputAPIBuilder extends BaseBuilder {
|
|
6
6
|
async build() {
|
|
7
7
|
const outputDir = resolve(this.config.workingDir, '.vercel/output');
|
|
@@ -11,23 +11,33 @@ export class VercelBuildOutputAPIBuilder extends BaseBuilder {
|
|
|
11
11
|
await mkdir(workflowGeneratedDir, { recursive: true });
|
|
12
12
|
const inputFiles = await this.getInputFiles();
|
|
13
13
|
const tsconfigPath = await this.findTsConfigPath();
|
|
14
|
-
|
|
14
|
+
// Create combined bundle in flow.func/
|
|
15
|
+
console.log('Creating Vercel Build Output API combined function');
|
|
16
|
+
const workflowsFuncDir = join(workflowGeneratedDir, 'flow.func');
|
|
17
|
+
await mkdir(workflowsFuncDir, { recursive: true });
|
|
18
|
+
const { manifest } = await this.createCombinedBundle({
|
|
15
19
|
inputFiles,
|
|
16
|
-
|
|
20
|
+
stepsOutfile: join(workflowsFuncDir, '__step_registrations.mjs'),
|
|
21
|
+
flowOutfile: join(workflowsFuncDir, 'index.mjs'),
|
|
17
22
|
tsconfigPath,
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
await this.
|
|
23
|
+
bundleFinalOutput: true,
|
|
24
|
+
});
|
|
25
|
+
// Create package.json and .vc-config.json for combined function
|
|
26
|
+
await this.createPackageJson(workflowsFuncDir, 'module');
|
|
27
|
+
await this.createVcConfig(workflowsFuncDir, {
|
|
28
|
+
handler: 'index.mjs',
|
|
29
|
+
// Skip the source-map-support runtime shim when sourcemaps are
|
|
30
|
+
// disabled — it's a meaningful chunk of the function bundle and
|
|
31
|
+
// serves no purpose without maps.
|
|
32
|
+
shouldAddSourcemapSupport: this.sourcemapsEnabled,
|
|
33
|
+
maxDuration: 'max',
|
|
34
|
+
experimentalTriggers: [WORKFLOW_QUEUE_TRIGGER],
|
|
35
|
+
runtime: this.config.runtime,
|
|
36
|
+
});
|
|
37
|
+
await this.buildWebhookFunction({ workflowGeneratedDir });
|
|
22
38
|
await this.createBuildOutputConfig(outputDir);
|
|
23
|
-
// Merge manifests from both bundles
|
|
24
|
-
const manifest = {
|
|
25
|
-
steps: { ...stepsManifest.steps, ...workflowsManifest.steps },
|
|
26
|
-
workflows: { ...stepsManifest.workflows, ...workflowsManifest.workflows },
|
|
27
|
-
classes: { ...stepsManifest.classes, ...workflowsManifest.classes },
|
|
28
|
-
};
|
|
29
39
|
// Generate unified manifest
|
|
30
|
-
const workflowBundlePath = join(workflowGeneratedDir, 'flow.func/index.
|
|
40
|
+
const workflowBundlePath = join(workflowGeneratedDir, 'flow.func/index.mjs');
|
|
31
41
|
const manifestJson = await this.createManifest({
|
|
32
42
|
workflowBundlePath,
|
|
33
43
|
manifestDir: workflowGeneratedDir,
|
|
@@ -38,59 +48,25 @@ export class VercelBuildOutputAPIBuilder extends BaseBuilder {
|
|
|
38
48
|
if (this.shouldExposePublicManifest && manifestJson) {
|
|
39
49
|
const staticManifestDir = join(outputDir, 'static/.well-known/workflow/v1');
|
|
40
50
|
await mkdir(staticManifestDir, { recursive: true });
|
|
51
|
+
if (process.env.VERCEL_DEPLOYMENT_ID === undefined) {
|
|
52
|
+
await writeFile(join(staticManifestDir, '.gitignore'), '*');
|
|
53
|
+
}
|
|
41
54
|
await copyFile(join(workflowGeneratedDir, 'manifest.json'), join(staticManifestDir, 'manifest.json'));
|
|
42
55
|
}
|
|
43
56
|
await this.createClientLibrary();
|
|
44
57
|
}
|
|
45
|
-
async buildStepsFunction({ inputFiles, workflowGeneratedDir, tsconfigPath, }) {
|
|
46
|
-
console.log('Creating Vercel Build Output API steps function');
|
|
47
|
-
const stepsFuncDir = join(workflowGeneratedDir, 'step.func');
|
|
48
|
-
await mkdir(stepsFuncDir, { recursive: true });
|
|
49
|
-
// Create steps bundle
|
|
50
|
-
const { manifest } = await this.createStepsBundle({
|
|
51
|
-
inputFiles,
|
|
52
|
-
outfile: join(stepsFuncDir, 'index.js'),
|
|
53
|
-
tsconfigPath,
|
|
54
|
-
});
|
|
55
|
-
// Create package.json and .vc-config.json for steps function
|
|
56
|
-
await this.createPackageJson(stepsFuncDir, 'commonjs');
|
|
57
|
-
await this.createVcConfig(stepsFuncDir, {
|
|
58
|
-
shouldAddSourcemapSupport: true,
|
|
59
|
-
maxDuration: 'max',
|
|
60
|
-
experimentalTriggers: [STEP_QUEUE_TRIGGER],
|
|
61
|
-
runtime: this.config.runtime,
|
|
62
|
-
});
|
|
63
|
-
return manifest;
|
|
64
|
-
}
|
|
65
|
-
async buildWorkflowsFunction({ inputFiles, workflowGeneratedDir, tsconfigPath, }) {
|
|
66
|
-
console.log('Creating Vercel Build Output API workflows function');
|
|
67
|
-
const workflowsFuncDir = join(workflowGeneratedDir, 'flow.func');
|
|
68
|
-
await mkdir(workflowsFuncDir, { recursive: true });
|
|
69
|
-
const { manifest } = await this.createWorkflowsBundle({
|
|
70
|
-
outfile: join(workflowsFuncDir, 'index.js'),
|
|
71
|
-
inputFiles,
|
|
72
|
-
tsconfigPath,
|
|
73
|
-
});
|
|
74
|
-
// Create package.json and .vc-config.json for workflows function
|
|
75
|
-
await this.createPackageJson(workflowsFuncDir, 'commonjs');
|
|
76
|
-
await this.createVcConfig(workflowsFuncDir, {
|
|
77
|
-
maxDuration: 'max',
|
|
78
|
-
experimentalTriggers: [WORKFLOW_QUEUE_TRIGGER],
|
|
79
|
-
runtime: this.config.runtime,
|
|
80
|
-
});
|
|
81
|
-
return manifest;
|
|
82
|
-
}
|
|
83
58
|
async buildWebhookFunction({ workflowGeneratedDir, bundle = true, }) {
|
|
84
59
|
console.log('Creating Vercel Build Output API webhook function');
|
|
85
60
|
const webhookFuncDir = join(workflowGeneratedDir, 'webhook/[token].func');
|
|
86
61
|
// Bundle the webhook route with dependencies resolved
|
|
87
62
|
await this.createWebhookBundle({
|
|
88
|
-
outfile: join(webhookFuncDir, 'index.
|
|
63
|
+
outfile: join(webhookFuncDir, 'index.mjs'),
|
|
89
64
|
bundle, // Build Output API needs bundling (except in tests)
|
|
90
65
|
});
|
|
91
66
|
// Create package.json and .vc-config.json for webhook function
|
|
92
|
-
await this.createPackageJson(webhookFuncDir, '
|
|
67
|
+
await this.createPackageJson(webhookFuncDir, 'module');
|
|
93
68
|
await this.createVcConfig(webhookFuncDir, {
|
|
69
|
+
handler: 'index.mjs',
|
|
94
70
|
shouldAddHelpers: false,
|
|
95
71
|
runtime: this.config.runtime,
|
|
96
72
|
});
|
|
@@ -108,9 +84,8 @@ export class VercelBuildOutputAPIBuilder extends BaseBuilder {
|
|
|
108
84
|
};
|
|
109
85
|
await writeFile(join(outputDir, 'config.json'), JSON.stringify(buildOutputConfig, null, 2));
|
|
110
86
|
console.log(`Build Output API created at ${outputDir}`);
|
|
111
|
-
console.log('
|
|
112
|
-
console.log('Workflows function available at /.well-known/workflow/v1/flow');
|
|
87
|
+
console.log('Combined function available at /.well-known/workflow/v1/flow');
|
|
113
88
|
console.log('Webhook function available at /.well-known/workflow/v1/webhook/[token]');
|
|
114
89
|
}
|
|
115
90
|
}
|
|
116
|
-
//# sourceMappingURL=vercel-build-output-api.js.map
|
|
91
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmVyY2VsLWJ1aWxkLW91dHB1dC1hcGkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvdmVyY2VsLWJ1aWxkLW91dHB1dC1hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDOUQsT0FBTyxFQUFFLElBQUksRUFBRSxPQUFPLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFDMUMsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ2hELE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRXhELE1BQU0sT0FBTywyQkFBNEIsU0FBUSxXQUFXO0lBQzFELEtBQUssQ0FBQyxLQUFLO1FBQ1QsTUFBTSxTQUFTLEdBQUcsT0FBTyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsVUFBVSxFQUFFLGdCQUFnQixDQUFDLENBQUM7UUFDcEUsTUFBTSxZQUFZLEdBQUcsSUFBSSxDQUFDLFNBQVMsRUFBRSxXQUFXLENBQUMsQ0FBQztRQUNsRCxNQUFNLG9CQUFvQixHQUFHLElBQUksQ0FBQyxZQUFZLEVBQUUseUJBQXlCLENBQUMsQ0FBQztRQUUzRSxrQ0FBa0M7UUFDbEMsTUFBTSxLQUFLLENBQUMsb0JBQW9CLEVBQUUsRUFBRSxTQUFTLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQztRQUV2RCxNQUFNLFVBQVUsR0FBRyxNQUFNLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztRQUM5QyxNQUFNLFlBQVksR0FBRyxNQUFNLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO1FBQ25ELHVDQUF1QztRQUN2QyxPQUFPLENBQUMsR0FBRyxDQUFDLG9EQUFvRCxDQUFDLENBQUM7UUFDbEUsTUFBTSxnQkFBZ0IsR0FBRyxJQUFJLENBQUMsb0JBQW9CLEVBQUUsV0FBVyxDQUFDLENBQUM7UUFDakUsTUFBTSxLQUFL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eEMsT0FBTyxFQUFFLFdBQVc7WUFDcEIsZ0JBQWdCLEVBQUUsS0FBSztZQUN2QixPQUFPLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPO1NBQzdCLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFTyxLQUFLLENBQUMsdUJBQXVCLENBQUMsU0FBaUI7UUFDckQsMENBQTBDO1FBQzFDLE1BQU0saUJBQWlCLEdBQUc7WUFDeEIsT0FBTyxFQUFFLENBQUM7WUFDVixNQUFNLEVBQUU7Z0JBQ047b0JBQ0UsR0FBRyxFQUFFLDBEQUEwRDtvQkFDL0QsSUFBSSxFQUFFLDBDQUEwQztpQkFDakQ7YUFDRjtTQUNGLENBQUM7UUFFRixNQUFNLFNBQVMsQ0FDYixJQUFJLENBQUMsU0FBUyxFQUFFLGFBQWEsQ0FBQyxFQUM5QixJQUFJLENBQUMsU0FBUyxDQUFDLGlCQUFpQixFQUFFLElBQUksRUFBRSxDQUFDLENBQUMsQ0FDM0MsQ0FBQztRQUVGLE9BQU8sQ0FBQyxHQUFHLENBQUMsK0JBQStCLFNBQVMsRUFBRSxDQUFDLENBQUM7UUFDeEQsT0FBTyxDQUFDLEdBQUcsQ0FBQyw4REFBOEQsQ0FBQyxDQUFDO1FBQzVFLE9BQU8sQ0FBQyxHQUFHLENBQ1Qsd0VBQXdFLENBQ3pFLENBQUM7SUFDSixDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBjb3B5RmlsZSwgbWtkaXIsIHdyaXRlRmlsZSB9IGZyb20gJ25vZGU6ZnMvcHJvbWlzZXMnO1xuaW1wb3J0IHsgam9pbiwgcmVzb2x2ZSB9IGZyb20gJ25vZGU6cGF0aCc7XG5pbXBvcnQgeyBCYXNlQnVpbGRlciB9IGZyb20gJy4vYmFzZS1idWlsZGVyLmpzJztcbmltcG9ydCB7IFdPUktGTE9XX1FVRVVFX1RSSUdHRVIgfSBmcm9tICcuL2NvbnN0YW50cy5qcyc7XG5cbmV4cG9ydCBjbGFzcyBWZXJjZWxCdWlsZE91dHB1dEFQSUJ1aWxkZXIgZXh0ZW5kcyBCYXNlQnVpbGRlciB7XG4gIGFzeW5jIGJ1aWxkKCk6IFByb21pc2U8dm9pZD4ge1xuICAgIGNvbnN0IG91dHB1dERpciA9IHJlc29sdmUodGhpcy5jb25maWcud29ya2luZ0RpciwgJy52ZXJjZWwvb3V0cHV0Jyk7XG4gICAgY29uc3QgZnVuY3Rpb25zRGlyID0gam9pbihvdXRwdXREaXIsICdmdW5jdGlvbnMnKTtcbiAgICBjb25zdCB3b3JrZmxvd0dlbmVyYXRlZERpciA9IGpvaW4oZnVuY3Rpb25zRGlyLCAnLndlbGwta25vd24vd29ya2Zsb3cvdjEnKTtcblxuICAgIC8vIEVuc3VyZSBvdXRwdXQgZGlyZWN0b3JpZXMgZXhpc3RcbiAgICBhd2FpdCBta2Rpcih3b3JrZmxvd0dlbmVyYXRlZERpciwgeyByZWN1cnNpdmU6IHRydWUgfSk7XG5cbiAgICBjb25zdCBpbnB1dEZpbGVzID0gYXdhaXQgdGhpcy5nZXRJbnB1dEZpbGVzKCk7XG4gICAgY29uc3QgdHNjb25maWdQYXRoID0gYXdhaXQgdGhpcy5maW5kVHNDb25maWdQYXRoKCk7XG4gICAgLy8gQ3JlYXRlIGNvbWJpbmVkIGJ1bmRsZSBpbiBmbG93LmZ1bmMvXG4gICAgY29uc29sZS5sb2coJ0NyZWF0aW5nIFZlcmNlbCBCdWlsZCBPdXRwdXQgQVBJIGNvbWJpbmVkIGZ1bmN0aW9uJyk7XG4gICAgY29uc3Qgd29ya2Zsb3dzRnVuY0RpciA9IGpvaW4od29ya2Zsb3dHZW5lcmF0ZWREaXIsICdmbG93LmZ1bmMnKTtcbiAgICBhd2FpdCBta2Rpcih3b3JrZmxvd3NGdW5jRGlyLCB7IHJlY3Vyc2l2ZTogdHJ1ZSB9KTtcblxuICAgIGNvbnN0IHsgbWFuaWZlc3QgfSA9IGF3YWl0IHRoaXMuY3JlYXRlQ29tYmluZWRCdW5kbGUoe1xuICAgICAgaW5wdXRGaWxlcyxcbiAgICAgIHN0ZXBzT3V0ZmlsZTogam9pbih3b3JrZmxvd3NGdW5jRGlyLCAnX19zdGVwX3JlZ2lzdHJhdGlvbnMubWpzJyksXG4gICAgICBmbG93T3V0ZmlsZTogam9pbih3b3JrZmxvd3NGdW5jRGlyLCAnaW5kZXgubWpzJyksXG4gICAgICB0c2NvbmZpZ1BhdGgsXG4gICAgICBidW5kbGVGaW5hbE91dHB1dDogdHJ1ZSxcbiAgICB9KTtcblxuICAgIC8vIENyZWF0ZSBwYWNrYWdlLmpzb24gYW5kIC52Yy1jb25maWcuanNvbiBmb3IgY29tYmluZWQgZnVuY3Rpb25cbiAgICBhd2FpdCB0aGlzLmNyZWF0ZVBhY2thZ2VKc29uKHdvcmtmbG93c0Z1bmNEaXIsICdtb2R1bGUnKTtcbiAgICBhd2FpdCB0aGlzLmNyZWF0ZVZjQ29uZmlnKHdvcmtmbG93c0Z1bmNEaXIsIHtcbiAgICAgIGhhbmRsZXI6ICdpbmRleC5tanMnLFxuICAgICAgLy8gU2tpcCB0aGUgc291cmNlLW1hcC1zdXBwb3J0IHJ1bnRpbWUgc2hpbSB3aGVuIHNvdXJjZW1hcHMgYXJlXG4gICAgICAvLyBkaXNhYmxlZCDigJQgaXQncyBhIG1lYW5pbmdmdWwgY2h1bmsgb2YgdGhlIGZ1bmN0aW9uIGJ1bmRsZSBhbmRcbiAgICAgIC8vIHNlcnZlcyBubyBwdXJwb3NlIHdpdGhvdXQgbWFwcy5cbiAgICAgIHNob3VsZEFkZFNvdXJjZW1hcFN1cHBvcnQ6IHRoaXMuc291cmNlbWFwc0VuYWJsZWQsXG4gICAgICBtYXhEdXJhdGlvbjogJ21heCcsXG4gICAgICBleHBlcmltZW50YWxUcmlnZ2VyczogW1dPUktGTE9XX1FVRVVFX1RSSUdHRVJdLFxuICAgICAgcnVudGltZTogdGhpcy5jb25maWcucnVudGltZSxcbiAgICB9KTtcblxuICAgIGF3YWl0IHRoaXMuYnVpbGRXZWJob29rRnVuY3Rpb24oeyB3b3JrZmxvd0dlbmVyYXRlZERpciB9KTtcbiAgICBhd2FpdCB0aGlzLmNyZWF0ZUJ1aWxkT3V0cHV0Q29uZmlnKG91dHB1dERpcik7XG5cbiAgICAvLyBHZW5lcmF0ZSB1bmlmaWVkIG1hbmlmZXN0XG4gICAgY29uc3Qgd29ya2Zsb3dCdW5kbGVQYXRoID0gam9pbihcbiAgICAgIHdvcmtmbG93R2VuZXJhdGVkRGlyLFxuICAgICAgJ2Zsb3cuZnVuYy9pbmRleC5tanMnXG4gICAgKTtcbiAgICBjb25zdCBtYW5pZmVzdEpzb24gPSBhd2FpdCB0aGlzLmNyZWF0ZU1hbmlmZXN0KHtcbiAgICAgIHdvcmtmbG93QnVuZGxlUGF0aCxcbiAgICAgIG1hbmlmZXN0RGlyOiB3b3JrZmxvd0dlbmVyYXRlZERpcixcbiAgICAgIG1hbmlmZXN0LFxuICAgIH0pO1xuXG4gICAgLy8gRXhwb3NlIG1hbmlmZXN0IGFzIGEgc3RhdGljIGZpbGUgd2hlbiBXT1JLRkxPV19QVUJMSUNfTUFOSUZFU1Q9MS5cbiAgICAvLyBWZXJjZWwgQnVpbGQgT3V0cHV0IEFQSSBzZXJ2ZXMgc3RhdGljIGZpbGVzIGZyb20gLnZlcmNlbC9vdXRwdXQvc3RhdGljL1xuICAgIGlmICh0aGlzLnNob3VsZEV4cG9zZVB1YmxpY01hbmlmZXN0ICYmIG1hbmlmZXN0SnNvbikge1xuICAgICAgY29uc3Qgc3RhdGljTWFuaWZlc3REaXIgPSBqb2luKFxuICAgICAgICBvdXRwdXREaXIsXG4gICAgICAgICdzdGF0aWMvLndlbGwta25vd24vd29ya2Zsb3cvdjEnXG4gICAgICApO1xuICAgICAgYXdhaXQgbWtkaXIoc3RhdGljTWFuaWZlc3REaXIsIHsgcmVjdXJzaXZlOiB0cnVlIH0pO1xuICAgICAgaWYgKHByb2Nlc3MuZW52LlZFUkNFTF9ERVBMT1lNRU5UX0lEID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgYXdhaXQgd3JpdGVGaWxlKGpvaW4oc3RhdGljTWFuaWZlc3REaXIsICcuZ2l0aWdub3JlJyksICcqJyk7XG4gICAgICB9XG4gICAgICBhd2FpdCBjb3B5RmlsZShcbiAgICAgICAgam9pbih3b3JrZmxvd0dlbmVyYXRlZERpciwgJ21hbmlmZXN0Lmpzb24nKSxcbiAgICAgICAgam9pbihzdGF0aWNNYW5pZmVzdERpciwgJ21hbmlmZXN0Lmpzb24nKVxuICAgICAgKTtcbiAgICB9XG5cbiAgICBhd2FpdCB0aGlzLmNyZWF0ZUNsaWVudExpYnJhcnkoKTtcbiAgfVxuXG4gIHByaXZhdGUgYXN5bmMgYnVpbGRXZWJob29rRnVuY3Rpb24oe1xuICAgIHdvcmtmbG93R2VuZXJhdGVkRGlyLFxuICAgIGJ1bmRsZSA9IHRydWUsXG4gIH06IHtcbiAgICB3b3JrZmxvd0dlbmVyYXRlZERpcjogc3RyaW5nO1xuICAgIGJ1bmRsZT86IGJvb2xlYW47XG4gIH0pOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBjb25zb2xlLmxvZygnQ3JlYXRpbmcgVmVyY2VsIEJ1aWxkIE91dHB1dCBBUEkgd2ViaG9vayBmdW5jdGlvbicpO1xuICAgIGNvbnN0IHdlYmhvb2tGdW5jRGlyID0gam9pbih3b3JrZmxvd0dlbmVyYXRlZERpciwgJ3dlYmhvb2svW3Rva2VuXS5mdW5jJyk7XG5cbiAgICAvLyBCdW5kbGUgdGhlIHdlYmhvb2sgcm91dGUgd2l0aCBkZXBlbmRlbmNpZXMgcmVzb2x2ZWRcbiAgICBhd2FpdCB0aGlzLmNyZWF0ZVdlYmhvb2tCdW5kbGUoe1xuICAgICAgb3V0ZmlsZTogam9pbih3ZWJob29rRnVuY0RpciwgJ2luZGV4Lm1qcycpLFxuICAgICAgYnVuZGxlLCAvLyBCdWlsZCBPdXRwdXQgQVBJIG5lZWRzIGJ1bmRsaW5nIChleGNlcHQgaW4gdGVzdHMpXG4gICAgfSk7XG5cbiAgICAvLyBDcmVhdGUgcGFja2FnZS5qc29uIGFuZCAudmMtY29uZmlnLmpzb24gZm9yIHdlYmhvb2sgZnVuY3Rpb25cbiAgICBhd2FpdCB0aGlzLmNyZWF0ZVBhY2thZ2VKc29uKHdlYmhvb2tGdW5jRGlyLCAnbW9kdWxlJyk7XG4gICAgYXdhaXQgdGhpcy5jcmVhdGVWY0NvbmZpZyh3ZWJob29rRnVuY0Rpciwge1xuICAgICAgaGFuZGxlcjogJ2luZGV4Lm1qcycsXG4gICAgICBzaG91bGRBZGRIZWxwZXJzOiBmYWxzZSxcbiAgICAgIHJ1bnRpbWU6IHRoaXMuY29uZmlnLnJ1bnRpbWUsXG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIGFzeW5jIGNyZWF0ZUJ1aWxkT3V0cHV0Q29uZmlnKG91dHB1dERpcjogc3RyaW5nKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgLy8gQ3JlYXRlIGNvbmZpZy5qc29uIGZvciBCdWlsZCBPdXRwdXQgQVBJXG4gICAgY29uc3QgYnVpbGRPdXRwdXRDb25maWcgPSB7XG4gICAgICB2ZXJzaW9uOiAzLFxuICAgICAgcm91dGVzOiBbXG4gICAgICAgIHtcbiAgICAgICAgICBzcmM6ICdeXFxcXC9cXFxcLndlbGwta25vd25cXFxcL3dvcmtmbG93XFxcXC92MVxcXFwvd2ViaG9va1xcXFwvKFteXFxcXC9dKykkJyxcbiAgICAgICAgICBkZXN0OiAnLy53ZWxsLWtub3duL3dvcmtmbG93L3YxL3dlYmhvb2svW3Rva2VuXScsXG4gICAgICAgIH0sXG4gICAgICBdLFxuICAgIH07XG5cbiAgICBhd2FpdCB3cml0ZUZpbGUoXG4gICAgICBqb2luKG91dHB1dERpciwgJ2NvbmZpZy5qc29uJyksXG4gICAgICBKU09OLnN0cmluZ2lmeShidWlsZE91dHB1dENvbmZpZywgbnVsbCwgMilcbiAgICApO1xuXG4gICAgY29uc29sZS5sb2coYEJ1aWxkIE91dHB1dCBBUEkgY3JlYXRlZCBhdCAke291dHB1dERpcn1gKTtcbiAgICBjb25zb2xlLmxvZygnQ29tYmluZWQgZnVuY3Rpb24gYXZhaWxhYmxlIGF0IC8ud2VsbC1rbm93bi93b3JrZmxvdy92MS9mbG93Jyk7XG4gICAgY29uc29sZS5sb2coXG4gICAgICAnV2ViaG9vayBmdW5jdGlvbiBhdmFpbGFibGUgYXQgLy53ZWxsLWtub3duL3dvcmtmbG93L3YxL3dlYmhvb2svW3Rva2VuXSdcbiAgICApO1xuICB9XG59XG4iXX0=
|
package/dist/workflow-alias.js
CHANGED
|
@@ -62,4 +62,4 @@ export async function resolveWorkflowAliasRelativePath(absoluteFilePath, working
|
|
|
62
62
|
workflowAliasResolutionCache.set(cacheKey, resolutionPromise);
|
|
63
63
|
return resolutionPromise;
|
|
64
64
|
}
|
|
65
|
-
//# sourceMappingURL=
|
|
65
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid29ya2Zsb3ctYWxpYXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvd29ya2Zsb3ctYWxpYXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxRQUFRLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUNwRCxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBRXBDLE1BQU0sNEJBQTRCLEdBQUcsSUFBSSxHQUFHLEVBR3pDLENBQUM7QUFFSixNQUFNLG9CQUFvQixHQUFHO0lBQzNCLGVBQWU7SUFDZixXQUFXO0lBQ1gsU0FBUztJQUNULEtBQUs7SUFDTCxXQUFXO0lBQ1gsT0FBTztDQUNDLENBQUM7QUFFWCxTQUFTLDhCQUE4QixDQUNyQyxzQkFBOEI7SUFFOUIsTUFBTSxVQUFVLEdBQUcsSUFBSSxHQUFHLEVBQVUsQ0FBQztJQUNyQyxLQUFLLE1BQU0sU0FBUyxJQUFJLG9CQUFvQixFQUFFLENBQUM7UUFDN0MsTUFBTSxNQUFNLEdBQUcsSUFBSSxTQUFTLEdBQUcsQ0FBQztRQUNoQyxNQUFNLFdBQVcsR0FBRyxzQkFBc0IsQ0FBQyxXQUFXLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDL0QsSUFBSSxXQUFXLEtBQUssQ0FBQyxDQUFDLEVBQUUsQ0FBQztZQUN2QixTQUFTO1FBQ1gsQ0FBQztRQUNELFVBQVUsQ0FBQyxHQUFHLENBQUMsc0JBQXNCLENBQUMsS0FBSyxDQUFDLFdBQVcsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ2hFLENBQUM7SUFDRCxPQUFPLEtBQUssQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7QUFDaEMsQ0FBQztBQUVELE1BQU0sVUFBVSxpQ0FBaUM7SUFDL0MsNEJBQTRCLENBQUMsS0FBSyxFQUFFLENBQUM7QUFDdkMsQ0FBQztBQUVELE1BQU0sQ0FBQyxLQUFLLFVBQVUsZ0NBQWdDLENBQ3BELGdCQUF3QixFQUN4QixVQUFrQjtJQUVsQixNQUFNLHNCQUFzQixHQUFHLGdCQUFnQixDQUFDLE9BQU8sQ0FBQyxLQUFLLEVBQUUsR0FBRyxDQUFDLENBQUM7SUFFcEUsTUFBTSxRQUFRLEdBQUcsR0FBRyxVQUFVLEtBQUssc0JBQXNCLEVBQUUsQ0FBQztJQUM1RCxNQUFNLE1BQU0sR0FBRyw0QkFBNEIsQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDMUQsSUFBSSxNQUFNLEVBQUUsQ0FBQztRQUNYLE9BQU8sTUFBTSxDQUFDO0lBQ2hCLENBQUM7SUFFRCxNQUFNLGlCQUFpQixHQUFHLENBQUMsS0FBSyxJQUFJLEVBQUU7UUFDcEMsTUFBTSxnQkFBZ0IsR0FBRyxNQUFNLFFBQVEsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLEtBQUssQ0FDN0QsR0FBRyxFQUFFLENBQUMsU0FBUyxDQUNoQixDQUFDO1FBQ0YsSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUM7WUFDdEIsT0FBTyxTQUFTLENBQUM7UUFDbkIsQ0FBQztRQUNELE1BQU0sMEJBQTBCLEdBQUcsZ0JBQWdCLENBQUMsT0FBTyxDQUFDLEtBQUssRUFBRSxHQUFHLENBQUMsQ0FBQztRQUN4RSxNQUFNLGVBQWUsR0FBRyw4QkFBOEIsQ0FDcEQsc0JBQXNCLENBQ3ZCLENBQUM7UUFDRixJQUFJLGVBQWUsQ0FBQyxNQUFNLEtBQUssQ0FBQyxFQUFFLENBQUM7WUFDakMsT0FBTyxTQUFTLENBQUM7UUFDbkIsQ0FBQztRQUVELEtBQUssTUFBTSxpQkFBaUIsSUFBSSxlQUFlLEVBQUUsQ0FBQztZQUNoRCxNQUFNLGFBQWEsR0FBRyxPQUFPLENBQUMsVUFBVSxFQUFFLGlCQUFpQixDQUFDLENBQUM7WUFDN0QsSUFBSSxDQUFDO2dCQUNILE1BQU0sTUFBTSxDQUFDLGFBQWEsQ0FBQyxDQUFDO1lBQzlCLENBQUM7WUFBQyxNQUFNLENBQUM7Z0JBQ1AsU0FBUztZQUNYLENBQUM7WUFDRCxNQUFNLHFCQUFxQixHQUFHLE1BQU0sUUFBUSxDQUFDLGFBQWEsQ0FBQyxDQUFDLEtBQUssQ0FDL0QsR0FBRyxFQUFFLENBQUMsU0FBUyxDQUNoQixDQUFDO1lBQ0YsSUFBSSxDQUFDLHFCQUFxQixFQUFFLENBQUM7Z0JBQzNCLFNBQVM7WUFDWCxDQUFDO1lBQ0QsSUFDRSxxQkFBcUIsQ0FBQyxPQUFPLENBQUMsS0FBSyxFQUFFLEdBQUcsQ0FBQyxLQUFLLDBCQUEwQixFQUN4RSxDQUFDO2dCQUNELE9BQU8saUJBQWlCLENBQUM7WUFDM0IsQ0FBQztRQUNILENBQUM7UUFDRCxPQUFPLFNBQVMsQ0FBQztJQUNuQixDQUFDLENBQUMsRUFBRSxDQUFDO0lBRUwsNEJBQTRCLENBQUMsR0FBRyxDQUFDLFFBQVEsRUFBRSxpQkFBaUIsQ0FBQyxDQUFDO0lBQzlELE9BQU8saUJBQWlCLENBQUM7QUFDM0IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGFjY2VzcywgcmVhbHBhdGggfSBmcm9tICdub2RlOmZzL3Byb21pc2VzJztcbmltcG9ydCB7IHJlc29sdmUgfSBmcm9tICdub2RlOnBhdGgnO1xuXG5jb25zdCB3b3JrZmxvd0FsaWFzUmVzb2x1dGlvbkNhY2hlID0gbmV3IE1hcDxcbiAgc3RyaW5nLFxuICBQcm9taXNlPHN0cmluZyB8IHVuZGVmaW5lZD5cbj4oKTtcblxuY29uc3QgV09SS0ZMT1dfQUxJQVNfUk9PVFMgPSBbXG4gICdzcmMvd29ya2Zsb3dzJyxcbiAgJ3dvcmtmbG93cycsXG4gICdzcmMvYXBwJyxcbiAgJ2FwcCcsXG4gICdzcmMvcGFnZXMnLFxuICAncGFnZXMnLFxuXSBhcyBjb25zdDtcblxuZnVuY3Rpb24gZ2V0QWxpYXNSZWxhdGl2ZVBhdGhDYW5kaWRhdGVzKFxuICBub3JtYWxpemVkQWJzb2x1dGVQYXRoOiBzdHJpbmdcbik6IHN0cmluZ1tdIHtcbiAgY29uc3QgY2FuZGlkYXRlcyA9IG5ldyBTZXQ8c3RyaW5nPigpO1xuICBmb3IgKGNvbnN0IGFsaWFzUm9vdCBvZiBXT1JLRkxPV19BTElBU19ST09UUykge1xuICAgIGNvbnN0IG1hcmtlciA9IGAvJHthbGlhc1Jvb3R9L2A7XG4gICAgY29uc3QgbWFya2VySW5kZXggPSBub3JtYWxpemVkQWJzb2x1dGVQYXRoLmxhc3RJbmRleE9mKG1hcmtlcik7XG4gICAgaWYgKG1hcmtlckluZGV4ID09PSAtMSkge1xuICAgICAgY29udGludWU7XG4gICAgfVxuICAgIGNhbmRpZGF0ZXMuYWRkKG5vcm1hbGl6ZWRBYnNvbHV0ZVBhdGguc2xpY2UobWFya2VySW5kZXggKyAxKSk7XG4gIH1cbiAgcmV0dXJuIEFycmF5LmZyb20oY2FuZGlkYXRlcyk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBjbGVhcldvcmtmbG93QWxpYXNSZXNvbHV0aW9uQ2FjaGUoKTogdm9pZCB7XG4gIHdvcmtmbG93QWxpYXNSZXNvbHV0aW9uQ2FjaGUuY2xlYXIoKTtcbn1cblxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIHJlc29sdmVXb3JrZmxvd0FsaWFzUmVsYXRpdmVQYXRoKFxuICBhYnNvbHV0ZUZpbGVQYXRoOiBzdHJpbmcsXG4gIHdvcmtpbmdEaXI6IHN0cmluZ1xuKTogUHJvbWlzZTxzdHJpbmcgfCB1bmRlZmluZWQ+IHtcbiAgY29uc3Qgbm9ybWFsaXplZEFic29sdXRlUGF0aCA9IGFic29sdXRlRmlsZVBhdGgucmVwbGFjZSgvXFxcXC9nLCAnLycpO1xuXG4gIGNvbnN0IGNhY2hlS2V5ID0gYCR7d29ya2luZ0Rpcn06OiR7bm9ybWFsaXplZEFic29sdXRlUGF0aH1gO1xuICBjb25zdCBjYWNoZWQgPSB3b3JrZmxvd0FsaWFzUmVzb2x1dGlvbkNhY2hlLmdldChjYWNoZUtleSk7XG4gIGlmIChjYWNoZWQpIHtcbiAgICByZXR1cm4gY2FjaGVkO1xuICB9XG5cbiAgY29uc3QgcmVzb2x1dGlvblByb21pc2UgPSAoYXN5bmMgKCkgPT4ge1xuICAgIGNvbnN0IHJlc29sdmVkRmlsZVBhdGggPSBhd2FpdCByZWFscGF0aChhYnNvbHV0ZUZpbGVQYXRoKS5jYXRjaChcbiAgICAgICgpID0+IHVuZGVmaW5lZFxuICAgICk7XG4gICAgaWYgKCFyZXNvbHZlZEZpbGVQYXRoKSB7XG4gICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgIH1cbiAgICBjb25zdCBub3JtYWxpemVkUmVzb2x2ZWRGaWxlUGF0aCA9IHJlc29sdmVkRmlsZVBhdGgucmVwbGFjZSgvXFxcXC9nLCAnLycpO1xuICAgIGNvbnN0IGFsaWFzQ2FuZGlkYXRlcyA9IGdldEFsaWFzUmVsYXRpdmVQYXRoQ2FuZGlkYXRlcyhcbiAgICAgIG5vcm1hbGl6ZWRBYnNvbHV0ZVBhdGhcbiAgICApO1xuICAgIGlmIChhbGlhc0NhbmRpZGF0ZXMubGVuZ3RoID09PSAwKSB7XG4gICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgIH1cblxuICAgIGZvciAoY29uc3QgYWxpYXNSZWxhdGl2ZVBhdGggb2YgYWxpYXNDYW5kaWRhdGVzKSB7XG4gICAgICBjb25zdCBjYW5kaWRhdGVQYXRoID0gcmVzb2x2ZSh3b3JraW5nRGlyLCBhbGlhc1JlbGF0aXZlUGF0aCk7XG4gICAgICB0cnkge1xuICAgICAgICBhd2FpdCBhY2Nlc3MoY2FuZGlkYXRlUGF0aCk7XG4gICAgICB9IGNhdGNoIHtcbiAgICAgICAgY29udGludWU7XG4gICAgICB9XG4gICAgICBjb25zdCByZXNvbHZlZENhbmRpZGF0ZVBhdGggPSBhd2FpdCByZWFscGF0aChjYW5kaWRhdGVQYXRoKS5jYXRjaChcbiAgICAgICAgKCkgPT4gdW5kZWZpbmVkXG4gICAgICApO1xuICAgICAgaWYgKCFyZXNvbHZlZENhbmRpZGF0ZVBhdGgpIHtcbiAgICAgICAgY29udGludWU7XG4gICAgICB9XG4gICAgICBpZiAoXG4gICAgICAgIHJlc29sdmVkQ2FuZGlkYXRlUGF0aC5yZXBsYWNlKC9cXFxcL2csICcvJykgPT09IG5vcm1hbGl6ZWRSZXNvbHZlZEZpbGVQYXRoXG4gICAgICApIHtcbiAgICAgICAgcmV0dXJuIGFsaWFzUmVsYXRpdmVQYXRoO1xuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gdW5kZWZpbmVkO1xuICB9KSgpO1xuXG4gIHdvcmtmbG93QWxpYXNSZXNvbHV0aW9uQ2FjaGUuc2V0KGNhY2hlS2V5LCByZXNvbHV0aW9uUHJvbWlzZSk7XG4gIHJldHVybiByZXNvbHV0aW9uUHJvbWlzZTtcbn1cbiJdfQ==
|
|
@@ -50,4 +50,4 @@ describe('resolveWorkflowAliasRelativePath', () => {
|
|
|
50
50
|
await expect(resolveWorkflowAliasRelativePath(externalFilePath, workingDir)).resolves.toBe('app/.well-known/agent/v1/steps.ts');
|
|
51
51
|
});
|
|
52
52
|
});
|
|
53
|
-
//# sourceMappingURL=
|
|
53
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid29ya2Zsb3ctYWxpYXMudGVzdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy93b3JrZmxvdy1hbGlhcy50ZXN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxXQUFXLEVBQ1gsU0FBUyxFQUNULE1BQU0sRUFDTixXQUFXLEVBQ1gsYUFBYSxHQUNkLE1BQU0sU0FBUyxDQUFDO0FBQ2pCLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxTQUFTLENBQUM7QUFDakMsT0FBTyxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFDMUMsT0FBTyxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFFLE1BQU0sRUFBRSxFQUFFLEVBQUUsTUFBTSxRQUFRLENBQUM7QUFDckUsT0FBTyxFQUNMLGlDQUFpQyxFQUNqQyxnQ0FBZ0MsR0FDakMsTUFBTSxxQkFBcUIsQ0FBQztBQUU3QixTQUFTLFNBQVMsQ0FBQyxJQUFZO0lBQzdCLFNBQVMsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEVBQUUsRUFBRSxTQUFTLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQztJQUM5QyxhQUFhLENBQUMsSUFBSSxFQUFFLG1CQUFtQixFQUFFLE9BQU8sQ0FBQyxDQUFDO0FBQ3BELENBQUM7QUFFRCxRQUFRLENBQUMsa0NBQWtDLEVBQUUsR0FBRyxFQUFFO0lBQ2hELElBQUksUUFBZ0IsQ0FBQztJQUNyQixJQUFJLFVBQWtCLENBQUM7SUFFdkIsVUFBVSxDQUFDLEdBQUcsRUFBRTtRQUNkLGlDQUFpQyxFQUFFLENBQUM7UUFDcEMsUUFBUSxHQUFHLFdBQVcsQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLEVBQUUsaUJBQWlCLENBQUMsQ0FBQyxDQUFDO1FBQzFELFVBQVUsR0FBRyxJQUFJLENBQUMsUUFBUSxFQUFFLFNBQVMsQ0FBQyxDQUFDO1FBQ3ZDLFNBQVMsQ0FBQyxVQUFVLEVBQUUsRUFBRSxTQUFTLEVBQUUs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LENBQUM7SUFDdkQsQ0FBQyxDQUFDLENBQUM7QUFDTCxDQUFDLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIG1rZHRlbXBTeW5jLFxuICBta2RpclN5bmMsXG4gIHJtU3luYyxcbiAgc3ltbGlua1N5bmMsXG4gIHdyaXRlRmlsZVN5bmMsXG59IGZyb20gJ25vZGU6ZnMnO1xuaW1wb3J0IHsgdG1wZGlyIH0gZnJvbSAnbm9kZTpvcyc7XG5pbXBvcnQgeyBkaXJuYW1lLCBqb2luIH0gZnJvbSAnbm9kZTpwYXRoJztcbmltcG9ydCB7IGFmdGVyRWFjaCwgYmVmb3JlRWFjaCwgZGVzY3JpYmUsIGV4cGVjdCwgaXQgfSBmcm9tICd2aXRlc3QnO1xuaW1wb3J0IHtcbiAgY2xlYXJXb3JrZmxvd0FsaWFzUmVzb2x1dGlvbkNhY2hlLFxuICByZXNvbHZlV29ya2Zsb3dBbGlhc1JlbGF0aXZlUGF0aCxcbn0gZnJvbSAnLi93b3JrZmxvdy1hbGlhcy5qcyc7XG5cbmZ1bmN0aW9uIHdyaXRlRmlsZShwYXRoOiBzdHJpbmcpOiB2b2lkIHtcbiAgbWtkaXJTeW5jKGRpcm5hbWUocGF0aCksIHsgcmVjdXJzaXZlOiB0cnVlIH0pO1xuICB3cml0ZUZpbGVTeW5jKHBhdGgsIFwiJ3VzZSB3b3JrZmxvdyc7XFxuXCIsICd1dGYtOCcpO1xufVxuXG5kZXNjcmliZSgncmVzb2x2ZVdvcmtmbG93QWxpYXNSZWxhdGl2ZVBhdGgnLCAoKSA9PiB7XG4gIGxldCB0ZXN0Um9vdDogc3RyaW5nO1xuICBsZXQgd29ya2luZ0Rpcjogc3RyaW5nO1xuXG4gIGJlZm9yZUVhY2goKCkgPT4ge1xuICAgIGNsZWFyV29ya2Zsb3dBbGlhc1Jlc29sdXRpb25DYWNoZSgpO1xuICAgIHRlc3RSb290ID0gbWtkdGVtcFN5bmMoam9pbih0bXBkaXIoKSwgJ3dvcmtmbG93LWFsaWFzLScpKTtcbiAgICB3b3JraW5nRGlyID0gam9pbih0ZXN0Um9vdCwgJ3Byb2plY3QnKTtcbiAgICBta2RpclN5bmMod29ya2luZ0RpciwgeyByZWN1cnNpdmU6IHRydWUgfSk7XG4gIH0pO1xuXG4gIGFmdGVyRWFjaCgoKSA9PiB7XG4gICAgY2xlYXJXb3JrZmxvd0FsaWFzUmVzb2x1dGlvbkNhY2hlKCk7XG4gICAgcm1TeW5jKHRlc3RSb290LCB7IHJlY3Vyc2l2ZTogdHJ1ZSwgZm9yY2U6IHRydWUgfSk7XG4gIH0pO1xuXG4gIGl0KCdtYXBzIGZpbGVzIGluIHdvcmtmbG93cy8gdG8gd29ya2Zsb3dzLyogYWxpYXNlcycsIGFzeW5jICgpID0+IHtcbiAgICBjb25zdCBmaWxlUGF0aCA9IGpvaW4od29ya2luZ0RpciwgJ3dvcmtmbG93cycsICdmb28udHMnKTtcbiAgICB3cml0ZUZpbGUoZmlsZVBhdGgpO1xuXG4gICAgYXdhaXQgZXhwZWN0KFxuICAgICAgcmVzb2x2ZVdvcmtmbG93QWxpYXNSZWxhdGl2ZVBhdGgoZmlsZVBhdGgsIHdvcmtpbmdEaXIpXG4gICAgKS5yZXNvbHZlcy50b0JlKCd3b3JrZmxvd3MvZm9vLnRzJyk7XG4gIH0pO1xuXG4gIGl0KCdtYXBzIGZpbGVzIGluIHNyYy93b3JrZmxvd3MvIHRvIHNyYy93b3JrZmxvd3MvKiBhbGlhc2VzJywgYXN5bmMgKCkgPT4ge1xuICAgIGNvbnN0IGZpbGVQYXRoID0gam9pbih3b3JraW5nRGlyLCAnc3JjJywgJ3dvcmtmbG93cycsICdmb28udHMnKTtcbiAgICB3cml0ZUZpbGUoZmlsZVBhdGgpO1xuXG4gICAgYXdhaXQgZXhwZWN0KFxuICAgICAgcmVzb2x2ZVdvcmtmbG93QWxpYXNSZWxhdGl2ZVBhdGgoZmlsZVBhdGgsIHdvcmtpbmdEaXIpXG4gICAgKS5yZXNvbHZlcy50b0JlKCdzcmMvd29ya2Zsb3dzL2Zvby50cycpO1xuICB9KTtcblxuICBpdCgncmV0dXJucyB1bmRlZmluZWQgZm9yIGZpbGVzIHRoYXQgYXJlIG5vdCB1bmRlciB3b3JrZmxvd3MgcGF0aHMnLCBhc3luYyAoKSA9PiB7XG4gICAgY29uc3QgZmlsZVBhdGggPSBqb2luKHdvcmtpbmdEaXIsICdsaWInLCAnZm9vLnRzJyk7XG4gICAgd3JpdGVGaWxlKGZpbGVQYXRoKTtcblxuICAgIGF3YWl0IGV4cGVjdChcbiAgICAgIHJlc29sdmVXb3JrZmxvd0FsaWFzUmVsYXRpdmVQYXRoKGZpbGVQYXRoLCB3b3JraW5nRGlyKVxuICAgICkucmVzb2x2ZXMudG9CZVVuZGVmaW5lZCgpO1xuICB9KTtcblxuICBpdCgncmV0dXJucyB1bmRlZmluZWQgd2hlbiBiYXNlbmFtZSBtYXRjaGVzIGJ1dCByZWFscGF0aCBkaWZmZXJzJywgYXN5bmMgKCkgPT4ge1xuICAgIGNvbnN0IHdvcmtmbG93RmlsZVBhdGggPSBqb2luKHdvcmtpbmdEaXIsICd3b3JrZmxvd3MnLCAnZm9vLnRzJyk7XG4gICAgY29uc3QgZXh0ZXJuYWxGaWxlUGF0aCA9IGpvaW4odGVzdFJvb3QsICdleHRlcm5hbCcsICd3b3JrZmxvd3MnLCAnZm9vLnRzJyk7XG4gICAgd3JpdGVGaWxlKHdvcmtmbG93RmlsZVBhdGgpO1xuICAgIHdyaXRlRmlsZShleHRlcm5hbEZpbGVQYXRoKTtcblxuICAgIGF3YWl0IGV4cGVjdChcbiAgICAgIHJlc29sdmVXb3JrZmxvd0FsaWFzUmVsYXRpdmVQYXRoKGV4dGVybmFsRmlsZVBhdGgsIHdvcmtpbmdEaXIpXG4gICAgKS5yZXNvbHZlcy50b0JlVW5kZWZpbmVkKCk7XG4gIH0pO1xuXG4gIGl0KCdtYXBzIHN5bWxpbmtlZCBhcHAgZmlsZXMgdG8gYXBwLyogYWxpYXNlcycsIGFzeW5jICgpID0+IHtcbiAgICBjb25zdCBleHRlcm5hbEFwcERpciA9IGpvaW4odGVzdFJvb3QsICdleHRlcm5hbCcsICdhcHAnKTtcbiAgICBjb25zdCBleHRlcm5hbEZpbGVQYXRoID0gam9pbihcbiAgICAgIGV4dGVybmFsQXBwRGlyLFxuICAgICAgJy53ZWxsLWtub3duJyxcbiAgICAgICdhZ2VudCcsXG4gICAgICAndjEnLFxuICAgICAgJ3N0ZXBzLnRzJ1xuICAgICk7XG4gICAgd3JpdGVGaWxlKGV4dGVybmFsRmlsZVBhdGgpO1xuXG4gICAgc3ltbGlua1N5bmMoXG4gICAgICBleHRlcm5hbEFwcERpcixcbiAgICAgIGpvaW4od29ya2luZ0RpciwgJ2FwcCcpLFxuICAgICAgcHJvY2Vzcy5wbGF0Zm9ybSA9PT0gJ3dpbjMyJyA/ICdqdW5jdGlvbicgOiAnZGlyJ1xuICAgICk7XG5cbiAgICBhd2FpdCBleHBlY3QoXG4gICAgICByZXNvbHZlV29ya2Zsb3dBbGlhc1JlbGF0aXZlUGF0aChleHRlcm5hbEZpbGVQYXRoLCB3b3JraW5nRGlyKVxuICAgICkucmVzb2x2ZXMudG9CZSgnYXBwLy53ZWxsLWtub3duL2FnZW50L3YxL3N0ZXBzLnRzJyk7XG4gIH0pO1xufSk7XG4iXX0=
|