@workflow/builders 5.0.0-beta.26 → 5.0.0-beta.28

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.
Files changed (53) hide show
  1. package/dist/base-builder-logging.test.js +4 -4
  2. package/dist/base-builder.d.ts +16 -3
  3. package/dist/base-builder.d.ts.map +1 -1
  4. package/dist/base-builder.js +111 -35
  5. package/dist/config-helpers.d.ts +2 -0
  6. package/dist/config-helpers.d.ts.map +1 -1
  7. package/dist/config-helpers.js +62 -1
  8. package/dist/config-helpers.test.d.ts +2 -0
  9. package/dist/config-helpers.test.d.ts.map +1 -0
  10. package/dist/config-helpers.test.js +17 -0
  11. package/dist/constants.d.ts +2 -0
  12. package/dist/constants.d.ts.map +1 -1
  13. package/dist/constants.js +10 -1
  14. package/dist/constants.test.js +3 -2
  15. package/dist/discover-entries-esbuild-plugin.d.ts +3 -1
  16. package/dist/discover-entries-esbuild-plugin.d.ts.map +1 -1
  17. package/dist/discover-entries-esbuild-plugin.js +6 -2
  18. package/dist/fast-discovery.d.ts +6 -0
  19. package/dist/fast-discovery.d.ts.map +1 -1
  20. package/dist/fast-discovery.js +116 -5
  21. package/dist/fast-discovery.test.js +36 -1
  22. package/dist/index.d.ts +6 -2
  23. package/dist/index.d.ts.map +1 -1
  24. package/dist/index.js +7 -3
  25. package/dist/node-compat-banner.d.ts +15 -0
  26. package/dist/node-compat-banner.d.ts.map +1 -0
  27. package/dist/node-compat-banner.js +15 -0
  28. package/dist/optional-pg-native-alias.d.ts +2 -0
  29. package/dist/optional-pg-native-alias.d.ts.map +1 -0
  30. package/dist/optional-pg-native-alias.js +3 -0
  31. package/dist/optional-pg-native.d.ts +3 -0
  32. package/dist/optional-pg-native.d.ts.map +1 -0
  33. package/dist/optional-pg-native.js +3 -0
  34. package/dist/optional-typescript-alias.d.ts +2 -0
  35. package/dist/optional-typescript-alias.d.ts.map +1 -0
  36. package/dist/optional-typescript-alias.js +3 -0
  37. package/dist/optional-typescript.d.ts +3 -0
  38. package/dist/optional-typescript.d.ts.map +1 -0
  39. package/dist/optional-typescript.js +9 -0
  40. package/dist/swc-esbuild-plugin.d.ts.map +1 -1
  41. package/dist/swc-esbuild-plugin.js +7 -2
  42. package/dist/types.d.ts +1 -0
  43. package/dist/types.d.ts.map +1 -1
  44. package/dist/types.js +1 -1
  45. package/dist/workflows-extractor.js +2 -2
  46. package/dist/workflows-extractor.test.js +31 -1
  47. package/dist/world-target.d.ts +20 -0
  48. package/dist/world-target.d.ts.map +1 -0
  49. package/dist/world-target.js +74 -0
  50. package/dist/world-target.test.d.ts +2 -0
  51. package/dist/world-target.test.d.ts.map +1 -0
  52. package/dist/world-target.test.js +106 -0
  53. package/package.json +6 -4
@@ -42,4 +42,6 @@ export declare function createBaseBuilderConfig(options: {
42
42
  runtime?: string;
43
43
  sourcemap?: SourcemapMode;
44
44
  }): Omit<WorkflowConfig, 'buildTarget'>;
45
+ export declare function resolveConfiguredProjectRoot(workingDir: string, configuredRoot: string): string;
46
+ export declare function resolveProjectRoot(workingDir: string): string;
45
47
  //# sourceMappingURL=config-helpers.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"config-helpers.d.ts","sourceRoot":"","sources":["../src/config-helpers.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAEhE,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;IACjB,SAAS,CAAC,EAAE,aAAa,CAAC;CAC3B,GAAG,IAAI,CAAC,cAAc,EAAE,aAAa,CAAC,CAatC"}
1
+ {"version":3,"file":"config-helpers.d.ts","sourceRoot":"","sources":["../src/config-helpers.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAEhE,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;IACjB,SAAS,CAAC,EAAE,aAAa,CAAC;CAC3B,GAAG,IAAI,CAAC,cAAc,EAAE,aAAa,CAAC,CAatC;AA6CD,wBAAgB,4BAA4B,CAC1C,UAAU,EAAE,MAAM,EAClB,cAAc,EAAE,MAAM,GACrB,MAAM,CAIR;AAED,wBAAgB,kBAAkB,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,CAmB7D"}
@@ -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
  /**
@@ -75,4 +77,63 @@ export function createBaseBuilderConfig(options) {
75
77
  sourcemap: options.sourcemap,
76
78
  };
77
79
  }
78
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlnLWhlbHBlcnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvY29uZmlnLWhlbHBlcnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQzVDLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxTQUFTLENBQUM7QUFDakMsT0FBTyxLQUFLLE1BQU0sT0FBTyxDQUFDO0FBYzFCOzs7Ozs7R0FNRztBQUNILE1BQU0sQ0FBQyxLQUFLLFVBQVUsK0JBQStCLENBQ25ELFlBQWdDO0lBRWhDLE1BQU0sY0FBYyxHQUFxQjtRQUN2QyxVQUFVLEVBQUUsS0FBSztRQUNqQixlQUFlLEVBQUUsS0FBSztRQUN0QixpQkFBaUIsRUFBRSxLQUFLO0tBQ3pCLENBQUM7SUFFRixJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7UUFDbEIsT0FBTyxjQUFjLENBQUM7SUFDeEIsQ0FBQztJQUVELElBQUksQ0FBQztRQUNILE1BQU0sT0FBTyxHQUFHLE1BQU0sUUFBUSxDQUFDLFlBQVksRUFBRSxPQUFPLENBQUMsQ0FBQztRQUN0RCxNQUFNLFFBQVEsR0FDWixLQUFLLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ3ZCLE1BQU0sZUFBZSxHQUFHLFFBQVEsQ0FBQyxlQUFlLElBQUksRUFBRSxDQUFDO1FBRXZELHFGQUFxRjtRQUNyRixNQUFNLHNCQUFzQixHQUMxQixlQUFlLENBQUMsc0JBQXNCLEtBQUssSUFBSSxDQUFDO1FBQ2xELE1BQU0scUJBQXFCLEdBQ3pCLGVBQWUsQ0FBQyxxQkFBcUIsS0FBSyxJQUFJLENBQUM7UUFFakQsT0FBTztZQUNMLFVBQVUsRUFBRSxzQkFBc0I7WUFDbEMsZUFBZSxFQUFFLHNCQUFzQjtZQUN2QyxpQkFBaUIsRUFBRSxzQkFBc0IsSUFBSSxxQkFBcUI7U0FDbkUsQ0FBQztJQUNKLENBQUM7SUFBQyxNQUFNLENBQUM7UUFDUCwwREFBMEQ7UUFDMUQsT0FBTyxjQUFjLENBQUM7SUFDeEIsQ0FBQztBQUNILENBQUM7QUFFRDs7Ozs7O0dBTUc7QUFDSCxNQUFNLENBQUMsS0FBSyxVQUFVLCtCQUErQixDQUNuRCxHQUFXO0lBRVgsTUFBTSxFQUFFLE9BQU8sRUFBRSxHQUFHLE1BQU0sNkNBQTZDLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDN0UsT0FBTyxPQUFPLENBQUM7QUFDakIsQ0FBQztBQUVEOzs7R0FHRztBQUNILE1BQU0sQ0FBQyxLQUFLLFVBQVUsNkNBQTZDLENBQ2pFLEdBQVc7SUFFWCxNQUFNLFVBQVUsR0FBRyxNQUFNLE1BQU0sQ0FBQyxDQUFDLGVBQWUsRUFBRSxlQUFlLENBQUMsRUFBRTtRQUNsRSxHQUFHO0tBQ0osQ0FBQyxDQUFDO0lBQ0gsTUFBTSxPQUFPLEdBQUcsTUFBTSwrQkFBK0IsQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUNsRSxPQUFPLEVBQUUsT0FBTyxFQUFFLFVBQVUsRUFBRSxDQUFDO0FBQ2pDLENBQUM7QUFFRDs7O0dBR0c7QUFDSCxNQUFNLFVBQVUsdUJBQXVCLENBQUMsT0FRdkM7SUFDQyxPQUFPO1FBQ0wsSUFBSSxFQUFFLE9BQU8sQ0FBQyxJQUFJLElBQUksQ0FBQyxXQUFXLENBQUM7UUFDbkMsV0FBVyxFQUFFLE9BQU8sQ0FBQyxXQUFXO1FBQ2hDLFVBQVUsRUFBRSxPQUFPLENBQUMsVUFBVTtRQUM5QixLQUFLLEVBQUUsT0FBTyxDQUFDLEtBQUs7UUFDcEIsZUFBZSxFQUFFLEVBQUUsRUFBRSxtQ0FBbUM7UUFDeEQsbUJBQW1CLEVBQUUsRUFBRSxFQUFFLG1DQUFtQztRQUM1RCxpQkFBaUIsRUFBRSxFQUFFLEVBQUUsbUNBQW1DO1FBQzFELGdCQUFnQixFQUFFLE9BQU8sQ0FBQyxnQkFBZ0I7UUFDMUMsT0FBTyxFQUFFLE9BQU8sQ0FBQyxPQUFPO1FBQ3hCLFNBQVMsRUFBRSxPQUFPLENBQUMsU0FBUztLQUM3QixDQUFDO0FBQ0osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHJlYWRGaWxlIH0gZnJvbSAnbm9kZTpmcy9wcm9taXNlcyc7XG5pbXBvcnQgeyBmaW5kVXAgfSBmcm9tICdmaW5kLXVwJztcbmltcG9ydCBKU09ONSBmcm9tICdqc29uNSc7XG5pbXBvcnQgdHlwZSB7IFNvdXJjZW1hcE1vZGUsIFdvcmtmbG93Q29uZmlnIH0gZnJvbSAnLi90eXBlcy5qcyc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgRGVjb3JhdG9yT3B0aW9ucyB7XG4gIGRlY29yYXRvcnM6IGJvb2xlYW47XG4gIGxlZ2FjeURlY29yYXRvcjogYm9vbGVhbjtcbiAgZGVjb3JhdG9yTWV0YWRhdGE6IGJvb2xlYW47XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRGVjb3JhdG9yT3B0aW9uc1dpdGhDb25maWdQYXRoIHtcbiAgb3B0aW9uczogRGVjb3JhdG9yT3B0aW9ucztcbiAgY29uZmlnUGF0aDogc3RyaW5nIHwgdW5kZWZpbmVkO1xufVxuXG4vKipcbiAqIFJlYWRzIHRzY29uZmlnLmpzb24gYW5kIGV4dHJhY3RzIGRlY29yYXRvci1yZWxhdGVkIGNvbXBpbGVyIG9wdGlvbnMuXG4gKiBSZXR1cm5zIGRlY29yYXRvciBvcHRpb25zIGJhc2VkIG9uIGV4cGVyaW1lbnRhbERlY29yYXRvcnMgYW5kIGVtaXREZWNvcmF0b3JNZXRhZGF0YSBzZXR0aW5ncy5cbiAqXG4gKiBAcGFyYW0gdHNjb25maWdQYXRoIC0gUGF0aCB0byB0c2NvbmZpZy5qc29uIG9yIGpzY29uZmlnLmpzb25cbiAqIEByZXR1cm5zIERlY29yYXRvck9wdGlvbnMgd2l0aCBzZXR0aW5ncyBiYXNlZCBvbiB0c2NvbmZpZyBjb21waWxlck9wdGlvbnNcbiAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGdldERlY29yYXRvck9wdGlvbnNGcm9tVHNDb25maWcoXG4gIHRzY29uZmlnUGF0aDogc3RyaW5nIHwgdW5kZWZpbmVkXG4pOiBQcm9taXNlPERlY29yYXRvck9wdGlvbnM+IHtcbiAgY29uc3QgZGVmYXVsdE9wdGlvbnM6IERlY29yYXRvck9wdGlvbnMgPSB7XG4gICAgZGVjb3JhdG9yczogZmFsc2UsXG4gICAgbGVnYWN5RGVjb3JhdG9yOiBmYWxzZSxcbiAgICBkZWNvcmF0b3JNZXRhZGF0YTogZmFsc2UsXG4gIH07XG5cbiAgaWYgKCF0c2NvbmZpZ1BhdGgpIHtcbiAgICByZXR1cm4gZGVmYXVsdE9wdGlvbnM7XG4gIH1cblxuICB0cnkge1xuICAgIGNvbnN0IGNvbnRlbnQgPSBhd2FpdCByZWFkRmlsZSh0c2NvbmZpZ1BhdGgsICd1dGYtOCcpO1xuICAgIGNvbnN0IHRzY29uZmlnOiB7IGNvbXBpbGVyT3B0aW9ucz86IFJlY29yZDxzdHJpbmcsIHVua25vd24+IH0gPVxuICAgICAgSlNPTjUucGFyc2UoY29udGVudCk7XG4gICAgY29uc3QgY29tcGlsZXJPcHRpb25zID0gdHNjb25maWcuY29tcGlsZXJPcHRpb25zIHx8IHt9O1xuXG4gICAgLy8gTWF0Y2ggTmV4dC5qcyBiZWhhdmlvcjogZW5hYmxlIGRlY29yYXRvcnMgb25seSB3aGVuIGV4cGVyaW1lbnRhbERlY29yYXRvcnMgaXMgdHJ1ZVxuICAgIGNvbnN0IGV4cGVyaW1lbnRhbERlY29yYXRvcnMgPVxuICAgICAgY29tcGlsZXJPcHRpb25zLmV4cGVyaW1lbnRhbERlY29yYXRvcnMgPT09IHRydWU7XG4gICAgY29uc3QgZW1pdERlY29yYXRvck1ldGFkYXRhID1cbiAgICAgIGNvbXBpbGVyT3B0aW9ucy5lbWl0RGVjb3JhdG9yTWV0YWRhdGEgPT09IHRydWU7XG5cbiAgICByZXR1cm4ge1xuICAgICAgZGVjb3JhdG9yczogZXhwZXJpbWVudGFsRGVjb3JhdG9ycyxcbiAgICAgIGxlZ2FjeURlY29yYXRvcjogZXhwZXJpbWVudGFsRGVjb3JhdG9ycyxcbiAgICAgIGRlY29yYXRvck1ldGFkYXRhOiBleHBlcmltZW50YWxEZWNvcmF0b3JzICYmIGVtaXREZWNvcmF0b3JNZXRhZGF0YSxcbiAgICB9O1xuICB9IGNhdGNoIHtcbiAgICAvLyBJZiB3ZSBjYW4ndCByZWFkIG9yIHBhcnNlIHRoZSB0c2NvbmZpZywgcmV0dXJuIGRlZmF1bHRzXG4gICAgcmV0dXJuIGRlZmF1bHRPcHRpb25zO1xuICB9XG59XG5cbi8qKlxuICogRmluZHMgdHNjb25maWcuanNvbiBpbiB0aGUgZ2l2ZW4gZGlyZWN0b3J5IChvciBhbmNlc3RvcnMpIGFuZCBleHRyYWN0cyBkZWNvcmF0b3Igb3B0aW9ucy5cbiAqIENvbWJpbmVzIHRzY29uZmlnIGRpc2NvdmVyeSB3aXRoIGRlY29yYXRvciBvcHRpb24gZXh0cmFjdGlvbiBmb3IgY29udmVuaWVuY2UuXG4gKlxuICogQHBhcmFtIGN3ZCAtIERpcmVjdG9yeSB0byBzdGFydCBzZWFyY2hpbmcgZm9yIHRzY29uZmlnLmpzb25cbiAqIEByZXR1cm5zIERlY29yYXRvck9wdGlvbnMgd2l0aCBzZXR0aW5ncyBiYXNlZCBvbiB0c2NvbmZpZyBjb21waWxlck9wdGlvbnNcbiAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGdldERlY29yYXRvck9wdGlvbnNGb3JEaXJlY3RvcnkoXG4gIGN3ZDogc3RyaW5nXG4pOiBQcm9taXNlPERlY29yYXRvck9wdGlvbnM+IHtcbiAgY29uc3QgeyBvcHRpb25zIH0gPSBhd2FpdCBnZXREZWNvcmF0b3JPcHRpb25zRm9yRGlyZWN0b3J5V2l0aENvbmZpZ1BhdGgoY3dkKTtcbiAgcmV0dXJuIG9wdGlvbnM7XG59XG5cbi8qKlxuICogRmluZHMgdHNjb25maWcuanNvbi9qc2NvbmZpZy5qc29uIGluIHRoZSBnaXZlbiBkaXJlY3RvcnkgdHJlZSBhbmQgcmV0dXJuc1xuICogYm90aCBkZWNvcmF0b3Igb3B0aW9ucyBhbmQgdGhlIGNvbmZpZyBwYXRoIHVzZWQgdG8gZGVyaXZlIHRoZW0uXG4gKi9cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBnZXREZWNvcmF0b3JPcHRpb25zRm9yRGlyZWN0b3J5V2l0aENvbmZpZ1BhdGgoXG4gIGN3ZDogc3RyaW5nXG4pOiBQcm9taXNlPERlY29yYXRvck9wdGlvbnNXaXRoQ29uZmlnUGF0aD4ge1xuICBjb25zdCBjb25maWdQYXRoID0gYXdhaXQgZmluZFVwKFsndHNjb25maWcuanNvbicsICdqc2NvbmZpZy5qc29uJ10sIHtcbiAgICBjd2QsXG4gIH0pO1xuICBjb25zdCBvcHRpb25zID0gYXdhaXQgZ2V0RGVjb3JhdG9yT3B0aW9uc0Zyb21Uc0NvbmZpZyhjb25maWdQYXRoKTtcbiAgcmV0dXJuIHsgb3B0aW9ucywgY29uZmlnUGF0aCB9O1xufVxuXG4vKipcbiAqIENyZWF0ZXMgYSBwYXJ0aWFsIGNvbmZpZ3VyYXRpb24gZm9yIGJ1aWxkZXJzIHRoYXQgZG9uJ3QgdXNlIGJ1bmRsZSBwYXRocyBkaXJlY3RseS5cbiAqIFVzZWQgYnkgZnJhbWV3b3JrIGludGVncmF0aW9ucyBsaWtlIE5pdHJvIHdoZXJlIHRoZSBidWlsZGVyIGNvbXB1dGVzIHBhdGhzIGludGVybmFsbHkuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBjcmVhdGVCYXNlQnVpbGRlckNvbmZpZyhvcHRpb25zOiB7XG4gIHdvcmtpbmdEaXI6IHN0cmluZztcbiAgcHJvamVjdFJvb3Q/OiBzdHJpbmc7XG4gIGRpcnM/OiBzdHJpbmdbXTtcbiAgd2F0Y2g/OiBib29sZWFuO1xuICBleHRlcm5hbFBhY2thZ2VzPzogc3RyaW5nW107XG4gIHJ1bnRpbWU/OiBzdHJpbmc7XG4gIHNvdXJjZW1hcD86IFNvdXJjZW1hcE1vZGU7XG59KTogT21pdDxXb3JrZmxvd0NvbmZpZywgJ2J1aWxkVGFyZ2V0Jz4ge1xuICByZXR1cm4ge1xuICAgIGRpcnM6IG9wdGlvbnMuZGlycyA/PyBbJ3dvcmtmbG93cyddLFxuICAgIHByb2plY3RSb290OiBvcHRpb25zLnByb2plY3RSb290LFxuICAgIHdvcmtpbmdEaXI6IG9wdGlvbnMud29ya2luZ0RpcixcbiAgICB3YXRjaDogb3B0aW9ucy53YXRjaCxcbiAgICBzdGVwc0J1bmRsZVBhdGg6ICcnLCAvLyBOb3QgdXNlZCBieSBiYXNlIGJ1aWxkZXIgbWV0aG9kc1xuICAgIHdvcmtmbG93c0J1bmRsZVBhdGg6ICcnLCAvLyBOb3QgdXNlZCBieSBiYXNlIGJ1aWxkZXIgbWV0aG9kc1xuICAgIHdlYmhvb2tCdW5kbGVQYXRoOiAnJywgLy8gTm90IHVzZWQgYnkgYmFzZSBidWlsZGVyIG1ldGhvZHNcbiAgICBleHRlcm5hbFBhY2thZ2VzOiBvcHRpb25zLmV4dGVybmFsUGFja2FnZXMsXG4gICAgcnVudGltZTogb3B0aW9ucy5ydW50aW1lLFxuICAgIHNvdXJjZW1hcDogb3B0aW9ucy5zb3VyY2VtYXAsXG4gIH07XG59XG4iXX0=
80
+ const WORKSPACE_ROOT_FILES = ['pnpm-workspace.yaml'];
81
+ const PROJECT_ROOT_FILES = [
82
+ 'pnpm-lock.yaml',
83
+ 'package-lock.json',
84
+ 'yarn.lock',
85
+ 'bun.lock',
86
+ 'bun.lockb',
87
+ ];
88
+ function fileExists(path) {
89
+ try {
90
+ return statSync(path).isFile();
91
+ }
92
+ catch {
93
+ return false;
94
+ }
95
+ }
96
+ function findRootFile(names, workingDir) {
97
+ let current = resolve(workingDir);
98
+ while (true) {
99
+ for (const name of names) {
100
+ const file = join(current, name);
101
+ if (fileExists(file)) {
102
+ return file;
103
+ }
104
+ }
105
+ const parent = dirname(current);
106
+ if (parent === current) {
107
+ return undefined;
108
+ }
109
+ current = parent;
110
+ }
111
+ }
112
+ function findProjectRootFile(workingDir) {
113
+ return (findRootFile(WORKSPACE_ROOT_FILES, workingDir) ??
114
+ findRootFile(PROJECT_ROOT_FILES, workingDir));
115
+ }
116
+ export function resolveConfiguredProjectRoot(workingDir, configuredRoot) {
117
+ return isAbsolute(configuredRoot)
118
+ ? configuredRoot
119
+ : resolve(workingDir, configuredRoot);
120
+ }
121
+ export function resolveProjectRoot(workingDir) {
122
+ let rootFile = findProjectRootFile(workingDir);
123
+ if (!rootFile) {
124
+ return resolve(workingDir);
125
+ }
126
+ while (true) {
127
+ const currentDir = dirname(rootFile);
128
+ const parentDir = dirname(currentDir);
129
+ if (parentDir === currentDir) {
130
+ return currentDir;
131
+ }
132
+ const parentRootFile = findProjectRootFile(parentDir);
133
+ if (!parentRootFile) {
134
+ return currentDir;
135
+ }
136
+ rootFile = parentRootFile;
137
+ }
138
+ }
139
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlnLWhlbHBlcnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvY29uZmlnLWhlbHBlcnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLFNBQVMsQ0FBQztBQUNuQyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDNUMsT0FBTyxFQUFFLE9BQU8sRUFBRSxVQUFVLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUMvRCxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sU0FBUyxDQUFDO0FBQ2pDLE9BQU8sS0FBSyxNQUFNLE9BQU8sQ0FBQztBQWMxQjs7Ozs7O0dBTUc7QUFDSCxNQUFNLENBQUMsS0FBSyxVQUFVLCtCQUErQixDQUNuRCxZQUFnQztJQUVoQyxNQUFNLGNBQWMsR0FBcUI7UUFDdkMsVUFBVSxFQUFFLEtBQUs7UUFDakIsZUFBZSxFQUFFLEtBQUs7UUFDdEIsaUJBQWlCLEVBQUUsS0FBSztLQUN6QixDQUFDO0lBRUYsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO1FBQ2xCLE9BQU8sY0FBYyxDQUFDO0lBQ3hCLENBQUM7SUFFRCxJQUFJLENBQUM7UUFDSCxNQUFNLE9BQU8sR0FBRyxNQUFNLFFBQVEsQ0FBQyxZQUFZLEVBQUUsT0FBTyxDQUFDLENBQUM7UUFDdEQsTUFBTSxRQUFRLEdBQ1osS0FBSyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUN2QixNQUFNLGVBQWUsR0FBRyxRQUFRLENBQUMsZUFBZSxJQUFJLEVBQUUsQ0FBQztRQUV2RCxxRkFBcUY7UUFDckYsTUFBTSxzQkFBc0IsR0FDMUIsZUFBZSxDQUFDLHNCQUFzQixLQUFLLElBQUksQ0FBQztRQUNsRCxNQUFNLHFCQUFxQixHQUN6QixlQUFlLENBQUMscUJBQXFCLEtBQUssSUFBSSxDQUFDO1FBRWpELE9BQU87WUFDTCxVQUFVLEVBQUUsc0JB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QUFDLGtCQUFrQixFQUFFLFVBQVUsQ0FBQyxDQUM3QyxDQUFDO0FBQ0osQ0FBQztBQUVELE1BQU0sVUFBVSw0QkFBNEIsQ0FDMUMsVUFBa0IsRUFDbEIsY0FBc0I7SUFFdEIsT0FBTyxVQUFVLENBQUMsY0FBYyxDQUFDO1FBQy9CLENBQUMsQ0FBQyxjQUFjO1FBQ2hCLENBQUMsQ0FBQyxPQUFPLENBQUMsVUFBVSxFQUFFLGNBQWMsQ0FBQyxDQUFDO0FBQzFDLENBQUM7QUFFRCxNQUFNLFVBQVUsa0JBQWtCLENBQUMsVUFBa0I7SUFDbkQsSUFBSSxRQUFRLEdBQUcsbUJBQW1CLENBQUMsVUFBVSxDQUFDLENBQUM7SUFDL0MsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQ2QsT0FBTyxPQUFPLENBQUMsVUFBVSxDQUFDLENBQUM7SUFDN0IsQ0FBQztJQUVELE9BQU8sSUFBSSxFQUFFLENBQUM7UUFDWixNQUFNLFVBQVUsR0FBRyxPQUFPLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDckMsTUFBTSxTQUFTLEdBQUcsT0FBTyxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQ3RDLElBQUksU0FBUyxLQUFLLFVBQVUsRUFBRSxDQUFDO1lBQzdCLE9BQU8sVUFBVSxDQUFDO1FBQ3BCLENBQUM7UUFFRCxNQUFNLGNBQWMsR0FBRyxtQkFBbUIsQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUN0RCxJQUFJLENBQUMsY0FBYyxFQUFFLENBQUM7WUFDcEIsT0FBTyxVQUFVLENBQUM7UUFDcEIsQ0FBQztRQUNELFFBQVEsR0FBRyxjQUFjLENBQUM7SUFDNUIsQ0FBQztBQUNILENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBzdGF0U3luYyB9IGZyb20gJ25vZGU6ZnMnO1xuaW1wb3J0IHsgcmVhZEZpbGUgfSBmcm9tICdub2RlOmZzL3Byb21pc2VzJztcbmltcG9ydCB7IGRpcm5hbWUsIGlzQWJzb2x1dGUsIGpvaW4sIHJlc29sdmUgfSBmcm9tICdub2RlOnBhdGgnO1xuaW1wb3J0IHsgZmluZFVwIH0gZnJvbSAnZmluZC11cCc7XG5pbXBvcnQgSlNPTjUgZnJvbSAnanNvbjUnO1xuaW1wb3J0IHR5cGUgeyBTb3VyY2VtYXBNb2RlLCBXb3JrZmxvd0NvbmZpZyB9IGZyb20gJy4vdHlwZXMuanMnO1xuXG5leHBvcnQgaW50ZXJmYWNlIERlY29yYXRvck9wdGlvbnMge1xuICBkZWNvcmF0b3JzOiBib29sZWFuO1xuICBsZWdhY3lEZWNvcmF0b3I6IGJvb2xlYW47XG4gIGRlY29yYXRvck1ldGFkYXRhOiBib29sZWFuO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIERlY29yYXRvck9wdGlvbnNXaXRoQ29uZmlnUGF0aCB7XG4gIG9wdGlvbnM6IERlY29yYXRvck9wdGlvbnM7XG4gIGNvbmZpZ1BhdGg6IHN0cmluZyB8IHVuZGVmaW5lZDtcbn1cblxuLyoqXG4gKiBSZWFkcyB0c2NvbmZpZy5qc29uIGFuZCBleHRyYWN0cyBkZWNvcmF0b3ItcmVsYXRlZCBjb21waWxlciBvcHRpb25zLlxuICogUmV0dXJucyBkZWNvcmF0b3Igb3B0aW9ucyBiYXNlZCBvbiBleHBlcmltZW50YWxEZWNvcmF0b3JzIGFuZCBlbWl0RGVjb3JhdG9yTWV0YWRhdGEgc2V0dGluZ3MuXG4gKlxuICogQHBhcmFtIHRzY29uZmlnUGF0aCAtIFBhdGggdG8gdHNjb25maWcuanNvbiBvciBqc2NvbmZpZy5qc29uXG4gKiBAcmV0dXJucyBEZWNvcmF0b3JPcHRpb25zIHdpdGggc2V0dGluZ3MgYmFzZWQgb24gdHNjb25maWcgY29tcGlsZXJPcHRpb25zXG4gKi9cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBnZXREZWNvcmF0b3JPcHRpb25zRnJvbVRzQ29uZmlnKFxuICB0c2NvbmZpZ1BhdGg6IHN0cmluZyB8IHVuZGVmaW5lZFxuKTogUHJvbWlzZTxEZWNvcmF0b3JPcHRpb25zPiB7XG4gIGNvbnN0IGRlZmF1bHRPcHRpb25zOiBEZWNvcmF0b3JPcHRpb25zID0ge1xuICAgIGRlY29yYXRvcnM6IGZhbHNlLFxuICAgIGxlZ2FjeURlY29yYXRvcjogZmFsc2UsXG4gICAgZGVjb3JhdG9yTWV0YWRhdGE6IGZhbHNlLFxuICB9O1xuXG4gIGlmICghdHNjb25maWdQYXRoKSB7XG4gICAgcmV0dXJuIGRlZmF1bHRPcHRpb25zO1xuICB9XG5cbiAgdHJ5IHtcbiAgICBjb25zdCBjb250ZW50ID0gYXdhaXQgcmVhZEZpbGUodHNjb25maWdQYXRoLCAndXRmLTgnKTtcbiAgICBjb25zdCB0c2NvbmZpZzogeyBjb21waWxlck9wdGlvbnM/OiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPiB9ID1cbiAgICAgIEpTT041LnBhcnNlKGNvbnRlbnQpO1xuICAgIGNvbnN0IGNvbXBpbGVyT3B0aW9ucyA9IHRzY29uZmlnLmNvbXBpbGVyT3B0aW9ucyB8fCB7fTtcblxuICAgIC8vIE1hdGNoIE5leHQuanMgYmVoYXZpb3I6IGVuYWJsZSBkZWNvcmF0b3JzIG9ubHkgd2hlbiBleHBlcmltZW50YWxEZWNvcmF0b3JzIGlzIHRydWVcbiAgICBjb25zdCBleHBlcmltZW50YWxEZWNvcmF0b3JzID1cbiAgICAgIGNvbXBpbGVyT3B0aW9ucy5leHBlcmltZW50YWxEZWNvcmF0b3JzID09PSB0cnVlO1xuICAgIGNvbnN0IGVtaXREZWNvcmF0b3JNZXRhZGF0YSA9XG4gICAgICBjb21waWxlck9wdGlvbnMuZW1pdERlY29yYXRvck1ldGFkYXRhID09PSB0cnVlO1xuXG4gICAgcmV0dXJuIHtcbiAgICAgIGRlY29yYXRvcnM6IGV4cGVyaW1lbnRhbERlY29yYXRvcnMsXG4gICAgICBsZWdhY3lEZWNvcmF0b3I6IGV4cGVyaW1lbnRhbERlY29yYXRvcnMsXG4gICAgICBkZWNvcmF0b3JNZXRhZGF0YTogZXhwZXJpbWVudGFsRGVjb3JhdG9ycyAmJiBlbWl0RGVjb3JhdG9yTWV0YWRhdGEsXG4gICAgfTtcbiAgfSBjYXRjaCB7XG4gICAgLy8gSWYgd2UgY2FuJ3QgcmVhZCBvciBwYXJzZSB0aGUgdHNjb25maWcsIHJldHVybiBkZWZhdWx0c1xuICAgIHJldHVybiBkZWZhdWx0T3B0aW9ucztcbiAgfVxufVxuXG4vKipcbiAqIEZpbmRzIHRzY29uZmlnLmpzb24gaW4gdGhlIGdpdmVuIGRpcmVjdG9yeSAob3IgYW5jZXN0b3JzKSBhbmQgZXh0cmFjdHMgZGVjb3JhdG9yIG9wdGlvbnMuXG4gKiBDb21iaW5lcyB0c2NvbmZpZyBkaXNjb3Zlcnkgd2l0aCBkZWNvcmF0b3Igb3B0aW9uIGV4dHJhY3Rpb24gZm9yIGNvbnZlbmllbmNlLlxuICpcbiAqIEBwYXJhbSBjd2QgLSBEaXJlY3RvcnkgdG8gc3RhcnQgc2VhcmNoaW5nIGZvciB0c2NvbmZpZy5qc29uXG4gKiBAcmV0dXJucyBEZWNvcmF0b3JPcHRpb25zIHdpdGggc2V0dGluZ3MgYmFzZWQgb24gdHNjb25maWcgY29tcGlsZXJPcHRpb25zXG4gKi9cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBnZXREZWNvcmF0b3JPcHRpb25zRm9yRGlyZWN0b3J5KFxuICBjd2Q6IHN0cmluZ1xuKTogUHJvbWlzZTxEZWNvcmF0b3JPcHRpb25zPiB7XG4gIGNvbnN0IHsgb3B0aW9ucyB9ID0gYXdhaXQgZ2V0RGVjb3JhdG9yT3B0aW9uc0ZvckRpcmVjdG9yeVdpdGhDb25maWdQYXRoKGN3ZCk7XG4gIHJldHVybiBvcHRpb25zO1xufVxuXG4vKipcbiAqIEZpbmRzIHRzY29uZmlnLmpzb24vanNjb25maWcuanNvbiBpbiB0aGUgZ2l2ZW4gZGlyZWN0b3J5IHRyZWUgYW5kIHJldHVybnNcbiAqIGJvdGggZGVjb3JhdG9yIG9wdGlvbnMgYW5kIHRoZSBjb25maWcgcGF0aCB1c2VkIHRvIGRlcml2ZSB0aGVtLlxuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gZ2V0RGVjb3JhdG9yT3B0aW9uc0ZvckRpcmVjdG9yeVdpdGhDb25maWdQYXRoKFxuICBjd2Q6IHN0cmluZ1xuKTogUHJvbWlzZTxEZWNvcmF0b3JPcHRpb25zV2l0aENvbmZpZ1BhdGg+IHtcbiAgY29uc3QgY29uZmlnUGF0aCA9IGF3YWl0IGZpbmRVcChbJ3RzY29uZmlnLmpzb24nLCAnanNjb25maWcuanNvbiddLCB7XG4gICAgY3dkLFxuICB9KTtcbiAgY29uc3Qgb3B0aW9ucyA9IGF3YWl0IGdldERlY29yYXRvck9wdGlvbnNGcm9tVHNDb25maWcoY29uZmlnUGF0aCk7XG4gIHJldHVybiB7IG9wdGlvbnMsIGNvbmZpZ1BhdGggfTtcbn1cblxuLyoqXG4gKiBDcmVhdGVzIGEgcGFydGlhbCBjb25maWd1cmF0aW9uIGZvciBidWlsZGVycyB0aGF0IGRvbid0IHVzZSBidW5kbGUgcGF0aHMgZGlyZWN0bHkuXG4gKiBVc2VkIGJ5IGZyYW1ld29yayBpbnRlZ3JhdGlvbnMgbGlrZSBOaXRybyB3aGVyZSB0aGUgYnVpbGRlciBjb21wdXRlcyBwYXRocyBpbnRlcm5hbGx5LlxuICovXG5leHBvcnQgZnVuY3Rpb24gY3JlYXRlQmFzZUJ1aWxkZXJDb25maWcob3B0aW9uczoge1xuICB3b3JraW5nRGlyOiBzdHJpbmc7XG4gIHByb2plY3RSb290Pzogc3RyaW5nO1xuICBkaXJzPzogc3RyaW5nW107XG4gIHdhdGNoPzogYm9vbGVhbjtcbiAgZXh0ZXJuYWxQYWNrYWdlcz86IHN0cmluZ1tdO1xuICBydW50aW1lPzogc3RyaW5nO1xuICBzb3VyY2VtYXA/OiBTb3VyY2VtYXBNb2RlO1xufSk6IE9taXQ8V29ya2Zsb3dDb25maWcsICdidWlsZFRhcmdldCc+IHtcbiAgcmV0dXJuIHtcbiAgICBkaXJzOiBvcHRpb25zLmRpcnMgPz8gWyd3b3JrZmxvd3MnXSxcbiAgICBwcm9qZWN0Um9vdDogb3B0aW9ucy5wcm9qZWN0Um9vdCxcbiAgICB3b3JraW5nRGlyOiBvcHRpb25zLndvcmtpbmdEaXIsXG4gICAgd2F0Y2g6IG9wdGlvbnMud2F0Y2gsXG4gICAgc3RlcHNCdW5kbGVQYXRoOiAnJywgLy8gTm90IHVzZWQgYnkgYmFzZSBidWlsZGVyIG1ldGhvZHNcbiAgICB3b3JrZmxvd3NCdW5kbGVQYXRoOiAnJywgLy8gTm90IHVzZWQgYnkgYmFzZSBidWlsZGVyIG1ldGhvZHNcbiAgICB3ZWJob29rQnVuZGxlUGF0aDogJycsIC8vIE5vdCB1c2VkIGJ5IGJhc2UgYnVpbGRlciBtZXRob2RzXG4gICAgZXh0ZXJuYWxQYWNrYWdlczogb3B0aW9ucy5leHRlcm5hbFBhY2thZ2VzLFxuICAgIHJ1bnRpbWU6IG9wdGlvbnMucnVudGltZSxcbiAgICBzb3VyY2VtYXA6IG9wdGlvbnMuc291cmNlbWFwLFxuICB9O1xufVxuXG5jb25zdCBXT1JLU1BBQ0VfUk9PVF9GSUxFUyA9IFsncG5wbS13b3Jrc3BhY2UueWFtbCddO1xuY29uc3QgUFJPSkVDVF9ST09UX0ZJTEVTID0gW1xuICAncG5wbS1sb2NrLnlhbWwnLFxuICAncGFja2FnZS1sb2NrLmpzb24nLFxuICAneWFybi5sb2NrJyxcbiAgJ2J1bi5sb2NrJyxcbiAgJ2J1bi5sb2NrYicsXG5dO1xuXG5mdW5jdGlvbiBmaWxlRXhpc3RzKHBhdGg6IHN0cmluZyk6IGJvb2xlYW4ge1xuICB0cnkge1xuICAgIHJldHVybiBzdGF0U3luYyhwYXRoKS5pc0ZpbGUoKTtcbiAgfSBjYXRjaCB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG59XG5cbmZ1bmN0aW9uIGZpbmRSb290RmlsZShuYW1lczogc3RyaW5nW10sIHdvcmtpbmdEaXI6IHN0cmluZyk6IHN0cmluZyB8IHVuZGVmaW5lZCB7XG4gIGxldCBjdXJyZW50ID0gcmVzb2x2ZSh3b3JraW5nRGlyKTtcblxuICB3aGlsZSAodHJ1ZSkge1xuICAgIGZvciAoY29uc3QgbmFtZSBvZiBuYW1lcykge1xuICAgICAgY29uc3QgZmlsZSA9IGpvaW4oY3VycmVudCwgbmFtZSk7XG4gICAgICBpZiAoZmlsZUV4aXN0cyhmaWxlKSkge1xuICAgICAgICByZXR1cm4gZmlsZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBjb25zdCBwYXJlbnQgPSBkaXJuYW1lKGN1cnJlbnQpO1xuICAgIGlmIChwYXJlbnQgPT09IGN1cnJlbnQpIHtcbiAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gICAgfVxuICAgIGN1cnJlbnQgPSBwYXJlbnQ7XG4gIH1cbn1cblxuZnVuY3Rpb24gZmluZFByb2plY3RSb290RmlsZSh3b3JraW5nRGlyOiBzdHJpbmcpOiBzdHJpbmcgfCB1bmRlZmluZWQge1xuICByZXR1cm4gKFxuICAgIGZpbmRSb290RmlsZShXT1JLU1BBQ0VfUk9PVF9GSUxFUywgd29ya2luZ0RpcikgPz9cbiAgICBmaW5kUm9vdEZpbGUoUFJPSkVDVF9ST09UX0ZJTEVTLCB3b3JraW5nRGlyKVxuICApO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gcmVzb2x2ZUNvbmZpZ3VyZWRQcm9qZWN0Um9vdChcbiAgd29ya2luZ0Rpcjogc3RyaW5nLFxuICBjb25maWd1cmVkUm9vdDogc3RyaW5nXG4pOiBzdHJpbmcge1xuICByZXR1cm4gaXNBYnNvbHV0ZShjb25maWd1cmVkUm9vdClcbiAgICA/IGNvbmZpZ3VyZWRSb290XG4gICAgOiByZXNvbHZlKHdvcmtpbmdEaXIsIGNvbmZpZ3VyZWRSb290KTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHJlc29sdmVQcm9qZWN0Um9vdCh3b3JraW5nRGlyOiBzdHJpbmcpOiBzdHJpbmcge1xuICBsZXQgcm9vdEZpbGUgPSBmaW5kUHJvamVjdFJvb3RGaWxlKHdvcmtpbmdEaXIpO1xuICBpZiAoIXJvb3RGaWxlKSB7XG4gICAgcmV0dXJuIHJlc29sdmUod29ya2luZ0Rpcik7XG4gIH1cblxuICB3aGlsZSAodHJ1ZSkge1xuICAgIGNvbnN0IGN1cnJlbnREaXIgPSBkaXJuYW1lKHJvb3RGaWxlKTtcbiAgICBjb25zdCBwYXJlbnREaXIgPSBkaXJuYW1lKGN1cnJlbnREaXIpO1xuICAgIGlmIChwYXJlbnREaXIgPT09IGN1cnJlbnREaXIpIHtcbiAgICAgIHJldHVybiBjdXJyZW50RGlyO1xuICAgIH1cblxuICAgIGNvbnN0IHBhcmVudFJvb3RGaWxlID0gZmluZFByb2plY3RSb290RmlsZShwYXJlbnREaXIpO1xuICAgIGlmICghcGFyZW50Um9vdEZpbGUpIHtcbiAgICAgIHJldHVybiBjdXJyZW50RGlyO1xuICAgIH1cbiAgICByb290RmlsZSA9IHBhcmVudFJvb3RGaWxlO1xuICB9XG59XG4iXX0=
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=config-helpers.test.d.ts.map
@@ -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=
@@ -31,9 +31,11 @@ export declare function createWorkflowQueueTrigger(options?: {
31
31
  */
32
32
  export declare function createWorkflowEntrypointOptionsCode(options?: {
33
33
  namespace?: string;
34
+ basePath?: string;
34
35
  /** Raw code identifier/expression emitted into generated route files, not data. */
35
36
  routeModuleBodyStartedAt?: string;
36
37
  }): string;
38
+ export declare function createWorkflowRouteHandlersCode(workflowEntrypointCall: string): string;
37
39
  /**
38
40
  * Default queue trigger (no namespace). Backward compatible.
39
41
  */
@@ -1 +1 @@
1
- {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"AAoBA;;;;;;;;;;;;;;;;GAgBG;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;IACnB,mFAAmF;IACnF,wBAAwB,CAAC,EAAE,MAAM,CAAC;CACnC,UAqBA;AAED;;GAEG;AACH,eAAO,MAAM,sBAAsB;;;;;;CAA+B,CAAC"}
1
+ {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"AAoBA;;;;;;;;;;;;;;;;GAgBG;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;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,mFAAmF;IACnF,wBAAwB,CAAC,EAAE,MAAM,CAAC;CACnC,UAyBA;AAED,wBAAgB,+BAA+B,CAC7C,sBAAsB,EAAE,MAAM,UAM/B;AAED;;GAEG;AACH,eAAO,MAAM,sBAAsB;;;;;;CAA+B,CAAC"}
package/dist/constants.js CHANGED
@@ -51,6 +51,9 @@ export function createWorkflowEntrypointOptionsCode(options) {
51
51
  getQueueTopicPrefix('workflow', namespace);
52
52
  fields.push(`namespace: ${JSON.stringify(namespace)}`);
53
53
  }
54
+ if (options?.basePath !== undefined) {
55
+ fields.push(`basePath: ${JSON.stringify(options.basePath)}`);
56
+ }
54
57
  if (options?.routeModuleBodyStartedAt) {
55
58
  fields.push(`routeModuleBodyStartedAt: ${options.routeModuleBodyStartedAt}`);
56
59
  }
@@ -59,8 +62,14 @@ export function createWorkflowEntrypointOptionsCode(options) {
59
62
  }
60
63
  return `, { ${fields.join(', ')} }`;
61
64
  }
65
+ export function createWorkflowRouteHandlersCode(workflowEntrypointCall) {
66
+ return `export const POST = ${workflowEntrypointCall};
67
+ export const GET = POST;
68
+ export const HEAD = POST;
69
+ export const OPTIONS = POST;`;
70
+ }
62
71
  /**
63
72
  * Default queue trigger (no namespace). Backward compatible.
64
73
  */
65
74
  export const WORKFLOW_QUEUE_TRIGGER = createWorkflowQueueTrigger();
66
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uc3RhbnRzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL2NvbnN0YW50cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLHVCQUF1QixHQUFHLGtCQUFrQixDQUFDO0FBRW5ELFNBQVMscUJBQXFCLENBQUMsU0FBa0I7SUFDL0MsT0FBTyxTQUFTLElBQUksT0FBTyxDQUFDLEdBQUcsQ0FBQyx3QkFBd0IsSUFBSSxTQUFTLENBQUM7QUFDeEUsQ0FBQztBQUVELFNBQVMsbUJBQW1CLENBQUMsSUFBeUIsRUFBRSxTQUFrQjtJQUN4RSxJQUFJLFNBQVMsS0FBSyxTQUFTLEVBQUUsQ0FBQztRQUM1QixJQUFJLENBQUMsdUJBQXVCLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUM7WUFDN0MsTUFBTSxJQUFJLEtBQUssQ0FDYiw0QkFBNEIsU0FBUywyREFBMkQsQ0FDakcsQ0FBQztRQUNKLENBQUM7UUFFRCxPQUFPLEtBQUssU0FBUyxRQUFRLElBQUksR0FBRyxDQUFDO0lBQ3ZDLENBQUM7SUFFRCxPQUFPLFNBQVMsSUFBSSxHQUFHLENBQUM7QUFDMUIsQ0FBQztBQUVEOzs7Ozs7Ozs7Ozs7Ozs7O0dBZ0JHO0FBQ0gsTUFBTSxVQUFVLDBCQUEwQixDQUFDLE9BQWdDO0lBQ3pFLE1BQU0sU0FBUyxHQUFHLHFCQUFxQixDQUFDLE9BQU8sRUFBRSxTQUFTLENBQUMsQ0FBQztJQUU1RCxPQUFPO1FBQ0wsSUFBSSxFQUFFLGNBQXVCO1FBQzdCLEtBQUssRUFBRSxHQUFHLG1CQUFtQixDQUFDLFVBQVUsRUFBRSxTQUFTLENBQUMsR0FBRztRQUN2RCxRQUFRLEVBQUUsU0FBUztRQUNuQixpQkFBaUIsRUFBRSxDQUFDLEVBQUUsc0NBQXNDO1FBQzVELG1CQUFtQixFQUFFLENBQUMsRUFBRSxtREFBbUQ7S0FDNUUsQ0FBQztBQUNKLENBQUM7QUFFRDs7OztHQUlHO0FBQ0gsTUFBTSxVQUFVLG1DQUFtQyxDQUFDLE9BSW5EO0lBQ0MsTUFBTSxTQUFTLEdBQUcscUJBQXFCLENBQUMsT0FBTyxFQUFFLFNBQVMsQ0FBQyxDQUFDO0lBQzVELE1BQU0sTUFBTSxHQUFhLEVBQUUsQ0FBQztJQUU1QixJQUFJLFNBQVMsRUFBRSxDQUFDO1FBQ2Qsc0RBQXNEO1FBQ3RELG1CQUFtQixDQUFDLFVBQVUsRUFBRSxTQUFTLENBQUMsQ0FBQztRQUMzQyxNQUFNLENBQUMsSUFBSSxDQUFDLGNBQWMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFDLENBQUM7SUFDekQsQ0FBQztJQUVELElBQUksT0FBTyxFQUFFLHdCQUF3QixFQUFFLENBQUM7UUFDdEMsTUFBTSxDQUFDLElBQUksQ0FDVCw2QkFBNkIsT0FBTyxDQUFDLHdCQUF3QixFQUFFLENBQ2hFLENBQUM7SUFDSixDQUFDO0lBRUQsSUFBSSxNQUFNLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRSxDQUFDO1FBQ3hCLE9BQU8sRUFBRSxDQUFDO0lBQ1osQ0FBQztJQUVELE9BQU8sT0FBTyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUM7QUFDdEMsQ0FBQztBQUVEOztHQUVHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sc0JBQXNCLEdBQUcsMEJBQTBCLEVBQUUsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImNvbnN0IFFVRVVFX05BTUVTUEFDRV9QQVRURVJOID0gL15bYS16XVthLXowLTldKiQvO1xuXG5mdW5jdGlvbiByZXNvbHZlUXVldWVOYW1lc3BhY2UobmFtZXNwYWNlPzogc3RyaW5nKTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcbiAgcmV0dXJuIG5hbWVzcGFjZSA/PyBwcm9jZXNzLmVudi5XT1JLRkxPV19RVUVVRV9OQU1FU1BBQ0UgPz8gdW5kZWZpbmVkO1xufVxuXG5mdW5jdGlvbiBnZXRRdWV1ZVRvcGljUHJlZml4KGtpbmQ6ICd3b3JrZmxvdycgfCAnc3RlcCcsIG5hbWVzcGFjZT86IHN0cmluZykge1xuICBpZiAobmFtZXNwYWNlICE9PSB1bmRlZmluZWQpIHtcbiAgICBpZiAoIVFVRVVFX05BTUVTUEFDRV9QQVRURVJOLnRlc3QobmFtZXNwYWNlKSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICBgSW52YWxpZCBxdWV1ZSBuYW1lc3BhY2UgXCIke25hbWVzcGFjZX1cIjogbXVzdCBiZSBsb3dlcmNhc2UgYWxwaGFudW1lcmljLCBzdGFydGluZyB3aXRoIGEgbGV0dGVyYFxuICAgICAgKTtcbiAgICB9XG5cbiAgICByZXR1cm4gYF9fJHtuYW1lc3BhY2V9X3drZl8ke2tpbmR9X2A7XG4gIH1cblxuICByZXR1cm4gYF9fd2tmXyR7a2luZH1fYDtcbn1cblxuLyoqXG4gKiBDcmVhdGVzIGEgcXVldWUgdHJpZ2dlciBjb25maWd1cmF0aW9uIGZvciB0aGUgd29ya2Zsb3cgaGFuZGxlci5cbiAqIEhhbmRsZXMgYm90aCB3b3JrZmxvdyBvcmNoZXN0cmF0aW9uIGFuZCBzdGVwIGV4ZWN1dGlvbiBvbiB0aGUgc2FtZSByb3V0ZS5cbiAqIEJhY2tncm91bmQgc3RlcHMgYXJlIHF1ZXVlZCBiYWNrIHRvIHRoZSB3b3JrZmxvdyB0b3BpYyB3aXRoIGEgc3RlcElkLlxuICpcbiAqIFdoZW4gYG5hbWVzcGFjZWAgaXMgcHJvdmlkZWQsIHRoZSB0cmlnZ2VyIHRvcGljIGlzIHNjb3BlZCB0byBhdm9pZFxuICogY29sbGlzaW9ucyB3aXRoIG90aGVyIGZyYW1ld29ya3Mgb3IgZGlyZWN0IFdvcmtmbG93IFNESyB1c2FnZSBpbiB0aGVcbiAqIHNhbWUgZGVwbG95bWVudC5cbiAqXG4gKiBAZXhhbXBsZVxuICogLy8gZGVmYXVsdDogdG9waWMgPSAnX193a2Zfd29ya2Zsb3dfKidcbiAqIGNyZWF0ZVdvcmtmbG93UXVldWVUcmlnZ2VyKClcbiAqXG4gKiBAZXhhbXBsZVxuICogLy8gbmFtZXNwYWNlZDogdG9waWMgPSAnX19jdXN0b21fd2tmX3dvcmtmbG93XyonXG4gKiBjcmVhdGVXb3JrZmxvd1F1ZXVlVHJpZ2dlcih7IG5hbWVzcGFjZTogJ2N1c3RvbScgfSlcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZVdvcmtmbG93UXVldWVUcmlnZ2VyKG9wdGlvbnM/OiB7IG5hbWVzcGFjZT86IHN0cmluZyB9KSB7XG4gIGNvbnN0IG5hbWVzcGFjZSA9IHJlc29sdmVRdWV1ZU5hbWVzcGFjZShvcHRpb25zPy5uYW1lc3BhY2UpO1xuXG4gIHJldHVybiB7XG4gICAgdHlwZTogJ3F1ZXVlL3YyYmV0YScgYXMgY29uc3QsXG4gICAgdG9waWM6IGAke2dldFF1ZXVlVG9waWNQcmVmaXgoJ3dvcmtmbG93JywgbmFtZXNwYWNlKX0qYCxcbiAgICBjb25zdW1lcjogJ2RlZmF1bHQnLFxuICAgIHJldHJ5QWZ0ZXJTZWNvbmRzOiA1LCAvLyBEZWxheSBiZXR3ZWVuIHJldHJpZXMgKGRlZmF1bHQ6IDYwKVxuICAgIGluaXRpYWxEZWxheVNlY29uZHM6IDAsIC8vIEluaXRpYWwgZGVsYXkgYmVmb3JlIGZpcnN0IGRlbGl2ZXJ5IChkZWZhdWx0OiAwKVxuICB9O1xufVxuXG4vKipcbiAqIENyZWF0ZXMgdGhlIG9wdGlvbmFsIHNlY29uZCBhcmd1bWVudCBmb3IgZ2VuZXJhdGVkIGB3b3JrZmxvd0VudHJ5cG9pbnQoKWBcbiAqIGNhbGxzLiBUaGUgbmFtZXNwYWNlIGlzIHJlc29sdmVkIHdoaWxlIGJ1aWxkaW5nIHNvIGdlbmVyYXRlZCByb3V0ZSBmaWxlcyBkb1xuICogbm90IG5lZWQgYFdPUktGTE9XX1FVRVVFX05BTUVTUEFDRWAgYXQgcnVudGltZS5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZVdvcmtmbG93RW50cnlwb2ludE9wdGlvbnNDb2RlKG9wdGlvbnM/OiB7XG4gIG5hbWVzcGFjZT86IHN0cmluZztcbiAgLyoqIFJhdyBjb2RlIGlkZW50aWZpZXIvZXhwcmVzc2lvbiBlbWl0dGVkIGludG8gZ2VuZXJhdGVkIHJvdXRlIGZpbGVzLCBub3QgZGF0YS4gKi9cbiAgcm91dGVNb2R1bGVCb2R5U3RhcnRlZEF0Pzogc3RyaW5nO1xufSkge1xuICBjb25zdCBuYW1lc3BhY2UgPSByZXNvbHZlUXVldWVOYW1lc3BhY2Uob3B0aW9ucz8ubmFtZXNwYWNlKTtcbiAgY29uc3QgZmllbGRzOiBzdHJpbmdbXSA9IFtdO1xuXG4gIGlmIChuYW1lc3BhY2UpIHtcbiAgICAvLyBSZXVzZSBwcmVmaXggY29uc3RydWN0aW9uIGZvciBuYW1lc3BhY2UgdmFsaWRhdGlvbi5cbiAgICBnZXRRdWV1ZVRvcGljUHJlZml4KCd3b3JrZmxvdycsIG5hbWVzcGFjZSk7XG4gICAgZmllbGRzLnB1c2goYG5hbWVzcGFjZTogJHtKU09OLnN0cmluZ2lmeShuYW1lc3BhY2UpfWApO1xuICB9XG5cbiAgaWYgKG9wdGlvbnM/LnJvdXRlTW9kdWxlQm9keVN0YXJ0ZWRBdCkge1xuICAgIGZpZWxkcy5wdXNoKFxuICAgICAgYHJvdXRlTW9kdWxlQm9keVN0YXJ0ZWRBdDogJHtvcHRpb25zLnJvdXRlTW9kdWxlQm9keVN0YXJ0ZWRBdH1gXG4gICAgKTtcbiAgfVxuXG4gIGlmIChmaWVsZHMubGVuZ3RoID09PSAwKSB7XG4gICAgcmV0dXJuICcnO1xuICB9XG5cbiAgcmV0dXJuIGAsIHsgJHtmaWVsZHMuam9pbignLCAnKX0gfWA7XG59XG5cbi8qKlxuICogRGVmYXVsdCBxdWV1ZSB0cmlnZ2VyIChubyBuYW1lc3BhY2UpLiBCYWNrd2FyZCBjb21wYXRpYmxlLlxuICovXG5leHBvcnQgY29uc3QgV09SS0ZMT1dfUVVFVUVfVFJJR0dFUiA9IGNyZWF0ZVdvcmtmbG93UXVldWVUcmlnZ2VyKCk7XG4iXX0=
75
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uc3RhbnRzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL2NvbnN0YW50cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLHVCQUF1QixHQUFHLGtCQUFrQixDQUFDO0FBRW5ELFNBQVMscUJBQXFCLENBQUMsU0FBa0I7SUFDL0MsT0FBTyxTQUFTLElBQUksT0FBTyxDQUFDLEdBQUcsQ0FBQyx3QkFBd0IsSUFBSSxTQUFTLENBQUM7QUFDeEUsQ0FBQztBQUVELFNBQVMsbUJBQW1CLENBQUMsSUFBeUIsRUFBRSxTQUFrQjtJQUN4RSxJQUFJLFNBQVMsS0FBSyxTQUFTLEVBQUUsQ0FBQztRQUM1QixJQUFJLENBQUMsdUJBQXVCLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUM7WUFDN0MsTUFBTSxJQUFJLEtBQUssQ0FDYiw0QkFBNEIsU0FBUywyREFBMkQsQ0FDakcsQ0FBQztRQUNKLENBQUM7UUFFRCxPQUFPLEtBQUssU0FBUyxRQUFRLElBQUksR0FBRyxDQUFDO0lBQ3ZDLENBQUM7SUFFRCxPQUFPLFNBQVMsSUFBSSxHQUFHLENBQUM7QUFDMUIsQ0FBQztBQUVEOzs7Ozs7Ozs7Ozs7Ozs7O0dBZ0JHO0FBQ0gsTUFBTSxVQUFVLDBCQUEwQixDQUFDLE9BQWdDO0lBQ3pFLE1BQU0sU0FBUyxHQUFHLHFCQUFxQixDQUFDLE9BQU8sRUFBRSxTQUFTLENBQUMsQ0FBQztJQUU1RCxPQUFPO1FBQ0wsSUFBSSxFQUFFLGNBQXVCO1FBQzdCLEtBQUssRUFBRSxHQUFHLG1CQUFtQixDQUFDLFVBQVUsRUFBRSxTQUFTLENBQUMsR0FBRztRQUN2RCxRQUFRLEVBQUUsU0FBUztRQUNuQixpQkFBaUIsRUFBRSxDQUFDLEVBQUUsc0NBQXNDO1FBQzVELG1CQUFtQixFQUFFLENBQUMsRUFBRSxtREFBbUQ7S0FDNUUsQ0FBQztBQUNKLENBQUM7QUFFRDs7OztHQUlHO0FBQ0gsTUFBTSxVQUFVLG1DQUFtQyxDQUFDLE9BS25EO0lBQ0MsTUFBTSxTQUFTLEdBQUcscUJBQXFCLENBQUMsT0FBTyxFQUFFLFNBQVMsQ0FBQyxDQUFDO0lBQzVELE1BQU0sTUFBTSxHQUFhLEVBQUUsQ0FBQztJQUU1QixJQUFJLFNBQVMsRUFBRSxDQUFDO1FBQ2Qsc0RBQXNEO1FBQ3RELG1CQUFtQixDQUFDLFVBQVUsRUFBRSxTQUFTLENBQUMsQ0FBQztRQUMzQyxNQUFNLENBQUMsSUFBSSxDQUFDLGNBQWMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFDLENBQUM7SUFDekQsQ0FBQztJQUVELElBQUksT0FBTyxFQUFFLFFBQVEsS0FBSyxTQUFTLEVBQUUsQ0FBQztRQUNwQyxNQUFNLENBQUMsSUFBSSxDQUFDLGFBQWEsSUFBSSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQy9ELENBQUM7SUFFRCxJQUFJLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxDQUFDO1FBQ3RDLE1BQU0sQ0FBQyxJQUFJLENBQ1QsNkJBQTZCLE9BQU8sQ0FBQyx3QkFBd0IsRUFBRSxDQUNoRSxDQUFDO0lBQ0osQ0FBQztJQUVELElBQUksTUFBTSxDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUUsQ0FBQztRQUN4QixPQUFPLEVBQUUsQ0FBQztJQUNaLENBQUM7SUFFRCxPQUFPLE9BQU8sTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDO0FBQ3RDLENBQUM7QUFFRCxNQUFNLFVBQVUsK0JBQStCLENBQzdDLHNCQUE4QjtJQUU5QixPQUFPLHVCQUF1QixzQkFBc0I7Ozs2QkFHekIsQ0FBQztBQUM5QixDQUFDO0FBRUQ7O0dBRUc7QUFDSCxNQUFNLENBQUMsTUFBTSxzQkFBc0IsR0FBRywwQkFBMEIsRUFBRSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiY29uc3QgUVVFVUVfTkFNRVNQQUNFX1BBVFRFUk4gPSAvXlthLXpdW2EtejAtOV0qJC87XG5cbmZ1bmN0aW9uIHJlc29sdmVRdWV1ZU5hbWVzcGFjZShuYW1lc3BhY2U/OiBzdHJpbmcpOiBzdHJpbmcgfCB1bmRlZmluZWQge1xuICByZXR1cm4gbmFtZXNwYWNlID8/IHByb2Nlc3MuZW52LldPUktGTE9XX1FVRVVFX05BTUVTUEFDRSA/PyB1bmRlZmluZWQ7XG59XG5cbmZ1bmN0aW9uIGdldFF1ZXVlVG9waWNQcmVmaXgoa2luZDogJ3dvcmtmbG93JyB8ICdzdGVwJywgbmFtZXNwYWNlPzogc3RyaW5nKSB7XG4gIGlmIChuYW1lc3BhY2UgIT09IHVuZGVmaW5lZCkge1xuICAgIGlmICghUVVFVUVfTkFNRVNQQUNFX1BBVFRFUk4udGVzdChuYW1lc3BhY2UpKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgIGBJbnZhbGlkIHF1ZXVlIG5hbWVzcGFjZSBcIiR7bmFtZXNwYWNlfVwiOiBtdXN0IGJlIGxvd2VyY2FzZSBhbHBoYW51bWVyaWMsIHN0YXJ0aW5nIHdpdGggYSBsZXR0ZXJgXG4gICAgICApO1xuICAgIH1cblxuICAgIHJldHVybiBgX18ke25hbWVzcGFjZX1fd2tmXyR7a2luZH1fYDtcbiAgfVxuXG4gIHJldHVybiBgX193a2ZfJHtraW5kfV9gO1xufVxuXG4vKipcbiAqIENyZWF0ZXMgYSBxdWV1ZSB0cmlnZ2VyIGNvbmZpZ3VyYXRpb24gZm9yIHRoZSB3b3JrZmxvdyBoYW5kbGVyLlxuICogSGFuZGxlcyBib3RoIHdvcmtmbG93IG9yY2hlc3RyYXRpb24gYW5kIHN0ZXAgZXhlY3V0aW9uIG9uIHRoZSBzYW1lIHJvdXRlLlxuICogQmFja2dyb3VuZCBzdGVwcyBhcmUgcXVldWVkIGJhY2sgdG8gdGhlIHdvcmtmbG93IHRvcGljIHdpdGggYSBzdGVwSWQuXG4gKlxuICogV2hlbiBgbmFtZXNwYWNlYCBpcyBwcm92aWRlZCwgdGhlIHRyaWdnZXIgdG9waWMgaXMgc2NvcGVkIHRvIGF2b2lkXG4gKiBjb2xsaXNpb25zIHdpdGggb3RoZXIgZnJhbWV3b3JrcyBvciBkaXJlY3QgV29ya2Zsb3cgU0RLIHVzYWdlIGluIHRoZVxuICogc2FtZSBkZXBsb3ltZW50LlxuICpcbiAqIEBleGFtcGxlXG4gKiAvLyBkZWZhdWx0OiB0b3BpYyA9ICdfX3drZl93b3JrZmxvd18qJ1xuICogY3JlYXRlV29ya2Zsb3dRdWV1ZVRyaWdnZXIoKVxuICpcbiAqIEBleGFtcGxlXG4gKiAvLyBuYW1lc3BhY2VkOiB0b3BpYyA9ICdfX2N1c3RvbV93a2Zfd29ya2Zsb3dfKidcbiAqIGNyZWF0ZVdvcmtmbG93UXVldWVUcmlnZ2VyKHsgbmFtZXNwYWNlOiAnY3VzdG9tJyB9KVxuICovXG5leHBvcnQgZnVuY3Rpb24gY3JlYXRlV29ya2Zsb3dRdWV1ZVRyaWdnZXIob3B0aW9ucz86IHsgbmFtZXNwYWNlPzogc3RyaW5nIH0pIHtcbiAgY29uc3QgbmFtZXNwYWNlID0gcmVzb2x2ZVF1ZXVlTmFtZXNwYWNlKG9wdGlvbnM/Lm5hbWVzcGFjZSk7XG5cbiAgcmV0dXJuIHtcbiAgICB0eXBlOiAncXVldWUvdjJiZXRhJyBhcyBjb25zdCxcbiAgICB0b3BpYzogYCR7Z2V0UXVldWVUb3BpY1ByZWZpeCgnd29ya2Zsb3cnLCBuYW1lc3BhY2UpfSpgLFxuICAgIGNvbnN1bWVyOiAnZGVmYXVsdCcsXG4gICAgcmV0cnlBZnRlclNlY29uZHM6IDUsIC8vIERlbGF5IGJldHdlZW4gcmV0cmllcyAoZGVmYXVsdDogNjApXG4gICAgaW5pdGlhbERlbGF5U2Vjb25kczogMCwgLy8gSW5pdGlhbCBkZWxheSBiZWZvcmUgZmlyc3QgZGVsaXZlcnkgKGRlZmF1bHQ6IDApXG4gIH07XG59XG5cbi8qKlxuICogQ3JlYXRlcyB0aGUgb3B0aW9uYWwgc2Vjb25kIGFyZ3VtZW50IGZvciBnZW5lcmF0ZWQgYHdvcmtmbG93RW50cnlwb2ludCgpYFxuICogY2FsbHMuIFRoZSBuYW1lc3BhY2UgaXMgcmVzb2x2ZWQgd2hpbGUgYnVpbGRpbmcgc28gZ2VuZXJhdGVkIHJvdXRlIGZpbGVzIGRvXG4gKiBub3QgbmVlZCBgV09SS0ZMT1dfUVVFVUVfTkFNRVNQQUNFYCBhdCBydW50aW1lLlxuICovXG5leHBvcnQgZnVuY3Rpb24gY3JlYXRlV29ya2Zsb3dFbnRyeXBvaW50T3B0aW9uc0NvZGUob3B0aW9ucz86IHtcbiAgbmFtZXNwYWNlPzogc3RyaW5nO1xuICBiYXNlUGF0aD86IHN0cmluZztcbiAgLyoqIFJhdyBjb2RlIGlkZW50aWZpZXIvZXhwcmVzc2lvbiBlbWl0dGVkIGludG8gZ2VuZXJhdGVkIHJvdXRlIGZpbGVzLCBub3QgZGF0YS4gKi9cbiAgcm91dGVNb2R1bGVCb2R5U3RhcnRlZEF0Pzogc3RyaW5nO1xufSkge1xuICBjb25zdCBuYW1lc3BhY2UgPSByZXNvbHZlUXVldWVOYW1lc3BhY2Uob3B0aW9ucz8ubmFtZXNwYWNlKTtcbiAgY29uc3QgZmllbGRzOiBzdHJpbmdbXSA9IFtdO1xuXG4gIGlmIChuYW1lc3BhY2UpIHtcbiAgICAvLyBSZXVzZSBwcmVmaXggY29uc3RydWN0aW9uIGZvciBuYW1lc3BhY2UgdmFsaWRhdGlvbi5cbiAgICBnZXRRdWV1ZVRvcGljUHJlZml4KCd3b3JrZmxvdycsIG5hbWVzcGFjZSk7XG4gICAgZmllbGRzLnB1c2goYG5hbWVzcGFjZTogJHtKU09OLnN0cmluZ2lmeShuYW1lc3BhY2UpfWApO1xuICB9XG5cbiAgaWYgKG9wdGlvbnM/LmJhc2VQYXRoICE9PSB1bmRlZmluZWQpIHtcbiAgICBmaWVsZHMucHVzaChgYmFzZVBhdGg6ICR7SlNPTi5zdHJpbmdpZnkob3B0aW9ucy5iYXNlUGF0aCl9YCk7XG4gIH1cblxuICBpZiAob3B0aW9ucz8ucm91dGVNb2R1bGVCb2R5U3RhcnRlZEF0KSB7XG4gICAgZmllbGRzLnB1c2goXG4gICAgICBgcm91dGVNb2R1bGVCb2R5U3RhcnRlZEF0OiAke29wdGlvbnMucm91dGVNb2R1bGVCb2R5U3RhcnRlZEF0fWBcbiAgICApO1xuICB9XG5cbiAgaWYgKGZpZWxkcy5sZW5ndGggPT09IDApIHtcbiAgICByZXR1cm4gJyc7XG4gIH1cblxuICByZXR1cm4gYCwgeyAke2ZpZWxkcy5qb2luKCcsICcpfSB9YDtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZVdvcmtmbG93Um91dGVIYW5kbGVyc0NvZGUoXG4gIHdvcmtmbG93RW50cnlwb2ludENhbGw6IHN0cmluZ1xuKSB7XG4gIHJldHVybiBgZXhwb3J0IGNvbnN0IFBPU1QgPSAke3dvcmtmbG93RW50cnlwb2ludENhbGx9O1xuZXhwb3J0IGNvbnN0IEdFVCA9IFBPU1Q7XG5leHBvcnQgY29uc3QgSEVBRCA9IFBPU1Q7XG5leHBvcnQgY29uc3QgT1BUSU9OUyA9IFBPU1Q7YDtcbn1cblxuLyoqXG4gKiBEZWZhdWx0IHF1ZXVlIHRyaWdnZXIgKG5vIG5hbWVzcGFjZSkuIEJhY2t3YXJkIGNvbXBhdGlibGUuXG4gKi9cbmV4cG9ydCBjb25zdCBXT1JLRkxPV19RVUVVRV9UUklHR0VSID0gY3JlYXRlV29ya2Zsb3dRdWV1ZVRyaWdnZXIoKTtcbiJdfQ==
@@ -32,8 +32,9 @@ describe('createWorkflowEntrypointOptionsCode', () => {
32
32
  it('inlines route module timing with namespace options', () => {
33
33
  expect(createWorkflowEntrypointOptionsCode({
34
34
  namespace: 'custom',
35
+ basePath: '/v2',
35
36
  routeModuleBodyStartedAt: 'workflowRouteModuleBodyStartedAt',
36
- })).toBe(', { namespace: "custom", routeModuleBodyStartedAt: workflowRouteModuleBodyStartedAt }');
37
+ })).toBe(', { namespace: "custom", basePath: "/v2", routeModuleBodyStartedAt: workflowRouteModuleBodyStartedAt }');
37
38
  });
38
39
  });
39
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uc3RhbnRzLnRlc3QuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvY29uc3RhbnRzLnRlc3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQUUsTUFBTSxFQUFFLEVBQUUsRUFBRSxNQUFNLFFBQVEsQ0FBQztBQUN6RCxPQUFPLEVBQ0wsbUNBQW1DLEVBQ25DLDBCQUEwQixHQUMzQixNQUFNLGdCQUFnQixDQUFDO0FBRXhCLFFBQVEsQ0FBQyw0QkFBNEIsRUFBRSxHQUFHLEVBQUU7SUFDMUMsU0FBUyxDQUFDLEdBQUcsRUFBRTtRQUNiLE9BQU8sT0FBTyxDQUFDLEdBQUcsQ0FBQyx3QkFBd0IsQ0FBQztJQUM5QyxDQUFDLENBQUMsQ0FBQztJQUVILEVBQUUsQ0FBQyxxREFBcUQsRUFBRSxHQUFHLEVBQUU7UUFDN0QsTUFBTSxDQUFDLDBCQUEwQixFQUFFLENBQUMsS0FBSyxDQUFDLENBQUMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLENBQUM7SUFDdEUsQ0FBQyxDQUFDLENBQUM7SUFFSCxFQUFFLENBQUMsMENBQTBDLEVBQUUsR0FBRyxFQUFFO1FBQ2xELE1BQU0sQ0FBQywwQkFBMEIsQ0FBQyxFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQUUsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLElBQUksQ0FDcEUseUJBQXlCLENBQzFCLENBQUM7SUFDSixDQUFDLENBQUMsQ0FBQztJQUVILEVBQUUsQ0FBQyxzRUFBc0UsRUFBRSxHQUFHLEVBQUU7UUFDOUUsT0FBTyxDQUFDLEdBQUcsQ0FBQyx3QkFBd0IsR0FBRyxRQUFRLENBQUM7UUFFaEQsTUFBTSxDQUFDLDBCQUEwQixFQUFFLENBQUMsS0FBSyxDQUFDLENBQUMsSUFBSSxDQUFDLHlCQUF5QixDQUFDLENBQUM7SUFDN0UsQ0FBQyxDQUFDLENBQUM7QUFDTCxDQUFDLENBQUMsQ0FBQztBQUVILFFBQVEsQ0FBQyxxQ0FBcUMsRUFBRSxHQUFHLEVBQUU7SUFDbkQsU0FBUyxDQUFDLEdBQUcsRUFBRTtRQUNiLE9BQU8sT0FBTyxDQUFDLEdBQUcsQ0FBQyx3QkFBd0IsQ0FBQztJQUM5QyxDQUFDLENBQUMsQ0FBQztJQUVILEVBQUUsQ0FBQywyQ0FBMkMsRUFBRSxHQUFHLEVBQUU7UUFDbkQsTUFBTSxDQUFDLG1DQUFtQyxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUM7SUFDekQsQ0FBQyxDQUFDLENBQUM7SUFFSCxFQUFFLENBQUMsK0JBQStCLEVBQUUsR0FBRyxFQUFFO1FBQ3ZDLE1BQU0sQ0FBQyxtQ0FBbUMsQ0FBQyxFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUN2RSwyQkFBMkIsQ0FDNUIsQ0FBQztJQUNKLENBQUMsQ0FBQyxDQUFDO0lBRUgsRUFBRSxDQUFDLGdEQUFnRCxFQUFFLEdBQUcsRUFBRTtRQUN4RCxPQUFPLENBQUMsR0FBRyxDQUFDLHdCQUF3QixHQUFHLFFBQVEsQ0FBQztRQUVoRCxNQUFNLENBQUMsbUNBQW1DLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FDaEQsMkJBQTJCLENBQzVCLENBQUM7SUFDSixDQUFDLENBQUMsQ0FBQztJQUVILEVBQUUsQ0FBQyxvREFBb0QsRUFBRSxHQUFHLEVBQUU7UUFDNUQsTUFBTSxDQUNKLG1DQUFtQyxDQUFDO1lBQ2xDLFNBQVMsRUFBRSxRQUFRO1lBQ25CLHdCQUF3QixFQUFFLGtDQUFrQztTQUM3RCxDQUFDLENBQ0gsQ0FBQyxJQUFJLENBQ0osdUZBQXVGLENBQ3hGLENBQUM7SUFDSixDQUFDLENBQUMsQ0FBQztBQUNMLENBQUMsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgYWZ0ZXJFYWNoLCBkZXNjcmliZSwgZXhwZWN0LCBpdCB9IGZyb20gJ3ZpdGVzdCc7XG5pbXBvcnQge1xuICBjcmVhdGVXb3JrZmxvd0VudHJ5cG9pbnRPcHRpb25zQ29kZSxcbiAgY3JlYXRlV29ya2Zsb3dRdWV1ZVRyaWdnZXIsXG59IGZyb20gJy4vY29uc3RhbnRzLmpzJztcblxuZGVzY3JpYmUoJ2NyZWF0ZVdvcmtmbG93UXVldWVUcmlnZ2VyJywgKCkgPT4ge1xuICBhZnRlckVhY2goKCkgPT4ge1xuICAgIGRlbGV0ZSBwcm9jZXNzLmVudi5XT1JLRkxPV19RVUVVRV9OQU1FU1BBQ0U7XG4gIH0pO1xuXG4gIGl0KCd1c2VzIHRoZSBkZWZhdWx0IHdvcmtmbG93IHRvcGljIHdpdGhvdXQgYSBuYW1lc3BhY2UnLCAoKSA9PiB7XG4gICAgZXhwZWN0KGNyZWF0ZVdvcmtmbG93UXVldWVUcmlnZ2VyKCkudG9waWMpLnRvQmUoJ19fd2tmX3dvcmtmbG93XyonKTtcbiAgfSk7XG5cbiAgaXQoJ3VzZXMgYW4gZXhwbGljaXQgbmFtZXNwYWNlIHdoZW4gcHJvdmlkZWQnLCAoKSA9PiB7XG4gICAgZXhwZWN0KGNyZWF0ZVdvcmtmbG93UXVldWVUcmlnZ2VyKHsgbmFtZXNwYWNlOiAnY3VzdG9tJyB9KS50b3BpYykudG9CZShcbiAgICAgICdfX2N1c3RvbV93a2Zfd29ya2Zsb3dfKidcbiAgICApO1xuICB9KTtcblxuICBpdCgndXNlcyBXT1JLRkxPV19RVUVVRV9OQU1FU1BBQ0Ugd2hlbiBubyBleHBsaWNpdCBuYW1lc3BhY2UgaXMgcHJvdmlkZWQnLCAoKSA9PiB7XG4gICAgcHJvY2Vzcy5lbnYuV09SS0ZMT1dfUVVFVUVfTkFNRVNQQUNFID0gJ2N1c3RvbSc7XG5cbiAgICBleHBlY3QoY3JlYXRlV29ya2Zsb3dRdWV1ZVRyaWdnZXIoKS50b3BpYykudG9CZSgnX19jdXN0b21fd2tmX3dvcmtmbG93XyonKTtcbiAgfSk7XG59KTtcblxuZGVzY3JpYmUoJ2NyZWF0ZVdvcmtmbG93RW50cnlwb2ludE9wdGlvbnNDb2RlJywgKCkgPT4ge1xuICBhZnRlckVhY2goKCkgPT4ge1xuICAgIGRlbGV0ZSBwcm9jZXNzLmVudi5XT1JLRkxPV19RVUVVRV9OQU1FU1BBQ0U7XG4gIH0pO1xuXG4gIGl0KCdvbWl0cyBydW50aW1lIG9wdGlvbnMgd2l0aG91dCBhIG5hbWVzcGFjZScsICgpID0+IHtcbiAgICBleHBlY3QoY3JlYXRlV29ya2Zsb3dFbnRyeXBvaW50T3B0aW9uc0NvZGUoKSkudG9CZSgnJyk7XG4gIH0pO1xuXG4gIGl0KCdpbmxpbmVzIGFuIGV4cGxpY2l0IG5hbWVzcGFjZScsICgpID0+IHtcbiAgICBleHBlY3QoY3JlYXRlV29ya2Zsb3dFbnRyeXBvaW50T3B0aW9uc0NvZGUoeyBuYW1lc3BhY2U6ICdjdXN0b20nIH0pKS50b0JlKFxuICAgICAgJywgeyBuYW1lc3BhY2U6IFwiY3VzdG9tXCIgfSdcbiAgICApO1xuICB9KTtcblxuICBpdCgnaW5saW5lcyBXT1JLRkxPV19RVUVVRV9OQU1FU1BBQ0UgYXQgYnVpbGQgdGltZScsICgpID0+IHtcbiAgICBwcm9jZXNzLmVudi5XT1JLRkxPV19RVUVVRV9OQU1FU1BBQ0UgPSAnY3VzdG9tJztcblxuICAgIGV4cGVjdChjcmVhdGVXb3JrZmxvd0VudHJ5cG9pbnRPcHRpb25zQ29kZSgpKS50b0JlKFxuICAgICAgJywgeyBuYW1lc3BhY2U6IFwiY3VzdG9tXCIgfSdcbiAgICApO1xuICB9KTtcblxuICBpdCgnaW5saW5lcyByb3V0ZSBtb2R1bGUgdGltaW5nIHdpdGggbmFtZXNwYWNlIG9wdGlvbnMnLCAoKSA9PiB7XG4gICAgZXhwZWN0KFxuICAgICAgY3JlYXRlV29ya2Zsb3dFbnRyeXBvaW50T3B0aW9uc0NvZGUoe1xuICAgICAgICBuYW1lc3BhY2U6ICdjdXN0b20nLFxuICAgICAgICByb3V0ZU1vZHVsZUJvZHlTdGFydGVkQXQ6ICd3b3JrZmxvd1JvdXRlTW9kdWxlQm9keVN0YXJ0ZWRBdCcsXG4gICAgICB9KVxuICAgICkudG9CZShcbiAgICAgICcsIHsgbmFtZXNwYWNlOiBcImN1c3RvbVwiLCByb3V0ZU1vZHVsZUJvZHlTdGFydGVkQXQ6IHdvcmtmbG93Um91dGVNb2R1bGVCb2R5U3RhcnRlZEF0IH0nXG4gICAgKTtcbiAgfSk7XG59KTtcbiJdfQ==
40
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uc3RhbnRzLnRlc3QuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvY29uc3RhbnRzLnRlc3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQUUsTUFBTSxFQUFFLEVBQUUsRUFBRSxNQUFNLFFBQVEsQ0FBQztBQUN6RCxPQUFPLEVBQ0wsbUNBQW1DLEVBQ25DLDBCQUEwQixHQUMzQixNQUFNLGdCQUFnQixDQUFDO0FBRXhCLFFBQVEsQ0FBQyw0QkFBNEIsRUFBRSxHQUFHLEVBQUU7SUFDMUMsU0FBUyxDQUFDLEdBQUcsRUFBRTtRQUNiLE9BQU8sT0FBTyxDQUFDLEdBQUcsQ0FBQyx3QkFBd0IsQ0FBQztJQUM5QyxDQUFDLENBQUMsQ0FBQztJQUVILEVBQUUsQ0FBQyxxREFBcUQsRUFBRSxHQUFHLEVBQUU7UUFDN0QsTUFBTSxDQUFDLDBCQUEwQixFQUFFLENBQUMsS0FBSyxDQUFDLENBQUMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLENBQUM7SUFDdEUsQ0FBQyxDQUFDLENBQUM7SUFFSCxFQUFFLENBQUMsMENBQTBDLEVBQUUsR0FBRyxFQUFFO1FBQ2xELE1BQU0sQ0FBQywwQkFBMEIsQ0FBQyxFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQUUsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLElBQUksQ0FDcEUseUJBQXlCLENBQzFCLENBQUM7SUFDSixDQUFDLENBQUMsQ0FBQztJQUVILEVBQUUsQ0FBQyxzRUFBc0UsRUFBRSxHQUFHLEVBQUU7UUFDOUUsT0FBTyxDQUFDLEdBQUcsQ0FBQyx3QkFBd0IsR0FBRyxRQUFRLENBQUM7UUFFaEQsTUFBTSxDQUFDLDBCQUEwQixFQUFFLENBQUMsS0FBSyxDQUFDLENBQUMsSUFBSSxDQUFDLHlCQUF5QixDQUFDLENBQUM7SUFDN0UsQ0FBQyxDQUFDLENBQUM7QUFDTCxDQUFDLENBQUMsQ0FBQztBQUVILFFBQVEsQ0FBQyxxQ0FBcUMsRUFBRSxHQUFHLEVBQUU7SUFDbkQsU0FBUyxDQUFDLEdBQUcsRUFBRTtRQUNiLE9BQU8sT0FBTyxDQUFDLEdBQUcsQ0FBQyx3QkFBd0IsQ0FBQztJQUM5QyxDQUFDLENBQUMsQ0FBQztJQUVILEVBQUUsQ0FBQywyQ0FBMkMsRUFBRSxHQUFHLEVBQUU7UUFDbkQsTUFBTSxDQUFDLG1DQUFtQyxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUM7SUFDekQsQ0FBQyxDQUFDLENBQUM7SUFFSCxFQUFFLENBQUMsK0JBQStCLEVBQUUsR0FBRyxFQUFFO1FBQ3ZDLE1BQU0sQ0FBQyxtQ0FBbUMsQ0FBQyxFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUN2RSwyQkFBMkIsQ0FDNUIsQ0FBQztJQUNKLENBQUMsQ0FBQyxDQUFDO0lBRUgsRUFBRSxDQUFDLGdEQUFnRCxFQUFFLEdBQUcsRUFBRTtRQUN4RCxPQUFPLENBQUMsR0FBRyxDQUFDLHdCQUF3QixHQUFHLFFBQVEsQ0FBQztRQUVoRCxNQUFNLENBQUMsbUNBQW1DLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FDaEQsMkJBQTJCLENBQzVCLENBQUM7SUFDSixDQUFDLENBQUMsQ0FBQztJQUVILEVBQUUsQ0FBQyxvREFBb0QsRUFBRSxHQUFHLEVBQUU7UUFDNUQsTUFBTSxDQUNKLG1DQUFtQyxDQUFDO1lBQ2xDLFNBQVMsRUFBRSxRQUFRO1lBQ25CLFFBQVEsRUFBRSxLQUFLO1lBQ2Ysd0JBQXdCLEVBQUUsa0NBQWtDO1NBQzdELENBQUMsQ0FDSCxDQUFDLElBQUksQ0FDSix3R0FBd0csQ0FDekcsQ0FBQztJQUNKLENBQUMsQ0FBQyxDQUFDO0FBQ0wsQ0FBQyxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBhZnRlckVhY2gsIGRlc2NyaWJlLCBleHBlY3QsIGl0IH0gZnJvbSAndml0ZXN0JztcbmltcG9ydCB7XG4gIGNyZWF0ZVdvcmtmbG93RW50cnlwb2ludE9wdGlvbnNDb2RlLFxuICBjcmVhdGVXb3JrZmxvd1F1ZXVlVHJpZ2dlcixcbn0gZnJvbSAnLi9jb25zdGFudHMuanMnO1xuXG5kZXNjcmliZSgnY3JlYXRlV29ya2Zsb3dRdWV1ZVRyaWdnZXInLCAoKSA9PiB7XG4gIGFmdGVyRWFjaCgoKSA9PiB7XG4gICAgZGVsZXRlIHByb2Nlc3MuZW52LldPUktGTE9XX1FVRVVFX05BTUVTUEFDRTtcbiAgfSk7XG5cbiAgaXQoJ3VzZXMgdGhlIGRlZmF1bHQgd29ya2Zsb3cgdG9waWMgd2l0aG91dCBhIG5hbWVzcGFjZScsICgpID0+IHtcbiAgICBleHBlY3QoY3JlYXRlV29ya2Zsb3dRdWV1ZVRyaWdnZXIoKS50b3BpYykudG9CZSgnX193a2Zfd29ya2Zsb3dfKicpO1xuICB9KTtcblxuICBpdCgndXNlcyBhbiBleHBsaWNpdCBuYW1lc3BhY2Ugd2hlbiBwcm92aWRlZCcsICgpID0+IHtcbiAgICBleHBlY3QoY3JlYXRlV29ya2Zsb3dRdWV1ZVRyaWdnZXIoeyBuYW1lc3BhY2U6ICdjdXN0b20nIH0pLnRvcGljKS50b0JlKFxuICAgICAgJ19fY3VzdG9tX3drZl93b3JrZmxvd18qJ1xuICAgICk7XG4gIH0pO1xuXG4gIGl0KCd1c2VzIFdPUktGTE9XX1FVRVVFX05BTUVTUEFDRSB3aGVuIG5vIGV4cGxpY2l0IG5hbWVzcGFjZSBpcyBwcm92aWRlZCcsICgpID0+IHtcbiAgICBwcm9jZXNzLmVudi5XT1JLRkxPV19RVUVVRV9OQU1FU1BBQ0UgPSAnY3VzdG9tJztcblxuICAgIGV4cGVjdChjcmVhdGVXb3JrZmxvd1F1ZXVlVHJpZ2dlcigpLnRvcGljKS50b0JlKCdfX2N1c3RvbV93a2Zfd29ya2Zsb3dfKicpO1xuICB9KTtcbn0pO1xuXG5kZXNjcmliZSgnY3JlYXRlV29ya2Zsb3dFbnRyeXBvaW50T3B0aW9uc0NvZGUnLCAoKSA9PiB7XG4gIGFmdGVyRWFjaCgoKSA9PiB7XG4gICAgZGVsZXRlIHByb2Nlc3MuZW52LldPUktGTE9XX1FVRVVFX05BTUVTUEFDRTtcbiAgfSk7XG5cbiAgaXQoJ29taXRzIHJ1bnRpbWUgb3B0aW9ucyB3aXRob3V0IGEgbmFtZXNwYWNlJywgKCkgPT4ge1xuICAgIGV4cGVjdChjcmVhdGVXb3JrZmxvd0VudHJ5cG9pbnRPcHRpb25zQ29kZSgpKS50b0JlKCcnKTtcbiAgfSk7XG5cbiAgaXQoJ2lubGluZXMgYW4gZXhwbGljaXQgbmFtZXNwYWNlJywgKCkgPT4ge1xuICAgIGV4cGVjdChjcmVhdGVXb3JrZmxvd0VudHJ5cG9pbnRPcHRpb25zQ29kZSh7IG5hbWVzcGFjZTogJ2N1c3RvbScgfSkpLnRvQmUoXG4gICAgICAnLCB7IG5hbWVzcGFjZTogXCJjdXN0b21cIiB9J1xuICAgICk7XG4gIH0pO1xuXG4gIGl0KCdpbmxpbmVzIFdPUktGTE9XX1FVRVVFX05BTUVTUEFDRSBhdCBidWlsZCB0aW1lJywgKCkgPT4ge1xuICAgIHByb2Nlc3MuZW52LldPUktGTE9XX1FVRVVFX05BTUVTUEFDRSA9ICdjdXN0b20nO1xuXG4gICAgZXhwZWN0KGNyZWF0ZVdvcmtmbG93RW50cnlwb2ludE9wdGlvbnNDb2RlKCkpLnRvQmUoXG4gICAgICAnLCB7IG5hbWVzcGFjZTogXCJjdXN0b21cIiB9J1xuICAgICk7XG4gIH0pO1xuXG4gIGl0KCdpbmxpbmVzIHJvdXRlIG1vZHVsZSB0aW1pbmcgd2l0aCBuYW1lc3BhY2Ugb3B0aW9ucycsICgpID0+IHtcbiAgICBleHBlY3QoXG4gICAgICBjcmVhdGVXb3JrZmxvd0VudHJ5cG9pbnRPcHRpb25zQ29kZSh7XG4gICAgICAgIG5hbWVzcGFjZTogJ2N1c3RvbScsXG4gICAgICAgIGJhc2VQYXRoOiAnL3YyJyxcbiAgICAgICAgcm91dGVNb2R1bGVCb2R5U3RhcnRlZEF0OiAnd29ya2Zsb3dSb3V0ZU1vZHVsZUJvZHlTdGFydGVkQXQnLFxuICAgICAgfSlcbiAgICApLnRvQmUoXG4gICAgICAnLCB7IG5hbWVzcGFjZTogXCJjdXN0b21cIiwgYmFzZVBhdGg6IFwiL3YyXCIsIHJvdXRlTW9kdWxlQm9keVN0YXJ0ZWRBdDogd29ya2Zsb3dSb3V0ZU1vZHVsZUJvZHlTdGFydGVkQXQgfSdcbiAgICApO1xuICB9KTtcbn0pO1xuIl19
@@ -1,7 +1,9 @@
1
1
  import type { Plugin } from 'esbuild';
2
2
  export declare const jsTsRegex: RegExp;
3
3
  export declare const importParents: Map<string, Set<string>>;
4
- export declare function parentHasChild(parent: string, childToFind: string): boolean;
4
+ export declare function parentHasChild(parent: string, childToFind: string, { excludedRoots, }?: {
5
+ excludedRoots?: Iterable<string>;
6
+ }): boolean;
5
7
  export declare function createDiscoverEntriesPlugin(state: {
6
8
  discoveredSteps: Set<string>;
7
9
  discoveredWorkflows: Set<string>;
@@ -1 +1 @@
1
- {"version":3,"file":"discover-entries-esbuild-plugin.d.ts","sourceRoot":"","sources":["../src/discover-entries-esbuild-plugin.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AA2BtC,eAAO,MAAM,SAAS,QAAuC,CAAC;AAyB9D,eAAO,MAAM,aAAa,0BAAiC,CAAC;AAK5D,wBAAgB,cAAc,CAAC,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO,CA0B3E;AAED,wBAAgB,2BAA2B,CACzC,KAAK,EAAE;IACL,eAAe,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IAC7B,mBAAmB,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IACjC,oBAAoB,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;CACnC,EACD,WAAW,CAAC,EAAE,MAAM,GACnB,MAAM,CAiIR"}
1
+ {"version":3,"file":"discover-entries-esbuild-plugin.d.ts","sourceRoot":"","sources":["../src/discover-entries-esbuild-plugin.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AA2BtC,eAAO,MAAM,SAAS,QAAuC,CAAC;AAyB9D,eAAO,MAAM,aAAa,0BAAiC,CAAC;AAK5D,wBAAgB,cAAc,CAC5B,MAAM,EAAE,MAAM,EACd,WAAW,EAAE,MAAM,EACnB,EACE,aAAa,GACd,GAAE;IACD,aAAa,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC;CAC7B,GACL,OAAO,CA8BT;AAED,wBAAgB,2BAA2B,CACzC,KAAK,EAAE;IACL,eAAe,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IAC7B,mBAAmB,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IACjC,oBAAoB,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;CACnC,EACD,WAAW,CAAC,EAAE,MAAM,GACnB,MAAM,CAiIR"}
@@ -40,8 +40,9 @@ export const importParents = new Map();
40
40
  // check if a parent has a child in its import chain
41
41
  // e.g. if a dependency needs to be bundled because it has
42
42
  // a 'use workflow/'use step' directive in it
43
- export function parentHasChild(parent, childToFind) {
43
+ export function parentHasChild(parent, childToFind, { excludedRoots, } = {}) {
44
44
  const visited = new Set();
45
+ const excluded = new Set(excludedRoots);
45
46
  const queue = [parent];
46
47
  while (queue.length > 0) {
47
48
  const current = queue.shift();
@@ -54,6 +55,9 @@ export function parentHasChild(parent, childToFind) {
54
55
  continue;
55
56
  }
56
57
  for (const child of children) {
58
+ if (excluded.has(child)) {
59
+ continue;
60
+ }
57
61
  if (child === childToFind) {
58
62
  return true;
59
63
  }
@@ -169,4 +173,4 @@ export function createDiscoverEntriesPlugin(state, projectRoot) {
169
173
  },
170
174
  };
171
175
  }
172
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlzY292ZXItZW50cmllcy1lc2J1aWxkLXBsdWdpbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9kaXNjb3Zlci1lbnRyaWVzLWVzYnVpbGQtcGx1Z2luLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUM1QyxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBQ3RDLE9BQU8sdUJBQXVCLE1BQU0sa0JBQWtCLENBQUM7QUFHdkQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDN0QsT0FBTyxFQUNMLHNCQUFzQixFQUN0Qix1QkFBdUIsR0FDeEIsTUFBTSxzQkFBc0IsQ0FBQztBQUU5QixNQUFNLGVBQWUsR0FBRyxTQUFTLENBQy9CLHVCQUF1QixDQUFDLE1BQU0sQ0FBQztJQUM3QixVQUFVLEVBQUU7UUFDVixLQUFLO1FBQ0wsTUFBTTtRQUNOLE1BQU07UUFDTixNQUFNO1FBQ04sS0FBSztRQUNMLE1BQU07UUFDTixNQUFNO1FBQ04sTUFBTTtRQUNOLE9BQU87UUFDUCxPQUFPO0tBQ1I7SUFDRCxjQUFjLEVBQUUsS0FBSztJQUNyQixjQUFjLEVBQUUsQ0FBQyxNQUFNLEVBQUUsUUFBUSxFQUFFLFNBQVMsQ0FBQztDQUM5QyxDQUFDLENBQ0gsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLFNBQVMsR0FBRyxvQ0FBb0MsQ0FBQztBQUU5RCxpRUFBaUU7QUFDakUsU0FBUyxrQkFBa0IsQ0FDekIsT0FBaUQ7SUFFakQsSUFBSSxDQUFDLE9BQU87UUFBRSxPQUFPLEtBQUssQ0FBQztJQUMzQixPQUFPLE1BQU0sQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUMsSUFBSSxDQUNoQyxDQUFDLE9BQU8sRUFBRSxFQUFFLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxD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QkFFdkIsSUFBSSxrQkFBa0IsQ0FBQyxnQkFBZ0IsQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFDOzRCQUNuRCxLQUFLLENBQUMsbUJBQW1CLENBQUMsR0FBRyxDQUFDLGNBQWMsQ0FBQyxDQUFDO3dCQUNoRCxDQUFDO3dCQUNELElBQUksa0JBQWtCLENBQUMsZ0JBQWdCLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQzs0QkFDL0MsS0FBSyxDQUFDLGVBQWUsQ0FBQyxHQUFHLENBQUMsY0FBYyxDQUFDLENBQUM7d0JBQzVDLENBQUM7d0JBRUQsSUFBSSxrQkFBa0IsQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDOzRCQUNqRCxLQUFLLENBQUMsb0JBQW9CLENBQUMsR0FBRyxDQUFDLGNBQWMsQ0FBQyxDQUFDO3dCQUNqRCxDQUFDO29CQUNILENBQUM7eUJBQU0sQ0FBQzt3QkFDTixNQUFNLEVBQUUsSUFBSSxFQUFFLEdBQUcsTUFBTSxpQkFBaUIsQ0FDdEMsY0FBYyxFQUNkLE1BQU0sRUFDTixLQUFLLEVBQ0wsY0FBYyxFQUNkLG1CQUFtQixDQUNwQixDQUFDO3dCQUNGLGVBQWUsR0FBRyxJQUFJLENBQUM7b0JBQ3pCLENBQUM7b0JBRUQsT0FBTzt3QkFDTCxRQUFRLEVBQUUsZUFBZTt3QkFDekIsTUFBTTtxQkFDUCxDQUFDO2dCQUNKLENBQUM7Z0JBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQztvQkFDWCw0Q0FBNEM7b0JBQzVDLE9BQU87d0JBQ0wsUUFBUSxFQUFFLEVBQUU7d0JBQ1osTUFBTSxFQUFFLElBQUk7cUJBQ2IsQ0FBQztnQkFDSixDQUFDO1lBQ0gsQ0FBQyxDQUFDLENBQUM7UUFDTCxDQUFDO0tBQ0YsQ0FBQztBQUNKLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyByZWFkRmlsZSB9IGZyb20gJ25vZGU6ZnMvcHJvbWlzZXMnO1xuaW1wb3J0IHsgcHJvbWlzaWZ5IH0gZnJvbSAnbm9kZTp1dGlsJztcbmltcG9ydCBlbmhhbmNlZFJlc29sdmVPcmlnaW5hbCBmcm9tICdlbmhhbmNlZC1yZXNvbHZlJztcbmltcG9ydCB0eXBlIHsgUGx1Z2luIH0gZnJvbSAnZXNidWlsZCc7XG5pbXBvcnQgdHlwZSB7IFdvcmtmbG93TWFuaWZlc3QgfSBmcm9tICcuL2FwcGx5LXN3Yy10cmFuc2Zvcm0uanMnO1xuaW1wb3J0IHsgYXBwbHlTd2NUcmFuc2Zvcm0gfSBmcm9tICcuL2FwcGx5LXN3Yy10cmFuc2Zvcm0uanMnO1xuaW1wb3J0IHtcbiAgZGV0ZWN0V29ya2Zsb3dQYXR0ZXJucyxcbiAgaXNHZW5lcmF0ZWRXb3JrZmxvd0ZpbGUsXG59IGZyb20gJy4vdHJhbnNmb3JtLXV0aWxzLmpzJztcblxuY29uc3QgZW5oYW5jZWRSZXNvbHZlID0gcHJvbWlzaWZ5KFxuICBlbmhhbmNlZFJlc29sdmVPcmlnaW5hbC5jcmVhdGUoe1xuICAgIGV4dGVuc2lvbnM6IFtcbiAgICAgICcudHMnLFxuICAgICAgJy50c3gnLFxuICAgICAgJy5tdHMnLFxuICAgICAgJy5jdHMnLFxuICAgICAgJy5qcycsXG4gICAgICAnLmpzeCcsXG4gICAgICAnLm1qcycsXG4gICAgICAnLmNqcycsXG4gICAgICAnLmpzb24nLFxuICAgICAgJy5ub2RlJyxcbiAgICBdLFxuICAgIGZ1bGx5U3BlY2lmaWVkOiBmYWxzZSxcbiAgICBjb25kaXRpb25OYW1lczogWydub2RlJywgJ2ltcG9ydCcsICdyZXF1aXJlJ10sXG4gIH0pXG4pO1xuXG5leHBvcnQgY29uc3QganNUc1JlZ2V4ID0gL1xcLih0c3x0c3h8anN8anN4fG1qc3xjanN8bXRzfGN0cykkLztcblxuLyoqIFJldHVybnMgdHJ1ZSBpZiBhIG1hbmlmZXN0IHNlY3Rpb24gaGFzIGF0IGxlYXN0IG9uZSBlbnRyeS4gKi9cbmZ1bmN0aW9uIGhhc01hbmlmZXN0RW50cmllcyhcbiAgc2VjdGlvbjogV29ya2Zsb3dNYW5pZmVzdFtrZXlvZiBXb3JrZmxvd01hbmlmZXN0XVxuKTogYm9vbGVhbiB7XG4gIGlmICghc2VjdGlvbikgcmV0dXJuIGZhbHNlO1xuICByZXR1cm4gT2JqZWN0LnZhbHVlcyhzZWN0aW9uKS5zb21lKFxuICAgIChlbnRyaWVzKSA9PiBPYmplY3Qua2V5cyhlbnRyaWVzKS5sZW5ndGggPiAwXG4gICk7XG59XG5cbmZ1bmN0aW9uIGlzR2VuZXJhdGVkQnVpbGRBcnRpZmFjdFBhdGgoZmlsZVBhdGg6IHN0cmluZyk6IGJvb2xlYW4ge1xuICBjb25zdCBub3JtYWxpemVkUGF0aCA9IGZpbGVQYXRoLnJlcGxhY2UoL1xcXFwvZywgJy8nKTtcbiAgcmV0dXJuIChcbiAgICBub3JtYWxpemVkUGF0aC5pbmNsdWRlcygnLy5uaXRyby8nKSB8fFxuICAgIG5vcm1hbGl6ZWRQYXRoLmluY2x1ZGVzKCcvLm91dHB1dC8nKSB8fFxuICAgIG5vcm1hbGl6ZWRQYXRoLmluY2x1ZGVzKCcvLm5leHQvJykgfHxcbiAgICBub3JtYWxpemVkUGF0aC5pbmNsdWRlcygnLy5udXh0LycpIHx8XG4gICAgbm9ybWFsaXplZFBhdGguaW5jbHVkZXMoJy8uc3ZlbHRlLWtpdC8nKSB8fFxuICAgIG5vcm1hbGl6ZWRQYXRoLmluY2x1ZGVzKCcvLnZlcmNlbC8nKVxuICApO1xufVxuXG4vLyBwYXJlbnQgLT4gY2hpbGRyZW4gcmVsYXRpb25zaGlwIChhIGZpbGUgY2FuIGltcG9ydCBtdWx0aXBsZSBmaWxlcylcbmV4cG9ydCBjb25zdCBpbXBvcnRQYXJlbnRzID0gbmV3IE1hcDxzdHJpbmcsIFNldDxzdHJpbmc+PigpO1xuXG4vLyBjaGVjayBpZiBhIHBhcmVudCBoYXMgYSBjaGlsZCBpbiBpdHMgaW1wb3J0IGNoYWluXG4vLyBlLmcuIGlmIGEgZGVwZW5kZW5jeSBuZWVkcyB0byBiZSBidW5kbGVkIGJlY2F1c2UgaXQgaGFzXG4vLyBhICd1c2Ugd29ya2Zsb3cvJ3VzZSBzdGVwJyBkaXJlY3RpdmUgaW4gaXRcbmV4cG9ydCBmdW5jdGlvbiBwYXJlbnRIYXNDaGlsZChwYXJlbnQ6IHN0cmluZywgY2hpbGRUb0ZpbmQ6IHN0cmluZyk6IGJvb2xlYW4ge1xuICBjb25zdCB2aXNpdGVkID0gbmV3IFNldDxzdHJpbmc+KCk7XG4gIGNvbnN0IHF1ZXVlOiBzdHJpbmdbXSA9IFtwYXJlbnRdO1xuXG4gIHdoaWxlIChxdWV1ZS5sZW5ndGggPiAwKSB7XG4gICAgY29uc3QgY3VycmVudCA9IHF1ZXVlLnNoaWZ0KCkhO1xuXG4gICAgaWYgKHZpc2l0ZWQuaGFzKGN1cnJlbnQpKSB7XG4gICAgICBjb250aW51ZTtcbiAgICB9XG4gICAgdmlzaXRlZC5hZGQoY3VycmVudCk7XG5cbiAgICBjb25zdCBjaGlsZHJlbiA9IGltcG9ydFBhcmVudHMuZ2V0KGN1cnJlbnQpO1xuICAgIGlmICghY2hpbGRyZW4pIHtcbiAgICAgIGNvbnRpbnVlO1xuICAgIH1cblxuICAgIGZvciAoY29uc3QgY2hpbGQgb2YgY2hpbGRyZW4pIHtcbiAgICAgIGlmIChjaGlsZCA9PT0gY2hpbGRUb0ZpbmQpIHtcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICB9XG4gICAgICBxdWV1ZS5wdXNoKGNoaWxkKTtcbiAgICB9XG4gIH1cblxuICByZXR1cm4gZmFsc2U7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBjcmVhdGVEaXNjb3ZlckVudHJpZXNQbHVnaW4oXG4gIHN0YXRlOiB7XG4gICAgZGlzY292ZXJlZFN0ZXBzOiBTZXQ8c3RyaW5nPjtcbiAgICBkaXNjb3ZlcmVkV29ya2Zsb3dzOiBTZXQ8c3RyaW5nPjtcbiAgICBkaXNjb3ZlcmVkU2VyZGVGaWxlczogU2V0PHN0cmluZz47XG4gIH0sXG4gIHByb2plY3RSb290Pzogc3RyaW5nXG4pOiBQbHVnaW4ge1xuICByZXR1cm4ge1xuICAgIG5hbWU6ICdkaXNjb3Zlci1lbnRyaWVzLWVzYnVpbGQtcGx1Z2luJyxcbiAgICBzZXR1cChidWlsZCkge1xuICAgICAgLy8gVHJhY2sgcGFyZW504oaSY2hpbGQgaW1wb3J0IHJlbGF0aW9uc2hpcHMgZm9yIEFMTCBpbXBvcnRzIChub3QganVzdFxuICAgICAgLy8gdGhvc2Ugd2l0aCBmaWxlIGV4dGVuc2lvbnMpIHNvIHRoYXQgYHBhcmVudEhhc0NoaWxkKClgIGNhbiBjb3JyZWN0bHlcbiAgICAgIC8vIGlkZW50aWZ5IHRyYW5zaXRpdmUgcGFyZW50cyBvZiBzZXJkZS9zdGVwIGZpbGVzIGV2ZW4gd2hlbiB0aGVcbiAgICAgIC8vIGRlcGVuZGVuY3kgY2hhaW4gcGFzc2VzIHRocm91Z2ggYmFyZSBzcGVjaWZpZXIgaW1wb3J0cyBsaWtlXG4gICAgICAvLyBgQHdvcmtmbG93L2NvcmUvcnVudGltZWAgb3IgYHdvcmtmbG93L3J1bnRpbWVgLlxuICAgICAgYnVpbGQub25SZXNvbHZlKHsgZmlsdGVyOiAvLiovIH0sIGFzeW5jIChhcmdzKSA9PiB7XG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgY29uc3QgcmVzb2x2ZWQgPSBhd2FpdCBlbmhhbmNlZFJlc29sdmUoYXJncy5yZXNvbHZlRGlyLCBhcmdzLnBhdGgpO1xuXG4gICAgICAgICAgaWYgKHJlc29sdmVkKSB7XG4gICAgICAgICAgICAvLyBOb3JtYWxpemUgcGF0aCBzZXBhcmF0b3JzIGZvciBjcm9zcy1wbGF0Zm9ybSBjb21wYXRpYmlsaXR5XG4gICAgICAgICAgICBjb25zdCBub3JtYWxpemVkSW1wb3J0ZXIgPSBhcmdzLmltcG9ydGVyLnJlcGxhY2UoL1xcXFwvZywgJy8nKTtcbiAgICAgICAgICAgIGNvbnN0IG5vcm1hbGl6ZWRSZXNvbHZlZCA9IHJlc29sdmVkLnJlcGxhY2UoL1xcXFwvZywgJy8nKTtcbiAgICAgICAgICAgIC8vIEEgZmlsZSBjYW4gaW1wb3J0IG11bHRpcGxlIGZpbGVzLCBzbyB3ZSBzdG9yZSBhIFNldCBvZiBjaGlsZHJlblxuICAgICAgICAgICAgbGV0IGNoaWxkcmVuID0gaW1wb3J0UGFyZW50cy5nZXQobm9ybWFsaXplZEltcG9ydGVyKTtcbiAgICAgICAgICAgIGlmICghY2hpbGRyZW4pIHtcbiAgICAgICAgICAgICAgY2hpbGRyZW4gPSBuZXcgU2V0PHN0cmluZz4oKTtcbiAgICAgICAgICAgICAgaW1wb3J0UGFyZW50cy5zZXQobm9ybWFsaXplZEltcG9ydGVyLCBjaGlsZHJlbik7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBjaGlsZHJlbi5hZGQobm9ybWFsaXplZFJlc29sdmVkKTtcbiAgICAgICAgICB9XG4gICAgICAgIH0gY2F0Y2ggKF8pIHt9XG4gICAgICAgIHJldHVybiBudWxsO1xuICAgICAgfSk7XG5cbiAgICAgIC8vIEhhbmRsZSBUeXBlU2NyaXB0IGFuZCBKYXZhU2NyaXB0IGZpbGVzXG4gICAgICBidWlsZC5vbkxvYWQoeyBmaWx0ZXI6IGpzVHNSZWdleCB9LCBhc3luYyAoYXJncykgPT4ge1xuICAgICAgICB0cnkge1xuICAgICAgICAgIGlmIChpc0dlbmVyYXRlZEJ1aWxkQXJ0aWZhY3RQYXRoKGFyZ3MucGF0aCkpIHtcbiAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgIGNvbnRlbnRzOiAnJyxcbiAgICAgICAgICAgICAgbG9hZGVyOiAnanMnLFxuICAgICAgICAgICAgfTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAvLyBTa2lwIGdlbmVyYXRlZCB3b3JrZmxvdyByb3V0ZSBmaWxlcyB0byBhdm9pZCByZS1wcm9jZXNzaW5nIHRoZW1cbiAgICAgICAgICBpZiAoaXNHZW5lcmF0ZWRXb3JrZmxvd0ZpbGUoYXJncy5wYXRoKSkge1xuICAgICAgICAgICAgY29uc3Qgc291cmNlID0gYXdhaXQgcmVhZEZpbGUoYXJncy5wYXRoLCAndXRmOCcpO1xuICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgY29udGVudHM6IHNvdXJjZSxcbiAgICAgICAgICAgICAgbG9hZGVyOiBhcmdzLnBhdGguZW5kc1dpdGgoJy5qc3gnKSA/ICdqc3gnIDogJ2pzJyxcbiAgICAgICAgICAgIH07XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgLy8gRGV0ZXJtaW5lIHRoZSBsb2FkZXIgYmFzZWQgb24gdGhlIG91dHB1dFxuICAgICAgICAgIGxldCBsb2FkZXI6ICdqcycgfCAnanN4JyA9ICdqcyc7XG4gICAgICAgICAgY29uc3QgaXNUeXBlU2NyaXB0ID1cbiAgICAgICAgICAgIGFyZ3MucGF0aC5lbmRzV2l0aCgnLnRzJykgfHxcbiAgICAgICAgICAgIGFyZ3MucGF0aC5lbmRzV2l0aCgnLnRzeCcpIHx8XG4gICAgICAgICAgICBhcmdzLnBhdGguZW5kc1dpdGgoJy5tdHMnKSB8fFxuICAgICAgICAgICAgYXJncy5wYXRoLmVuZHNXaXRoKCcuY3RzJyk7XG4gICAgICAgICAgaWYgKCFpc1R5cGVTY3JpcHQgJiYgYXJncy5wYXRoLmVuZHNXaXRoKCcuanN4JykpIHtcbiAgICAgICAgICAgIGxvYWRlciA9ICdqc3gnO1xuICAgICAgICAgIH1cbiAgICAgICAgICBjb25zdCBzb3VyY2UgPSBhd2FpdCByZWFkRmlsZShhcmdzLnBhdGgsICd1dGY4Jyk7XG5cbiAgICAgICAgICAvLyBOb3JtYWxpemUgcGF0aCBzZXBhcmF0b3JzIHRvIGZvcndhcmQgc2xhc2hlcyBmb3IgY3Jvc3MtcGxhdGZvcm0gY29tcGF0aWJpbGl0eVxuICAgICAgICAgIC8vIFRoaXMgaXMgY3JpdGljYWwgZm9yIFdpbmRvd3Mgd2hlcmUgcGF0aHMgY29udGFpbiBiYWNrc2xhc2hlc1xuICAgICAgICAgIGNvbnN0IG5vcm1hbGl6ZWRQYXRoID0gYXJncy5wYXRoLnJlcGxhY2UoL1xcXFwvZywgJy8nKTtcblxuICAgICAgICAgIGNvbnN0IHJlc29sdmVkUHJvamVjdFJvb3QgPVxuICAgICAgICAgICAgcHJvamVjdFJvb3QgfHwgYnVpbGQuaW5pdGlhbE9wdGlvbnMuYWJzV29ya2luZ0RpciB8fCBwcm9jZXNzLmN3ZCgpO1xuXG4gICAgICAgICAgLy8gVHdvLXBoYXNlIGRpc2NvdmVyeTpcbiAgICAgICAgICAvLyAgMS4gRmFzdCByZWdleHAgcHJlLXNjYW4gZmlsdGVycyBvdXQgdGhlIHZhc3QgbWFqb3JpdHkgb2YgZmlsZXMuXG4gICAgICAgICAgLy8gIDIuIEZvciB0aGUgc21hbGwgbnVtYmVyIHRoYXQgbWF0Y2gsIHJ1biB0aGUgU1dDIHBsdWdpbiBpbiAnZGV0ZWN0J1xuICAgICAgICAgIC8vICAgICBtb2RlIHRvIGdldCBhbiBBU1QtbGV2ZWwgbWFuaWZlc3QuIERldGVjdCBtb2RlIHdhbGtzIHRoZSBBU1QgdG9cbiAgICAgICAgICAvLyAgICAgZmluZCBkaXJlY3RpdmVzIGFuZCBzZXJkZSBwYXR0ZXJucyBidXQgZG9lcyBOT1QgdHJhbnNmb3JtIGFueVxuICAgICAgICAgIC8vICAgICBjb2RlLCBlbGltaW5hdGluZyBmYWxzZSBwb3NpdGl2ZXMgd2hlcmUgZGlyZWN0aXZlLWxpa2Ugc3RyaW5nc1xuICAgICAgICAgIC8vICAgICBhcHBlYXIgaW5zaWRlIHRlbXBsYXRlIGxpdGVyYWxzLCByZWd1bGFyIHN0cmluZ3MsIG9yIGNvbW1lbnRzLlxuICAgICAgICAgIC8vXG4gICAgICAgICAgLy8gQWxsIGZpbGVzIGFyZSB0cmFuc2Zvcm1lZCBieSBTV0MgKFRT4oaSSlMsIGRlY29yYXRvcnMsIGV0Yy4pIHNpbmNlXG4gICAgICAgICAgLy8gZXNidWlsZCBkb2VzIG5vdCBzdXBwb3J0IGFsbCBUeXBlU2NyaXB0IHN5bnRheCAoZS5nLiBsZWdhY3lcbiAgICAgICAgICAvLyBkZWNvcmF0b3JzLCBlbWl0RGVjb3JhdG9yTWV0YWRhdGEpLiBGb3IgcmVnZXhwLW1hdGNoZWQgZmlsZXMgdGhlXG4gICAgICAgICAgLy8gJ2RldGVjdCcgY2FsbCBoYW5kbGVzIGJvdGggdGhlIHN5bnRheCB0cmFuc2Zvcm0gYW5kIHRoZSBtYW5pZmVzdFxuICAgICAgICAgIC8vIGluIGEgc2luZ2xlIHBhc3M7IGZvciBhbGwgb3RoZXIgZmlsZXMgYSBtb2RlOmZhbHNlIGNhbGwgaXMgdXNlZC5cbiAgICAgICAgICBjb25zdCBwYXR0ZXJucyA9IGRldGVjdFdvcmtmbG93UGF0dGVybnMoc291cmNlKTtcblxuICAgICAgICAgIGxldCB0cmFuc2Zvcm1lZENvZGU6IHN0cmluZztcblxuICAgICAgICAgIGlmIChwYXR0ZXJucy5oYXNEaXJlY3RpdmUgfHwgcGF0dGVybnMuaGFzU2VyZGUpIHtcbiAgICAgICAgICAgIGNvbnN0IHsgY29kZSwgd29ya2Zsb3dNYW5pZmVzdCB9ID0gYXdhaXQgYXBwbHlTd2NUcmFuc2Zvcm0oXG4gICAgICAgICAgICAgIG5vcm1hbGl6ZWRQYXRoLFxuICAgICAgICAgICAgICBzb3VyY2UsXG4gICAgICAgICAgICAgICdkZXRlY3QnLFxuICAgICAgICAgICAgICBub3JtYWxpemVkUGF0aCxcbiAgICAgICAgICAgICAgcmVzb2x2ZWRQcm9qZWN0Um9vdFxuICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIHRyYW5zZm9ybWVkQ29kZSA9IGNvZGU7XG5cbiAgICAgICAgICAgIGlmIChoYXNNYW5pZmVzdEVudHJpZXMod29ya2Zsb3dNYW5pZmVzdC53b3JrZmxvd3MpKSB7XG4gICAgICAgICAgICAgIHN0YXRlLmRpc2NvdmVyZWRXb3JrZmxvd3MuYWRkKG5vcm1hbGl6ZWRQYXRoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmIChoYXNNYW5pZmVzdEVudHJpZXMod29ya2Zsb3dNYW5pZmVzdC5zdGVwcykpIHtcbiAgICAgICAgICAgICAgc3RhdGUuZGlzY292ZXJlZFN0ZXBzLmFkZChub3JtYWxpemVkUGF0aCk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGlmIChoYXNNYW5pZmVzdEVudHJpZXMod29ya2Zsb3dNYW5pZmVzdC5jbGFzc2VzKSkge1xuICAgICAgICAgICAgICBzdGF0ZS5kaXNjb3ZlcmVkU2VyZGVGaWxlcy5hZGQobm9ybWFsaXplZFBhdGgpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBjb25zdCB7IGNvZGUgfSA9IGF3YWl0IGFwcGx5U3djVHJhbnNmb3JtKFxuICAgICAgICAgICAgICBub3JtYWxpemVkUGF0aCxcbiAgICAgICAgICAgICAgc291cmNlLFxuICAgICAgICAgICAgICBmYWxzZSxcbiAgICAgICAgICAgICAgbm9ybWFsaXplZFBhdGgsXG4gICAgICAgICAgICAgIHJlc29sdmVkUHJvamVjdFJvb3RcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgICB0cmFuc2Zvcm1lZENvZGUgPSBjb2RlO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICBjb250ZW50czogdHJhbnNmb3JtZWRDb2RlLFxuICAgICAgICAgICAgbG9hZGVyLFxuICAgICAgICAgIH07XG4gICAgICAgIH0gY2F0Y2ggKF8pIHtcbiAgICAgICAgICAvLyBpZ25vcmUgdHJhY2UgZXJyb3JzIGR1cmluZyBkaXNjb3ZlciBwaGFzZVxuICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICBjb250ZW50czogJycsXG4gICAgICAgICAgICBsb2FkZXI6ICdqcycsXG4gICAgICAgICAgfTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgfSxcbiAgfTtcbn1cbiJdfQ==
176
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlzY292ZXItZW50cmllcy1lc2J1aWxkLXBsdWdpbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9kaXNjb3Zlci1lbnRyaWVzLWVzYnVpbGQtcGx1Z2luLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUM1QyxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBQ3RDLE9BQU8sdUJBQXVCLE1BQU0sa0JBQWtCLENBQUM7QUFHdkQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDN0QsT0FBTyxFQUNMLHNCQUFzQixFQUN0Qix1QkFBdUIsR0FDeEIsTUFBTSxzQkFBc0IsQ0FBQztBQUU5QixNQUFNLGVBQWUsR0FBRyxTQUFTLENBQy9CLHVCQUF1QixDQUFDLE1BQU0sQ0FBQztJQUM3QixVQUFVLEVBQUU7UUFDVixLQUFLO1FBQ0wsTUFBTTtRQUNOLE1BQU07UUFDTixNQUFNO1FBQ04sS0FBSztRQUNMLE1BQU07UUFDTixNQUFNO1FBQ04sTUFBTTtRQUNOLE9BQU87UUFDUCxPQUFPO0tBQ1I7SUFDRCxjQUFjLEVBQUUsS0FBSztJQUNyQixjQUFjLEVBQUUsQ0FBQyxNQUFNLEVBQUUsUUFBUSxFQUFFLFNBQVMsQ0FBQztDQUM5QyxDQUFDLENBQ0gsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLFNBQVMsR0FBRyxvQ0FBb0MsQ0FBQztBQUU5RCxpRUFBaUU7QUFDakUsU0FBUyxrQkFBa0IsQ0FDekIsT0FBaUQ7SUFFakQsSUFBSSxDQUFDLE9BQU87UUFBRSxPQUFPLEtBQUssQ0FBQztJQUMzQixPQUFPLE1BQU0sQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUMsSUFBSSxDQUNoQyxDQUFDLE9BQU8sRUFBRSxFQUFFLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxD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Q0osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHJlYWRGaWxlIH0gZnJvbSAnbm9kZTpmcy9wcm9taXNlcyc7XG5pbXBvcnQgeyBwcm9taXNpZnkgfSBmcm9tICdub2RlOnV0aWwnO1xuaW1wb3J0IGVuaGFuY2VkUmVzb2x2ZU9yaWdpbmFsIGZyb20gJ2VuaGFuY2VkLXJlc29sdmUnO1xuaW1wb3J0IHR5cGUgeyBQbHVnaW4gfSBmcm9tICdlc2J1aWxkJztcbmltcG9ydCB0eXBlIHsgV29ya2Zsb3dNYW5pZmVzdCB9IGZyb20gJy4vYXBwbHktc3djLXRyYW5zZm9ybS5qcyc7XG5pbXBvcnQgeyBhcHBseVN3Y1RyYW5zZm9ybSB9IGZyb20gJy4vYXBwbHktc3djLXRyYW5zZm9ybS5qcyc7XG5pbXBvcnQge1xuICBkZXRlY3RXb3JrZmxvd1BhdHRlcm5zLFxuICBpc0dlbmVyYXRlZFdvcmtmbG93RmlsZSxcbn0gZnJvbSAnLi90cmFuc2Zvcm0tdXRpbHMuanMnO1xuXG5jb25zdCBlbmhhbmNlZFJlc29sdmUgPSBwcm9taXNpZnkoXG4gIGVuaGFuY2VkUmVzb2x2ZU9yaWdpbmFsLmNyZWF0ZSh7XG4gICAgZXh0ZW5zaW9uczogW1xuICAgICAgJy50cycsXG4gICAgICAnLnRzeCcsXG4gICAgICAnLm10cycsXG4gICAgICAnLmN0cycsXG4gICAgICAnLmpzJyxcbiAgICAgICcuanN4JyxcbiAgICAgICcubWpzJyxcbiAgICAgICcuY2pzJyxcbiAgICAgICcuanNvbicsXG4gICAgICAnLm5vZGUnLFxuICAgIF0sXG4gICAgZnVsbHlTcGVjaWZpZWQ6IGZhbHNlLFxuICAgIGNvbmRpdGlvbk5hbWVzOiBbJ25vZGUnLCAnaW1wb3J0JywgJ3JlcXVpcmUnXSxcbiAgfSlcbik7XG5cbmV4cG9ydCBjb25zdCBqc1RzUmVnZXggPSAvXFwuKHRzfHRzeHxqc3xqc3h8bWpzfGNqc3xtdHN8Y3RzKSQvO1xuXG4vKiogUmV0dXJucyB0cnVlIGlmIGEgbWFuaWZlc3Qgc2VjdGlvbiBoYXMgYXQgbGVhc3Qgb25lIGVudHJ5LiAqL1xuZnVuY3Rpb24gaGFzTWFuaWZlc3RFbnRyaWVzKFxuICBzZWN0aW9uOiBXb3JrZmxvd01hbmlmZXN0W2tleW9mIFdvcmtmbG93TWFuaWZlc3RdXG4pOiBib29sZWFuIHtcbiAgaWYgKCFzZWN0aW9uKSByZXR1cm4gZmFsc2U7XG4gIHJldHVybiBPYmplY3QudmFsdWVzKHNlY3Rpb24pLnNvbWUoXG4gICAgKGVudHJpZXMpID0+IE9iamVjdC5rZXlzKGVudHJpZXMpLmxlbmd0aCA+IDBcbiAgKTtcbn1cblxuZnVuY3Rpb24gaXNHZW5lcmF0ZWRCdWlsZEFydGlmYWN0UGF0aChmaWxlUGF0aDogc3RyaW5nKTogYm9vbGVhbiB7XG4gIGNvbnN0IG5vcm1hbGl6ZWRQYXRoID0gZmlsZVBhdGgucmVwbGFjZSgvXFxcXC9nLCAnLycpO1xuICByZXR1cm4gKFxuICAgIG5vcm1hbGl6ZWRQYXRoLmluY2x1ZGVzKCcvLm5pdHJvLycpIHx8XG4gICAgbm9ybWFsaXplZFBhdGguaW5jbHVkZXMoJy8ub3V0cHV0LycpIHx8XG4gICAgbm9ybWFsaXplZFBhdGguaW5jbHVkZXMoJy8ubmV4dC8nKSB8fFxuICAgIG5vcm1hbGl6ZWRQYXRoLmluY2x1ZGVzKCcvLm51eHQvJykgfHxcbiAgICBub3JtYWxpemVkUGF0aC5pbmNsdWRlcygnLy5zdmVsdGUta2l0LycpIHx8XG4gICAgbm9ybWFsaXplZFBhdGguaW5jbHVkZXMoJy8udmVyY2VsLycpXG4gICk7XG59XG5cbi8vIHBhcmVudCAtPiBjaGlsZHJlbiByZWxhdGlvbnNoaXAgKGEgZmlsZSBjYW4gaW1wb3J0IG11bHRpcGxlIGZpbGVzKVxuZXhwb3J0IGNvbnN0IGltcG9ydFBhcmVudHMgPSBuZXcgTWFwPHN0cmluZywgU2V0PHN0cmluZz4+KCk7XG5cbi8vIGNoZWNrIGlmIGEgcGFyZW50IGhhcyBhIGNoaWxkIGluIGl0cyBpbXBvcnQgY2hhaW5cbi8vIGUuZy4gaWYgYSBkZXBlbmRlbmN5IG5lZWRzIHRvIGJlIGJ1bmRsZWQgYmVjYXVzZSBpdCBoYXNcbi8vIGEgJ3VzZSB3b3JrZmxvdy8ndXNlIHN0ZXAnIGRpcmVjdGl2ZSBpbiBpdFxuZXhwb3J0IGZ1bmN0aW9uIHBhcmVudEhhc0NoaWxkKFxuICBwYXJlbnQ6IHN0cmluZyxcbiAgY2hpbGRUb0ZpbmQ6IHN0cmluZyxcbiAge1xuICAgIGV4Y2x1ZGVkUm9vdHMsXG4gIH06IHtcbiAgICBleGNsdWRlZFJvb3RzPzogSXRlcmFibGU8c3RyaW5nPjtcbiAgfSA9IHt9XG4pOiBib29sZWFuIHtcbiAgY29uc3QgdmlzaXRlZCA9IG5ldyBTZXQ8c3RyaW5nPigpO1xuICBjb25zdCBleGNsdWRlZCA9IG5ldyBTZXQoZXhjbHVkZWRSb290cyk7XG4gIGNvbnN0IHF1ZXVlOiBzdHJpbmdbXSA9IFtwYXJlbnRdO1xuXG4gIHdoaWxlIChxdWV1ZS5sZW5ndGggPiAwKSB7XG4gICAgY29uc3QgY3VycmVudCA9IHF1ZXVlLnNoaWZ0KCkhO1xuXG4gICAgaWYgKHZpc2l0ZWQuaGFzKGN1cnJlbnQpKSB7XG4gICAgICBjb250aW51ZTtcbiAgICB9XG4gICAgdmlzaXRlZC5hZGQoY3VycmVudCk7XG5cbiAgICBjb25zdCBjaGlsZHJlbiA9IGltcG9ydFBhcmVudHMuZ2V0KGN1cnJlbnQpO1xuICAgIGlmICghY2hpbGRyZW4pIHtcbiAgICAgIGNvbnRpbnVlO1xuICAgIH1cblxuICAgIGZvciAoY29uc3QgY2hpbGQgb2YgY2hpbGRyZW4pIHtcbiAgICAgIGlmIChleGNsdWRlZC5oYXMoY2hpbGQpKSB7XG4gICAgICAgIGNvbnRpbnVlO1xuICAgICAgfVxuICAgICAgaWYgKGNoaWxkID09PSBjaGlsZFRvRmluZCkge1xuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgIH1cbiAgICAgIHF1ZXVlLnB1c2goY2hpbGQpO1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiBmYWxzZTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZURpc2NvdmVyRW50cmllc1BsdWdpbihcbiAgc3RhdGU6IHtcbiAgICBkaXNjb3ZlcmVkU3RlcHM6IFNldDxzdHJpbmc+O1xuICAgIGRpc2NvdmVyZWRXb3JrZmxvd3M6IFNldDxzdHJpbmc+O1xuICAgIGRpc2NvdmVyZWRTZXJkZUZpbGVzOiBTZXQ8c3RyaW5nPjtcbiAgfSxcbiAgcHJvamVjdFJvb3Q/OiBzdHJpbmdcbik6IFBsdWdpbiB7XG4gIHJldHVybiB7XG4gICAgbmFtZTogJ2Rpc2NvdmVyLWVudHJpZXMtZXNidWlsZC1wbHVnaW4nLFxuICAgIHNldHVwKGJ1aWxkKSB7XG4gICAgICAvLyBUcmFjayBwYXJlbnTihpJjaGlsZCBpbXBvcnQgcmVsYXRpb25zaGlwcyBmb3IgQUxMIGltcG9ydHMgKG5vdCBqdXN0XG4gICAgICAvLyB0aG9zZSB3aXRoIGZpbGUgZXh0ZW5zaW9ucykgc28gdGhhdCBgcGFyZW50SGFzQ2hpbGQoKWAgY2FuIGNvcnJlY3RseVxuICAgICAgLy8gaWRlbnRpZnkgdHJhbnNpdGl2ZSBwYXJlbnRzIG9mIHNlcmRlL3N0ZXAgZmlsZXMgZXZlbiB3aGVuIHRoZVxuICAgICAgLy8gZGVwZW5kZW5jeSBjaGFpbiBwYXNzZXMgdGhyb3VnaCBiYXJlIHNwZWNpZmllciBpbXBvcnRzIGxpa2VcbiAgICAgIC8vIGBAd29ya2Zsb3cvY29yZS9ydW50aW1lYCBvciBgd29ya2Zsb3cvcnVudGltZWAuXG4gICAgICBidWlsZC5vblJlc29sdmUoeyBmaWx0ZXI6IC8uKi8gfSwgYXN5bmMgKGFyZ3MpID0+IHtcbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICBjb25zdCByZXNvbHZlZCA9IGF3YWl0IGVuaGFuY2VkUmVzb2x2ZShhcmdzLnJlc29sdmVEaXIsIGFyZ3MucGF0aCk7XG5cbiAgICAgICAgICBpZiAocmVzb2x2ZWQpIHtcbiAgICAgICAgICAgIC8vIE5vcm1hbGl6ZSBwYXRoIHNlcGFyYXRvcnMgZm9yIGNyb3NzLXBsYXRmb3JtIGNvbXBhdGliaWxpdHlcbiAgICAgICAgICAgIGNvbnN0IG5vcm1hbGl6ZWRJbXBvcnRlciA9IGFyZ3MuaW1wb3J0ZXIucmVwbGFjZSgvXFxcXC9nLCAnLycpO1xuICAgICAgICAgICAgY29uc3Qgbm9ybWFsaXplZFJlc29sdmVkID0gcmVzb2x2ZWQucmVwbGFjZSgvXFxcXC9nLCAnLycpO1xuICAgICAgICAgICAgLy8gQSBmaWxlIGNhbiBpbXBvcnQgbXVsdGlwbGUgZmlsZXMsIHNvIHdlIHN0b3JlIGEgU2V0IG9mIGNoaWxkcmVuXG4gICAgICAgICAgICBsZXQgY2hpbGRyZW4gPSBpbXBvcnRQYXJlbnRzLmdldChub3JtYWxpemVkSW1wb3J0ZXIpO1xuICAgICAgICAgICAgaWYgKCFjaGlsZHJlbikge1xuICAgICAgICAgICAgICBjaGlsZHJlbiA9IG5ldyBTZXQ8c3RyaW5nPigpO1xuICAgICAgICAgICAgICBpbXBvcnRQYXJlbnRzLnNldChub3JtYWxpemVkSW1wb3J0ZXIsIGNoaWxkcmVuKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGNoaWxkcmVuLmFkZChub3JtYWxpemVkUmVzb2x2ZWQpO1xuICAgICAgICAgIH1cbiAgICAgICAgfSBjYXRjaCAoXykge31cbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICB9KTtcblxuICAgICAgLy8gSGFuZGxlIFR5cGVTY3JpcHQgYW5kIEphdmFTY3JpcHQgZmlsZXNcbiAgICAgIGJ1aWxkLm9uTG9hZCh7IGZpbHRlcjoganNUc1JlZ2V4IH0sIGFzeW5jIChhcmdzKSA9PiB7XG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgaWYgKGlzR2VuZXJhdGVkQnVpbGRBcnRpZmFjdFBhdGgoYXJncy5wYXRoKSkge1xuICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgY29udGVudHM6ICcnLFxuICAgICAgICAgICAgICBsb2FkZXI6ICdqcycsXG4gICAgICAgICAgICB9O1xuICAgICAgICAgIH1cblxuICAgICAgICAgIC8vIFNraXAgZ2VuZXJhdGVkIHdvcmtmbG93IHJvdXRlIGZpbGVzIHRvIGF2b2lkIHJlLXByb2Nlc3NpbmcgdGhlbVxuICAgICAgICAgIGlmIChpc0dlbmVyYXRlZFdvcmtmbG93RmlsZShhcmdzLnBhdGgpKSB7XG4gICAgICAgICAgICBjb25zdCBzb3VyY2UgPSBhd2FpdCByZWFkRmlsZShhcmdzLnBhdGgsICd1dGY4Jyk7XG4gICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICBjb250ZW50czogc291cmNlLFxuICAgICAgICAgICAgICBsb2FkZXI6IGFyZ3MucGF0aC5lbmRzV2l0aCgnLmpzeCcpID8gJ2pzeCcgOiAnanMnLFxuICAgICAgICAgICAgfTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAvLyBEZXRlcm1pbmUgdGhlIGxvYWRlciBiYXNlZCBvbiB0aGUgb3V0cHV0XG4gICAgICAgICAgbGV0IGxvYWRlcjogJ2pzJyB8ICdqc3gnID0gJ2pzJztcbiAgICAgICAgICBjb25zdCBpc1R5cGVTY3JpcHQgPVxuICAgICAgICAgICAgYXJncy5wYXRoLmVuZHNXaXRoKCcudHMnKSB8fFxuICAgICAgICAgICAgYXJncy5wYXRoLmVuZHNXaXRoKCcudHN4JykgfHxcbiAgICAgICAgICAgIGFyZ3MucGF0aC5lbmRzV2l0aCgnLm10cycpIHx8XG4gICAgICAgICAgICBhcmdzLnBhdGguZW5kc1dpdGgoJy5jdHMnKTtcbiAgICAgICAgICBpZiAoIWlzVHlwZVNjcmlwdCAmJiBhcmdzLnBhdGguZW5kc1dpdGgoJy5qc3gnKSkge1xuICAgICAgICAgICAgbG9hZGVyID0gJ2pzeCc7XG4gICAgICAgICAgfVxuICAgICAgICAgIGNvbnN0IHNvdXJjZSA9IGF3YWl0IHJlYWRGaWxlKGFyZ3MucGF0aCwgJ3V0ZjgnKTtcblxuICAgICAgICAgIC8vIE5vcm1hbGl6ZSBwYXRoIHNlcGFyYXRvcnMgdG8gZm9yd2FyZCBzbGFzaGVzIGZvciBjcm9zcy1wbGF0Zm9ybSBjb21wYXRpYmlsaXR5XG4gICAgICAgICAgLy8gVGhpcyBpcyBjcml0aWNhbCBmb3IgV2luZG93cyB3aGVyZSBwYXRocyBjb250YWluIGJhY2tzbGFzaGVzXG4gICAgICAgICAgY29uc3Qgbm9ybWFsaXplZFBhdGggPSBhcmdzLnBhdGgucmVwbGFjZSgvXFxcXC9nLCAnLycpO1xuXG4gICAgICAgICAgY29uc3QgcmVzb2x2ZWRQcm9qZWN0Um9vdCA9XG4gICAgICAgICAgICBwcm9qZWN0Um9vdCB8fCBidWlsZC5pbml0aWFsT3B0aW9ucy5hYnNXb3JraW5nRGlyIHx8IHByb2Nlc3MuY3dkKCk7XG5cbiAgICAgICAgICAvLyBUd28tcGhhc2UgZGlzY292ZXJ5OlxuICAgICAgICAgIC8vICAxLiBGYXN0IHJlZ2V4cCBwcmUtc2NhbiBmaWx0ZXJzIG91dCB0aGUgdmFzdCBtYWpvcml0eSBvZiBmaWxlcy5cbiAgICAgICAgICAvLyAgMi4gRm9yIHRoZSBzbWFsbCBudW1iZXIgdGhhdCBtYXRjaCwgcnVuIHRoZSBTV0MgcGx1Z2luIGluICdkZXRlY3QnXG4gICAgICAgICAgLy8gICAgIG1vZGUgdG8gZ2V0IGFuIEFTVC1sZXZlbCBtYW5pZmVzdC4gRGV0ZWN0IG1vZGUgd2Fsa3MgdGhlIEFTVCB0b1xuICAgICAgICAgIC8vICAgICBmaW5kIGRpcmVjdGl2ZXMgYW5kIHNlcmRlIHBhdHRlcm5zIGJ1dCBkb2VzIE5PVCB0cmFuc2Zvcm0gYW55XG4gICAgICAgICAgLy8gICAgIGNvZGUsIGVsaW1pbmF0aW5nIGZhbHNlIHBvc2l0aXZlcyB3aGVyZSBkaXJlY3RpdmUtbGlrZSBzdHJpbmdzXG4gICAgICAgICAgLy8gICAgIGFwcGVhciBpbnNpZGUgdGVtcGxhdGUgbGl0ZXJhbHMsIHJlZ3VsYXIgc3RyaW5ncywgb3IgY29tbWVudHMuXG4gICAgICAgICAgLy9cbiAgICAgICAgICAvLyBBbGwgZmlsZXMgYXJlIHRyYW5zZm9ybWVkIGJ5IFNXQyAoVFPihpJKUywgZGVjb3JhdG9ycywgZXRjLikgc2luY2VcbiAgICAgICAgICAvLyBlc2J1aWxkIGRvZXMgbm90IHN1cHBvcnQgYWxsIFR5cGVTY3JpcHQgc3ludGF4IChlLmcuIGxlZ2FjeVxuICAgICAgICAgIC8vIGRlY29yYXRvcnMsIGVtaXREZWNvcmF0b3JNZXRhZGF0YSkuIEZvciByZWdleHAtbWF0Y2hlZCBmaWxlcyB0aGVcbiAgICAgICAgICAvLyAnZGV0ZWN0JyBjYWxsIGhhbmRsZXMgYm90aCB0aGUgc3ludGF4IHRyYW5zZm9ybSBhbmQgdGhlIG1hbmlmZXN0XG4gICAgICAgICAgLy8gaW4gYSBzaW5nbGUgcGFzczsgZm9yIGFsbCBvdGhlciBmaWxlcyBhIG1vZGU6ZmFsc2UgY2FsbCBpcyB1c2VkLlxuICAgICAgICAgIGNvbnN0IHBhdHRlcm5zID0gZGV0ZWN0V29ya2Zsb3dQYXR0ZXJucyhzb3VyY2UpO1xuXG4gICAgICAgICAgbGV0IHRyYW5zZm9ybWVkQ29kZTogc3RyaW5nO1xuXG4gICAgICAgICAgaWYgKHBhdHRlcm5zLmhhc0RpcmVjdGl2ZSB8fCBwYXR0ZXJucy5oYXNTZXJkZSkge1xuICAgICAgICAgICAgY29uc3QgeyBjb2RlLCB3b3JrZmxvd01hbmlmZXN0IH0gPSBhd2FpdCBhcHBseVN3Y1RyYW5zZm9ybShcbiAgICAgICAgICAgICAgbm9ybWFsaXplZFBhdGgsXG4gICAgICAgICAgICAgIHNvdXJjZSxcbiAgICAgICAgICAgICAgJ2RldGVjdCcsXG4gICAgICAgICAgICAgIG5vcm1hbGl6ZWRQYXRoLFxuICAgICAgICAgICAgICByZXNvbHZlZFByb2plY3RSb290XG4gICAgICAgICAgICApO1xuICAgICAgICAgICAgdHJhbnNmb3JtZWRDb2RlID0gY29kZTtcblxuICAgICAgICAgICAgaWYgKGhhc01hbmlmZXN0RW50cmllcyh3b3JrZmxvd01hbmlmZXN0LndvcmtmbG93cykpIHtcbiAgICAgICAgICAgICAgc3RhdGUuZGlzY292ZXJlZFdvcmtmbG93cy5hZGQobm9ybWFsaXplZFBhdGgpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKGhhc01hbmlmZXN0RW50cmllcyh3b3JrZmxvd01hbmlmZXN0LnN0ZXBzKSkge1xuICAgICAgICAgICAgICBzdGF0ZS5kaXNjb3ZlcmVkU3RlcHMuYWRkKG5vcm1hbGl6ZWRQYXRoKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaWYgKGhhc01hbmlmZXN0RW50cmllcyh3b3JrZmxvd01hbmlmZXN0LmNsYXNzZXMpKSB7XG4gICAgICAgICAgICAgIHN0YXRlLmRpc2NvdmVyZWRTZXJkZUZpbGVzLmFkZChub3JtYWxpemVkUGF0aCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGNvbnN0IHsgY29kZSB9ID0gYXdhaXQgYXBwbHlTd2NUcmFuc2Zvcm0oXG4gICAgICAgICAgICAgIG5vcm1hbGl6ZWRQYXRoLFxuICAgICAgICAgICAgICBzb3VyY2UsXG4gICAgICAgICAgICAgIGZhbHNlLFxuICAgICAgICAgICAgICBub3JtYWxpemVkUGF0aCxcbiAgICAgICAgICAgICAgcmVzb2x2ZWRQcm9qZWN0Um9vdFxuICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIHRyYW5zZm9ybWVkQ29kZSA9IGNvZGU7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIGNvbnRlbnRzOiB0cmFuc2Zvcm1lZENvZGUsXG4gICAgICAgICAgICBsb2FkZXIsXG4gICAgICAgICAgfTtcbiAgICAgICAgfSBjYXRjaCAoXykge1xuICAgICAgICAgIC8vIGlnbm9yZSB0cmFjZSBlcnJvcnMgZHVyaW5nIGRpc2NvdmVyIHBoYXNlXG4gICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIGNvbnRlbnRzOiAnJyxcbiAgICAgICAgICAgIGxvYWRlcjogJ2pzJyxcbiAgICAgICAgICB9O1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICB9LFxuICB9O1xufVxuIl19
@@ -2,6 +2,12 @@ export interface DiscoveredEntries {
2
2
  discoveredSteps: Set<string>;
3
3
  discoveredWorkflows: Set<string>;
4
4
  discoveredSerdeFiles: Set<string>;
5
+ /**
6
+ * All JS/TS files visited while walking the workflow import graph.
7
+ * Watch-mode integrations use this to distinguish relevant HMR changes from
8
+ * unrelated application file edits.
9
+ */
10
+ discoveredFiles?: Set<string>;
5
11
  }
6
12
  interface FastDiscoverEntriesOptions {
7
13
  entryPoints: string[];
@@ -1 +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"}
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;IAClC;;;;OAIG;IACH,eAAe,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;CAC/B;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;AA+kBD,wBAAsB,mBAAmB,CAAC,EACxC,WAAW,EACX,KAAK,EACL,mBAAmB,EACnB,UAAU,GACX,EAAE,0BAA0B,GAAG,OAAO,CAAC,IAAI,CAAC,CA6X5C"}