@workflow/builders 4.1.0 → 4.1.2

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 (54) hide show
  1. package/dist/apply-swc-transform.d.ts +7 -2
  2. package/dist/apply-swc-transform.d.ts.map +1 -1
  3. package/dist/apply-swc-transform.js +10 -4
  4. package/dist/base-builder-logging.test.d.ts +2 -0
  5. package/dist/base-builder-logging.test.d.ts.map +1 -0
  6. package/dist/base-builder-logging.test.js +99 -0
  7. package/dist/base-builder.d.ts +37 -14
  8. package/dist/base-builder.d.ts.map +1 -1
  9. package/dist/base-builder.js +301 -60
  10. package/dist/config-helpers.d.ts +2 -0
  11. package/dist/config-helpers.d.ts.map +1 -1
  12. package/dist/config-helpers.js +62 -1
  13. package/dist/config-helpers.test.d.ts +2 -0
  14. package/dist/config-helpers.test.d.ts.map +1 -0
  15. package/dist/config-helpers.test.js +17 -0
  16. package/dist/constants.d.ts +2 -0
  17. package/dist/constants.d.ts.map +1 -1
  18. package/dist/constants.js +18 -5
  19. package/dist/constants.test.js +7 -1
  20. package/dist/fast-discovery.d.ts +14 -0
  21. package/dist/fast-discovery.d.ts.map +1 -0
  22. package/dist/fast-discovery.js +649 -0
  23. package/dist/fast-discovery.test.d.ts +2 -0
  24. package/dist/fast-discovery.test.d.ts.map +1 -0
  25. package/dist/fast-discovery.test.js +376 -0
  26. package/dist/get-input-files.test.js +34 -2
  27. package/dist/index.d.ts +2 -2
  28. package/dist/index.d.ts.map +1 -1
  29. package/dist/index.js +2 -2
  30. package/dist/module-specifier.d.ts +13 -0
  31. package/dist/module-specifier.d.ts.map +1 -1
  32. package/dist/module-specifier.js +20 -1
  33. package/dist/standalone.d.ts.map +1 -1
  34. package/dist/standalone.js +4 -4
  35. package/dist/step-source-registration.test.d.ts +2 -0
  36. package/dist/step-source-registration.test.d.ts.map +1 -0
  37. package/dist/step-source-registration.test.js +82 -0
  38. package/dist/swc-esbuild-plugin.d.ts +1 -0
  39. package/dist/swc-esbuild-plugin.d.ts.map +1 -1
  40. package/dist/swc-esbuild-plugin.js +5 -3
  41. package/dist/swc-esbuild-plugin.test.js +25 -3
  42. package/dist/transform-utils.d.ts.map +1 -1
  43. package/dist/transform-utils.js +45 -6
  44. package/dist/transform-utils.test.js +92 -1
  45. package/dist/types.d.ts +9 -2
  46. package/dist/types.d.ts.map +1 -1
  47. package/dist/types.js +1 -1
  48. package/dist/vercel-build-output-api.d.ts.map +1 -1
  49. package/dist/vercel-build-output-api.js +8 -8
  50. package/dist/workflows-extractor.js +8 -3
  51. package/dist/workflows-extractor.test.d.ts +2 -0
  52. package/dist/workflows-extractor.test.d.ts.map +1 -0
  53. package/dist/workflows-extractor.test.js +70 -0
  54. package/package.json +5 -5
@@ -41,4 +41,6 @@ export declare function createBaseBuilderConfig(options: {
41
41
  externalPackages?: string[];
42
42
  runtime?: string;
43
43
  }): Omit<WorkflowConfig, 'buildTarget'>;
44
+ export declare function resolveConfiguredProjectRoot(workingDir: string, configuredRoot: string): string;
45
+ export declare function resolveProjectRoot(workingDir: string): string;
44
46
  //# sourceMappingURL=config-helpers.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"config-helpers.d.ts","sourceRoot":"","sources":["../src/config-helpers.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAEjD,MAAM,WAAW,gBAAgB;IAC/B,UAAU,EAAE,OAAO,CAAC;IACpB,eAAe,EAAE,OAAO,CAAC;IACzB,iBAAiB,EAAE,OAAO,CAAC;CAC5B;AAED,MAAM,WAAW,8BAA8B;IAC7C,OAAO,EAAE,gBAAgB,CAAC;IAC1B,UAAU,EAAE,MAAM,GAAG,SAAS,CAAC;CAChC;AAED;;;;;;GAMG;AACH,wBAAsB,+BAA+B,CACnD,YAAY,EAAE,MAAM,GAAG,SAAS,GAC/B,OAAO,CAAC,gBAAgB,CAAC,CAgC3B;AAED;;;;;;GAMG;AACH,wBAAsB,+BAA+B,CACnD,GAAG,EAAE,MAAM,GACV,OAAO,CAAC,gBAAgB,CAAC,CAG3B;AAED;;;GAGG;AACH,wBAAsB,6CAA6C,CACjE,GAAG,EAAE,MAAM,GACV,OAAO,CAAC,8BAA8B,CAAC,CAMzC;AAED;;;GAGG;AACH,wBAAgB,uBAAuB,CAAC,OAAO,EAAE;IAC/C,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,gBAAgB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC5B,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB,GAAG,IAAI,CAAC,cAAc,EAAE,aAAa,CAAC,CAYtC"}
1
+ {"version":3,"file":"config-helpers.d.ts","sourceRoot":"","sources":["../src/config-helpers.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAEjD,MAAM,WAAW,gBAAgB;IAC/B,UAAU,EAAE,OAAO,CAAC;IACpB,eAAe,EAAE,OAAO,CAAC;IACzB,iBAAiB,EAAE,OAAO,CAAC;CAC5B;AAED,MAAM,WAAW,8BAA8B;IAC7C,OAAO,EAAE,gBAAgB,CAAC;IAC1B,UAAU,EAAE,MAAM,GAAG,SAAS,CAAC;CAChC;AAED;;;;;;GAMG;AACH,wBAAsB,+BAA+B,CACnD,YAAY,EAAE,MAAM,GAAG,SAAS,GAC/B,OAAO,CAAC,gBAAgB,CAAC,CAgC3B;AAED;;;;;;GAMG;AACH,wBAAsB,+BAA+B,CACnD,GAAG,EAAE,MAAM,GACV,OAAO,CAAC,gBAAgB,CAAC,CAG3B;AAED;;;GAGG;AACH,wBAAsB,6CAA6C,CACjE,GAAG,EAAE,MAAM,GACV,OAAO,CAAC,8BAA8B,CAAC,CAMzC;AAED;;;GAGG;AACH,wBAAgB,uBAAuB,CAAC,OAAO,EAAE;IAC/C,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,gBAAgB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC5B,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB,GAAG,IAAI,CAAC,cAAc,EAAE,aAAa,CAAC,CAYtC;AA6CD,wBAAgB,4BAA4B,CAC1C,UAAU,EAAE,MAAM,EAClB,cAAc,EAAE,MAAM,GACrB,MAAM,CAIR;AAED,wBAAgB,kBAAkB,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,CAmB7D"}
@@ -1,4 +1,6 @@
1
+ import { statSync } from 'node:fs';
1
2
  import { readFile } from 'node:fs/promises';
3
+ import { dirname, isAbsolute, join, resolve } from 'node:path';
2
4
  import { findUp } from 'find-up';
3
5
  import JSON5 from 'json5';
4
6
  /**
@@ -74,4 +76,63 @@ export function createBaseBuilderConfig(options) {
74
76
  runtime: options.runtime,
75
77
  };
76
78
  }
77
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlnLWhlbHBlcnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvY29uZmlnLWhlbHBlcnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQzVDLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxTQUFTLENBQUM7QUFDakMsT0FBTyxLQUFLLE1BQU0sT0FBTyxDQUFDO0FBYzFCOzs7Ozs7R0FNRztBQUNILE1BQU0sQ0FBQyxLQUFLLFVBQVUsK0JBQStCLENBQ25ELFlBQWdDO0lBRWhDLE1BQU0sY0FBYyxHQUFxQjtRQUN2QyxVQUFVLEVBQUUsS0FBSztRQUNqQixlQUFlLEVBQUUsS0FBSztRQUN0QixpQkFBaUIsRUFBRSxLQUFLO0tBQ3pCLENBQUM7SUFFRixJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7UUFDbEIsT0FBTyxjQUFjLENBQUM7SUFDeEIsQ0FBQztJQUVELElBQUksQ0FBQztRQUNILE1BQU0sT0FBTyxHQUFHLE1BQU0sUUFBUSxDQUFDLFlBQVksRUFBRSxPQUFPLENBQUMsQ0FBQztRQUN0RCxNQUFNLFFBQVEsR0FDWixLQUFLLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ3ZCLE1BQU0sZUFBZSxHQUFHLFFBQVEsQ0FBQyxlQUFlLElBQUksRUFBRSxDQUFDO1FBRXZELHFGQUFxRjtRQUNyRixNQUFNLHNCQUFzQixHQUMxQixlQUFlLENBQUMsc0JBQXNCLEtBQUssSUFBSSxDQUFDO1FBQ2xELE1BQU0scUJBQXFCLEdBQ3pCLGVBQWUsQ0FBQyxxQkFBcUIsS0FBSyxJQUFJLENBQUM7UUFFakQsT0FBTztZQUNMLFVBQVUsRUFBRSxzQkFBc0I7WUFDbEMsZUFBZSxFQUFFLHNCQUFzQjtZQUN2QyxpQkFBaUIsRUFBRSxzQkFBc0IsSUFBSSxxQkFBcUI7U0FDbkUsQ0FBQztJQUNKLENBQUM7SUFBQyxNQUFNLENBQUM7UUFDUCwwREFBMEQ7UUFDMUQsT0FBTyxjQUFjLENBQUM7SUFDeEIsQ0FBQztBQUNILENBQUM7QUFFRDs7Ozs7O0dBTUc7QUFDSCxNQUFNLENBQUMsS0FBSyxVQUFVLCtCQUErQixDQUNuRCxHQUFXO0lBRVgsTUFBTSxFQUFFLE9BQU8sRUFBRSxHQUFHLE1BQU0sNkNBQTZDLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDN0UsT0FBTyxPQUFPLENBQUM7QUFDakIsQ0FBQztBQUVEOzs7R0FHRztBQUNILE1BQU0sQ0FBQyxLQUFLLFVBQVUsNkNBQTZDLENBQ2pFLEdBQVc7SUFFWCxNQUFNLFVBQVUsR0FBRyxNQUFNLE1BQU0sQ0FBQyxDQUFDLGVBQWUsRUFBRSxlQUFlLENBQUMsRUFBRTtRQUNsRSxHQUFHO0tBQ0osQ0FBQyxDQUFDO0lBQ0gsTUFBTSxPQUFPLEdBQUcsTUFBTSwrQkFBK0IsQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUNsRSxPQUFPLEVBQUUsT0FBTyxFQUFFLFVBQVUsRUFBRSxDQUFDO0FBQ2pDLENBQUM7QUFFRDs7O0dBR0c7QUFDSCxNQUFNLFVBQVUsdUJBQXVCLENBQUMsT0FPdkM7SUFDQyxPQUFPO1FBQ0wsSUFBSSxFQUFFLE9BQU8sQ0FBQyxJQUFJLElBQUksQ0FBQyxXQUFXLENBQUM7UUFDbkMsV0FBVyxFQUFFLE9BQU8sQ0FBQyxXQUFXO1FBQ2hDLFVBQVUsRUFBRSxPQUFPLENBQUMsVUFBVTtRQUM5QixLQUFLLEVBQUUsT0FBTyxDQUFDLEtBQUs7UUFDcEIsZUFBZSxFQUFFLEVBQUUsRUFBRSxtQ0FBbUM7UUFDeEQsbUJBQW1CLEVBQUUsRUFBRSxFQUFFLG1DQUFtQztRQUM1RCxpQkFBaUIsRUFBRSxFQUFFLEVBQUUsbUNBQW1DO1FBQzFELGdCQUFnQixFQUFFLE9BQU8sQ0FBQyxnQkFBZ0I7UUFDMUMsT0FBTyxFQUFFLE9BQU8sQ0FBQyxPQUFPO0tBQ3pCLENBQUM7QUFDSixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgcmVhZEZpbGUgfSBmcm9tICdub2RlOmZzL3Byb21pc2VzJztcbmltcG9ydCB7IGZpbmRVcCB9IGZyb20gJ2ZpbmQtdXAnO1xuaW1wb3J0IEpTT041IGZyb20gJ2pzb241JztcbmltcG9ydCB0eXBlIHsgV29ya2Zsb3dDb25maWcgfSBmcm9tICcuL3R5cGVzLmpzJztcblxuZXhwb3J0IGludGVyZmFjZSBEZWNvcmF0b3JPcHRpb25zIHtcbiAgZGVjb3JhdG9yczogYm9vbGVhbjtcbiAgbGVnYWN5RGVjb3JhdG9yOiBib29sZWFuO1xuICBkZWNvcmF0b3JNZXRhZGF0YTogYm9vbGVhbjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBEZWNvcmF0b3JPcHRpb25zV2l0aENvbmZpZ1BhdGgge1xuICBvcHRpb25zOiBEZWNvcmF0b3JPcHRpb25zO1xuICBjb25maWdQYXRoOiBzdHJpbmcgfCB1bmRlZmluZWQ7XG59XG5cbi8qKlxuICogUmVhZHMgdHNjb25maWcuanNvbiBhbmQgZXh0cmFjdHMgZGVjb3JhdG9yLXJlbGF0ZWQgY29tcGlsZXIgb3B0aW9ucy5cbiAqIFJldHVybnMgZGVjb3JhdG9yIG9wdGlvbnMgYmFzZWQgb24gZXhwZXJpbWVudGFsRGVjb3JhdG9ycyBhbmQgZW1pdERlY29yYXRvck1ldGFkYXRhIHNldHRpbmdzLlxuICpcbiAqIEBwYXJhbSB0c2NvbmZpZ1BhdGggLSBQYXRoIHRvIHRzY29uZmlnLmpzb24gb3IganNjb25maWcuanNvblxuICogQHJldHVybnMgRGVjb3JhdG9yT3B0aW9ucyB3aXRoIHNldHRpbmdzIGJhc2VkIG9uIHRzY29uZmlnIGNvbXBpbGVyT3B0aW9uc1xuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gZ2V0RGVjb3JhdG9yT3B0aW9uc0Zyb21Uc0NvbmZpZyhcbiAgdHNjb25maWdQYXRoOiBzdHJpbmcgfCB1bmRlZmluZWRcbik6IFByb21pc2U8RGVjb3JhdG9yT3B0aW9ucz4ge1xuICBjb25zdCBkZWZhdWx0T3B0aW9uczogRGVjb3JhdG9yT3B0aW9ucyA9IHtcbiAgICBkZWNvcmF0b3JzOiBmYWxzZSxcbiAgICBsZWdhY3lEZWNvcmF0b3I6IGZhbHNlLFxuICAgIGRlY29yYXRvck1ldGFkYXRhOiBmYWxzZSxcbiAgfTtcblxuICBpZiAoIXRzY29uZmlnUGF0aCkge1xuICAgIHJldHVybiBkZWZhdWx0T3B0aW9ucztcbiAgfVxuXG4gIHRyeSB7XG4gICAgY29uc3QgY29udGVudCA9IGF3YWl0IHJlYWRGaWxlKHRzY29uZmlnUGF0aCwgJ3V0Zi04Jyk7XG4gICAgY29uc3QgdHNjb25maWc6IHsgY29tcGlsZXJPcHRpb25zPzogUmVjb3JkPHN0cmluZywgdW5rbm93bj4gfSA9XG4gICAgICBKU09ONS5wYXJzZShjb250ZW50KTtcbiAgICBjb25zdCBjb21waWxlck9wdGlvbnMgPSB0c2NvbmZpZy5jb21waWxlck9wdGlvbnMgfHwge307XG5cbiAgICAvLyBNYXRjaCBOZXh0LmpzIGJlaGF2aW9yOiBlbmFibGUgZGVjb3JhdG9ycyBvbmx5IHdoZW4gZXhwZXJpbWVudGFsRGVjb3JhdG9ycyBpcyB0cnVlXG4gICAgY29uc3QgZXhwZXJpbWVudGFsRGVjb3JhdG9ycyA9XG4gICAgICBjb21waWxlck9wdGlvbnMuZXhwZXJpbWVudGFsRGVjb3JhdG9ycyA9PT0gdHJ1ZTtcbiAgICBjb25zdCBlbWl0RGVjb3JhdG9yTWV0YWRhdGEgPVxuICAgICAgY29tcGlsZXJPcHRpb25zLmVtaXREZWNvcmF0b3JNZXRhZGF0YSA9PT0gdHJ1ZTtcblxuICAgIHJldHVybiB7XG4gICAgICBkZWNvcmF0b3JzOiBleHBlcmltZW50YWxEZWNvcmF0b3JzLFxuICAgICAgbGVnYWN5RGVjb3JhdG9yOiBleHBlcmltZW50YWxEZWNvcmF0b3JzLFxuICAgICAgZGVjb3JhdG9yTWV0YWRhdGE6IGV4cGVyaW1lbnRhbERlY29yYXRvcnMgJiYgZW1pdERlY29yYXRvck1ldGFkYXRhLFxuICAgIH07XG4gIH0gY2F0Y2gge1xuICAgIC8vIElmIHdlIGNhbid0IHJlYWQgb3IgcGFyc2UgdGhlIHRzY29uZmlnLCByZXR1cm4gZGVmYXVsdHNcbiAgICByZXR1cm4gZGVmYXVsdE9wdGlvbnM7XG4gIH1cbn1cblxuLyoqXG4gKiBGaW5kcyB0c2NvbmZpZy5qc29uIGluIHRoZSBnaXZlbiBkaXJlY3RvcnkgKG9yIGFuY2VzdG9ycykgYW5kIGV4dHJhY3RzIGRlY29yYXRvciBvcHRpb25zLlxuICogQ29tYmluZXMgdHNjb25maWcgZGlzY292ZXJ5IHdpdGggZGVjb3JhdG9yIG9wdGlvbiBleHRyYWN0aW9uIGZvciBjb252ZW5pZW5jZS5cbiAqXG4gKiBAcGFyYW0gY3dkIC0gRGlyZWN0b3J5IHRvIHN0YXJ0IHNlYXJjaGluZyBmb3IgdHNjb25maWcuanNvblxuICogQHJldHVybnMgRGVjb3JhdG9yT3B0aW9ucyB3aXRoIHNldHRpbmdzIGJhc2VkIG9uIHRzY29uZmlnIGNvbXBpbGVyT3B0aW9uc1xuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gZ2V0RGVjb3JhdG9yT3B0aW9uc0ZvckRpcmVjdG9yeShcbiAgY3dkOiBzdHJpbmdcbik6IFByb21pc2U8RGVjb3JhdG9yT3B0aW9ucz4ge1xuICBjb25zdCB7IG9wdGlvbnMgfSA9IGF3YWl0IGdldERlY29yYXRvck9wdGlvbnNGb3JEaXJlY3RvcnlXaXRoQ29uZmlnUGF0aChjd2QpO1xuICByZXR1cm4gb3B0aW9ucztcbn1cblxuLyoqXG4gKiBGaW5kcyB0c2NvbmZpZy5qc29uL2pzY29uZmlnLmpzb24gaW4gdGhlIGdpdmVuIGRpcmVjdG9yeSB0cmVlIGFuZCByZXR1cm5zXG4gKiBib3RoIGRlY29yYXRvciBvcHRpb25zIGFuZCB0aGUgY29uZmlnIHBhdGggdXNlZCB0byBkZXJpdmUgdGhlbS5cbiAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGdldERlY29yYXRvck9wdGlvbnNGb3JEaXJlY3RvcnlXaXRoQ29uZmlnUGF0aChcbiAgY3dkOiBzdHJpbmdcbik6IFByb21pc2U8RGVjb3JhdG9yT3B0aW9uc1dpdGhDb25maWdQYXRoPiB7XG4gIGNvbnN0IGNvbmZpZ1BhdGggPSBhd2FpdCBmaW5kVXAoWyd0c2NvbmZpZy5qc29uJywgJ2pzY29uZmlnLmpzb24nXSwge1xuICAgIGN3ZCxcbiAgfSk7XG4gIGNvbnN0IG9wdGlvbnMgPSBhd2FpdCBnZXREZWNvcmF0b3JPcHRpb25zRnJvbVRzQ29uZmlnKGNvbmZpZ1BhdGgpO1xuICByZXR1cm4geyBvcHRpb25zLCBjb25maWdQYXRoIH07XG59XG5cbi8qKlxuICogQ3JlYXRlcyBhIHBhcnRpYWwgY29uZmlndXJhdGlvbiBmb3IgYnVpbGRlcnMgdGhhdCBkb24ndCB1c2UgYnVuZGxlIHBhdGhzIGRpcmVjdGx5LlxuICogVXNlZCBieSBmcmFtZXdvcmsgaW50ZWdyYXRpb25zIGxpa2UgTml0cm8gd2hlcmUgdGhlIGJ1aWxkZXIgY29tcHV0ZXMgcGF0aHMgaW50ZXJuYWxseS5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZUJhc2VCdWlsZGVyQ29uZmlnKG9wdGlvbnM6IHtcbiAgd29ya2luZ0Rpcjogc3RyaW5nO1xuICBwcm9qZWN0Um9vdD86IHN0cmluZztcbiAgZGlycz86IHN0cmluZ1tdO1xuICB3YXRjaD86IGJvb2xlYW47XG4gIGV4dGVybmFsUGFja2FnZXM/OiBzdHJpbmdbXTtcbiAgcnVudGltZT86IHN0cmluZztcbn0pOiBPbWl0PFdvcmtmbG93Q29uZmlnLCAnYnVpbGRUYXJnZXQnPiB7XG4gIHJldHVybiB7XG4gICAgZGlyczogb3B0aW9ucy5kaXJzID8/IFsnd29ya2Zsb3dzJ10sXG4gICAgcHJvamVjdFJvb3Q6IG9wdGlvbnMucHJvamVjdFJvb3QsXG4gICAgd29ya2luZ0Rpcjogb3B0aW9ucy53b3JraW5nRGlyLFxuICAgIHdhdGNoOiBvcHRpb25zLndhdGNoLFxuICAgIHN0ZXBzQnVuZGxlUGF0aDogJycsIC8vIE5vdCB1c2VkIGJ5IGJhc2UgYnVpbGRlciBtZXRob2RzXG4gICAgd29ya2Zsb3dzQnVuZGxlUGF0aDogJycsIC8vIE5vdCB1c2VkIGJ5IGJhc2UgYnVpbGRlciBtZXRob2RzXG4gICAgd2ViaG9va0J1bmRsZVBhdGg6ICcnLCAvLyBOb3QgdXNlZCBieSBiYXNlIGJ1aWxkZXIgbWV0aG9kc1xuICAgIGV4dGVybmFsUGFja2FnZXM6IG9wdGlvbnMuZXh0ZXJuYWxQYWNrYWdlcyxcbiAgICBydW50aW1lOiBvcHRpb25zLnJ1bnRpbWUsXG4gIH07XG59XG4iXX0=
79
+ const WORKSPACE_ROOT_FILES = ['pnpm-workspace.yaml'];
80
+ const PROJECT_ROOT_FILES = [
81
+ 'pnpm-lock.yaml',
82
+ 'package-lock.json',
83
+ 'yarn.lock',
84
+ 'bun.lock',
85
+ 'bun.lockb',
86
+ ];
87
+ function fileExists(path) {
88
+ try {
89
+ return statSync(path).isFile();
90
+ }
91
+ catch {
92
+ return false;
93
+ }
94
+ }
95
+ function findRootFile(names, workingDir) {
96
+ let current = resolve(workingDir);
97
+ while (true) {
98
+ for (const name of names) {
99
+ const file = join(current, name);
100
+ if (fileExists(file)) {
101
+ return file;
102
+ }
103
+ }
104
+ const parent = dirname(current);
105
+ if (parent === current) {
106
+ return undefined;
107
+ }
108
+ current = parent;
109
+ }
110
+ }
111
+ function findProjectRootFile(workingDir) {
112
+ return (findRootFile(WORKSPACE_ROOT_FILES, workingDir) ??
113
+ findRootFile(PROJECT_ROOT_FILES, workingDir));
114
+ }
115
+ export function resolveConfiguredProjectRoot(workingDir, configuredRoot) {
116
+ return isAbsolute(configuredRoot)
117
+ ? configuredRoot
118
+ : resolve(workingDir, configuredRoot);
119
+ }
120
+ export function resolveProjectRoot(workingDir) {
121
+ let rootFile = findProjectRootFile(workingDir);
122
+ if (!rootFile) {
123
+ return resolve(workingDir);
124
+ }
125
+ while (true) {
126
+ const currentDir = dirname(rootFile);
127
+ const parentDir = dirname(currentDir);
128
+ if (parentDir === currentDir) {
129
+ return currentDir;
130
+ }
131
+ const parentRootFile = findProjectRootFile(parentDir);
132
+ if (!parentRootFile) {
133
+ return currentDir;
134
+ }
135
+ rootFile = parentRootFile;
136
+ }
137
+ }
138
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlnLWhlbHBlcnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvY29uZmlnLWhlbHBlcnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLFNBQVMsQ0FBQztBQUNuQyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDNUMsT0FBTyxFQUFFLE9BQU8sRUFBRSxVQUFVLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUMvRCxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sU0FBUyxDQUFDO0FBQ2pDLE9BQU8sS0FBSyxNQUFNLE9BQU8sQ0FBQztBQWMxQjs7Ozs7O0dBTUc7QUFDSCxNQUFNLENBQUMsS0FBSyxVQUFVLCtCQUErQixDQUNuRCxZQUFnQztJQUVoQyxNQUFNLGNBQWMsR0FBcUI7UUFDdkMsVUFBVSxFQUFFLEtBQUs7UUFDakIsZUFBZSxFQUFFLEtBQUs7UUFDdEIsaUJBQWlCLEVBQUUsS0FBSztLQUN6QixDQUFDO0lBRUYsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO1FBQ2xCLE9BQU8sY0FBYyxDQUFDO0lBQ3hCLENBQUM7SUFFRCxJQUFJLENBQUM7UUFDSCxNQUFNLE9BQU8sR0FBRyxNQUFNLFFBQVEsQ0FBQyxZQUFZLEVBQUUsT0FBTyxDQUFDLENBQUM7UUFDdEQsTUFBTSxRQUFRLEdBQ1osS0FBSyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUN2QixNQUFNLGVBQWUsR0FBRyxRQUFRLENBQUMsZUFBZSxJQUFJLEVBQUUsQ0FBQztRQUV2RCxxRkFBcUY7UUFDckYsTUFBTSxzQkFBc0IsR0FDMUIsZUFBZSxDQUFDLHNCQUFzQixLQUFLLElBQUksQ0FBQztRQUNsRCxNQUFNLHFCQUFxQixHQUN6QixlQUFlLENBQUMscUJBQXFCLEtBQUssSUFBSSxDQUFDO1FBRWpELE9BQU87WUFDTCxVQUFVLEVBQUUsc0JB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LENBQUM7QUFDSixDQUFDO0FBRUQsTUFBTSxVQUFVLDRCQUE0QixDQUMxQyxVQUFrQixFQUNsQixjQUFzQjtJQUV0QixPQUFPLFVBQVUsQ0FBQyxjQUFjLENBQUM7UUFDL0IsQ0FBQyxDQUFDLGNBQWM7UUFDaEIsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxVQUFVLEVBQUUsY0FBYyxDQUFDLENBQUM7QUFDMUMsQ0FBQztBQUVELE1BQU0sVUFBVSxrQkFBa0IsQ0FBQyxVQUFrQjtJQUNuRCxJQUFJLFFBQVEsR0FBRyxtQkFBbUIsQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUMvQyxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDZCxPQUFPLE9BQU8sQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUM3QixDQUFDO0lBRUQsT0FBTyxJQUFJLEVBQUUsQ0FBQztRQUNaLE1BQU0sVUFBVSxHQUFHLE9BQU8sQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUNyQyxNQUFNLFNBQVMsR0FBRyxPQUFPLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDdEMsSUFBSSxTQUFTLEtBQUssVUFBVSxFQUFFLENBQUM7WUFDN0IsT0FBTyxVQUFVLENBQUM7UUFDcEIsQ0FBQztRQUVELE1BQU0sY0FBYyxHQUFHLG1CQUFtQixDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQ3RELElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQztZQUNwQixPQUFPLFVBQVUsQ0FBQztRQUNwQixDQUFDO1FBQ0QsUUFBUSxHQUFHLGNBQWMsQ0FBQztJQUM1QixDQUFDO0FBQ0gsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHN0YXRTeW5jIH0gZnJvbSAnbm9kZTpmcyc7XG5pbXBvcnQgeyByZWFkRmlsZSB9IGZyb20gJ25vZGU6ZnMvcHJvbWlzZXMnO1xuaW1wb3J0IHsgZGlybmFtZSwgaXNBYnNvbHV0ZSwgam9pbiwgcmVzb2x2ZSB9IGZyb20gJ25vZGU6cGF0aCc7XG5pbXBvcnQgeyBmaW5kVXAgfSBmcm9tICdmaW5kLXVwJztcbmltcG9ydCBKU09ONSBmcm9tICdqc29uNSc7XG5pbXBvcnQgdHlwZSB7IFdvcmtmbG93Q29uZmlnIH0gZnJvbSAnLi90eXBlcy5qcyc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgRGVjb3JhdG9yT3B0aW9ucyB7XG4gIGRlY29yYXRvcnM6IGJvb2xlYW47XG4gIGxlZ2FjeURlY29yYXRvcjogYm9vbGVhbjtcbiAgZGVjb3JhdG9yTWV0YWRhdGE6IGJvb2xlYW47XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRGVjb3JhdG9yT3B0aW9uc1dpdGhDb25maWdQYXRoIHtcbiAgb3B0aW9uczogRGVjb3JhdG9yT3B0aW9ucztcbiAgY29uZmlnUGF0aDogc3RyaW5nIHwgdW5kZWZpbmVkO1xufVxuXG4vKipcbiAqIFJlYWRzIHRzY29uZmlnLmpzb24gYW5kIGV4dHJhY3RzIGRlY29yYXRvci1yZWxhdGVkIGNvbXBpbGVyIG9wdGlvbnMuXG4gKiBSZXR1cm5zIGRlY29yYXRvciBvcHRpb25zIGJhc2VkIG9uIGV4cGVyaW1lbnRhbERlY29yYXRvcnMgYW5kIGVtaXREZWNvcmF0b3JNZXRhZGF0YSBzZXR0aW5ncy5cbiAqXG4gKiBAcGFyYW0gdHNjb25maWdQYXRoIC0gUGF0aCB0byB0c2NvbmZpZy5qc29uIG9yIGpzY29uZmlnLmpzb25cbiAqIEByZXR1cm5zIERlY29yYXRvck9wdGlvbnMgd2l0aCBzZXR0aW5ncyBiYXNlZCBvbiB0c2NvbmZpZyBjb21waWxlck9wdGlvbnNcbiAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGdldERlY29yYXRvck9wdGlvbnNGcm9tVHNDb25maWcoXG4gIHRzY29uZmlnUGF0aDogc3RyaW5nIHwgdW5kZWZpbmVkXG4pOiBQcm9taXNlPERlY29yYXRvck9wdGlvbnM+IHtcbiAgY29uc3QgZGVmYXVsdE9wdGlvbnM6IERlY29yYXRvck9wdGlvbnMgPSB7XG4gICAgZGVjb3JhdG9yczogZmFsc2UsXG4gICAgbGVnYWN5RGVjb3JhdG9yOiBmYWxzZSxcbiAgICBkZWNvcmF0b3JNZXRhZGF0YTogZmFsc2UsXG4gIH07XG5cbiAgaWYgKCF0c2NvbmZpZ1BhdGgpIHtcbiAgICByZXR1cm4gZGVmYXVsdE9wdGlvbnM7XG4gIH1cblxuICB0cnkge1xuICAgIGNvbnN0IGNvbnRlbnQgPSBhd2FpdCByZWFkRmlsZSh0c2NvbmZpZ1BhdGgsICd1dGYtOCcpO1xuICAgIGNvbnN0IHRzY29uZmlnOiB7IGNvbXBpbGVyT3B0aW9ucz86IFJlY29yZDxzdHJpbmcsIHVua25vd24+IH0gPVxuICAgICAgSlNPTjUucGFyc2UoY29udGVudCk7XG4gICAgY29uc3QgY29tcGlsZXJPcHRpb25zID0gdHNjb25maWcuY29tcGlsZXJPcHRpb25zIHx8IHt9O1xuXG4gICAgLy8gTWF0Y2ggTmV4dC5qcyBiZWhhdmlvcjogZW5hYmxlIGRlY29yYXRvcnMgb25seSB3aGVuIGV4cGVyaW1lbnRhbERlY29yYXRvcnMgaXMgdHJ1ZVxuICAgIGNvbnN0IGV4cGVyaW1lbnRhbERlY29yYXRvcnMgPVxuICAgICAgY29tcGlsZXJPcHRpb25zLmV4cGVyaW1lbnRhbERlY29yYXRvcnMgPT09IHRydWU7XG4gICAgY29uc3QgZW1pdERlY29yYXRvck1ldGFkYXRhID1cbiAgICAgIGNvbXBpbGVyT3B0aW9ucy5lbWl0RGVjb3JhdG9yTWV0YWRhdGEgPT09IHRydWU7XG5cbiAgICByZXR1cm4ge1xuICAgICAgZGVjb3JhdG9yczogZXhwZXJpbWVudGFsRGVjb3JhdG9ycyxcbiAgICAgIGxlZ2FjeURlY29yYXRvcjogZXhwZXJpbWVudGFsRGVjb3JhdG9ycyxcbiAgICAgIGRlY29yYXRvck1ldGFkYXRhOiBleHBlcmltZW50YWxEZWNvcmF0b3JzICYmIGVtaXREZWNvcmF0b3JNZXRhZGF0YSxcbiAgICB9O1xuICB9IGNhdGNoIHtcbiAgICAvLyBJZiB3ZSBjYW4ndCByZWFkIG9yIHBhcnNlIHRoZSB0c2NvbmZpZywgcmV0dXJuIGRlZmF1bHRzXG4gICAgcmV0dXJuIGRlZmF1bHRPcHRpb25zO1xuICB9XG59XG5cbi8qKlxuICogRmluZHMgdHNjb25maWcuanNvbiBpbiB0aGUgZ2l2ZW4gZGlyZWN0b3J5IChvciBhbmNlc3RvcnMpIGFuZCBleHRyYWN0cyBkZWNvcmF0b3Igb3B0aW9ucy5cbiAqIENvbWJpbmVzIHRzY29uZmlnIGRpc2NvdmVyeSB3aXRoIGRlY29yYXRvciBvcHRpb24gZXh0cmFjdGlvbiBmb3IgY29udmVuaWVuY2UuXG4gKlxuICogQHBhcmFtIGN3ZCAtIERpcmVjdG9yeSB0byBzdGFydCBzZWFyY2hpbmcgZm9yIHRzY29uZmlnLmpzb25cbiAqIEByZXR1cm5zIERlY29yYXRvck9wdGlvbnMgd2l0aCBzZXR0aW5ncyBiYXNlZCBvbiB0c2NvbmZpZyBjb21waWxlck9wdGlvbnNcbiAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGdldERlY29yYXRvck9wdGlvbnNGb3JEaXJlY3RvcnkoXG4gIGN3ZDogc3RyaW5nXG4pOiBQcm9taXNlPERlY29yYXRvck9wdGlvbnM+IHtcbiAgY29uc3QgeyBvcHRpb25zIH0gPSBhd2FpdCBnZXREZWNvcmF0b3JPcHRpb25zRm9yRGlyZWN0b3J5V2l0aENvbmZpZ1BhdGgoY3dkKTtcbiAgcmV0dXJuIG9wdGlvbnM7XG59XG5cbi8qKlxuICogRmluZHMgdHNjb25maWcuanNvbi9qc2NvbmZpZy5qc29uIGluIHRoZSBnaXZlbiBkaXJlY3RvcnkgdHJlZSBhbmQgcmV0dXJuc1xuICogYm90aCBkZWNvcmF0b3Igb3B0aW9ucyBhbmQgdGhlIGNvbmZpZyBwYXRoIHVzZWQgdG8gZGVyaXZlIHRoZW0uXG4gKi9cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBnZXREZWNvcmF0b3JPcHRpb25zRm9yRGlyZWN0b3J5V2l0aENvbmZpZ1BhdGgoXG4gIGN3ZDogc3RyaW5nXG4pOiBQcm9taXNlPERlY29yYXRvck9wdGlvbnNXaXRoQ29uZmlnUGF0aD4ge1xuICBjb25zdCBjb25maWdQYXRoID0gYXdhaXQgZmluZFVwKFsndHNjb25maWcuanNvbicsICdqc2NvbmZpZy5qc29uJ10sIHtcbiAgICBjd2QsXG4gIH0pO1xuICBjb25zdCBvcHRpb25zID0gYXdhaXQgZ2V0RGVjb3JhdG9yT3B0aW9uc0Zyb21Uc0NvbmZpZyhjb25maWdQYXRoKTtcbiAgcmV0dXJuIHsgb3B0aW9ucywgY29uZmlnUGF0aCB9O1xufVxuXG4vKipcbiAqIENyZWF0ZXMgYSBwYXJ0aWFsIGNvbmZpZ3VyYXRpb24gZm9yIGJ1aWxkZXJzIHRoYXQgZG9uJ3QgdXNlIGJ1bmRsZSBwYXRocyBkaXJlY3RseS5cbiAqIFVzZWQgYnkgZnJhbWV3b3JrIGludGVncmF0aW9ucyBsaWtlIE5pdHJvIHdoZXJlIHRoZSBidWlsZGVyIGNvbXB1dGVzIHBhdGhzIGludGVybmFsbHkuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBjcmVhdGVCYXNlQnVpbGRlckNvbmZpZyhvcHRpb25zOiB7XG4gIHdvcmtpbmdEaXI6IHN0cmluZztcbiAgcHJvamVjdFJvb3Q/OiBzdHJpbmc7XG4gIGRpcnM/OiBzdHJpbmdbXTtcbiAgd2F0Y2g/OiBib29sZWFuO1xuICBleHRlcm5hbFBhY2thZ2VzPzogc3RyaW5nW107XG4gIHJ1bnRpbWU/OiBzdHJpbmc7XG59KTogT21pdDxXb3JrZmxvd0NvbmZpZywgJ2J1aWxkVGFyZ2V0Jz4ge1xuICByZXR1cm4ge1xuICAgIGRpcnM6IG9wdGlvbnMuZGlycyA/PyBbJ3dvcmtmbG93cyddLFxuICAgIHByb2plY3RSb290OiBvcHRpb25zLnByb2plY3RSb290LFxuICAgIHdvcmtpbmdEaXI6IG9wdGlvbnMud29ya2luZ0RpcixcbiAgICB3YXRjaDogb3B0aW9ucy53YXRjaCxcbiAgICBzdGVwc0J1bmRsZVBhdGg6ICcnLCAvLyBOb3QgdXNlZCBieSBiYXNlIGJ1aWxkZXIgbWV0aG9kc1xuICAgIHdvcmtmbG93c0J1bmRsZVBhdGg6ICcnLCAvLyBOb3QgdXNlZCBieSBiYXNlIGJ1aWxkZXIgbWV0aG9kc1xuICAgIHdlYmhvb2tCdW5kbGVQYXRoOiAnJywgLy8gTm90IHVzZWQgYnkgYmFzZSBidWlsZGVyIG1ldGhvZHNcbiAgICBleHRlcm5hbFBhY2thZ2VzOiBvcHRpb25zLmV4dGVybmFsUGFja2FnZXMsXG4gICAgcnVudGltZTogb3B0aW9ucy5ydW50aW1lLFxuICB9O1xufVxuXG5jb25zdCBXT1JLU1BBQ0VfUk9PVF9GSUxFUyA9IFsncG5wbS13b3Jrc3BhY2UueWFtbCddO1xuY29uc3QgUFJPSkVDVF9ST09UX0ZJTEVTID0gW1xuICAncG5wbS1sb2NrLnlhbWwnLFxuICAncGFja2FnZS1sb2NrLmpzb24nLFxuICAneWFybi5sb2NrJyxcbiAgJ2J1bi5sb2NrJyxcbiAgJ2J1bi5sb2NrYicsXG5dO1xuXG5mdW5jdGlvbiBmaWxlRXhpc3RzKHBhdGg6IHN0cmluZyk6IGJvb2xlYW4ge1xuICB0cnkge1xuICAgIHJldHVybiBzdGF0U3luYyhwYXRoKS5pc0ZpbGUoKTtcbiAgfSBjYXRjaCB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG59XG5cbmZ1bmN0aW9uIGZpbmRSb290RmlsZShuYW1lczogc3RyaW5nW10sIHdvcmtpbmdEaXI6IHN0cmluZyk6IHN0cmluZyB8IHVuZGVmaW5lZCB7XG4gIGxldCBjdXJyZW50ID0gcmVzb2x2ZSh3b3JraW5nRGlyKTtcblxuICB3aGlsZSAodHJ1ZSkge1xuICAgIGZvciAoY29uc3QgbmFtZSBvZiBuYW1lcykge1xuICAgICAgY29uc3QgZmlsZSA9IGpvaW4oY3VycmVudCwgbmFtZSk7XG4gICAgICBpZiAoZmlsZUV4aXN0cyhmaWxlKSkge1xuICAgICAgICByZXR1cm4gZmlsZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBjb25zdCBwYXJlbnQgPSBkaXJuYW1lKGN1cnJlbnQpO1xuICAgIGlmIChwYXJlbnQgPT09IGN1cnJlbnQpIHtcbiAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gICAgfVxuICAgIGN1cnJlbnQgPSBwYXJlbnQ7XG4gIH1cbn1cblxuZnVuY3Rpb24gZmluZFByb2plY3RSb290RmlsZSh3b3JraW5nRGlyOiBzdHJpbmcpOiBzdHJpbmcgfCB1bmRlZmluZWQge1xuICByZXR1cm4gKFxuICAgIGZpbmRSb290RmlsZShXT1JLU1BBQ0VfUk9PVF9GSUxFUywgd29ya2luZ0RpcikgPz9cbiAgICBmaW5kUm9vdEZpbGUoUFJPSkVDVF9ST09UX0ZJTEVTLCB3b3JraW5nRGlyKVxuICApO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gcmVzb2x2ZUNvbmZpZ3VyZWRQcm9qZWN0Um9vdChcbiAgd29ya2luZ0Rpcjogc3RyaW5nLFxuICBjb25maWd1cmVkUm9vdDogc3RyaW5nXG4pOiBzdHJpbmcge1xuICByZXR1cm4gaXNBYnNvbHV0ZShjb25maWd1cmVkUm9vdClcbiAgICA/IGNvbmZpZ3VyZWRSb290XG4gICAgOiByZXNvbHZlKHdvcmtpbmdEaXIsIGNvbmZpZ3VyZWRSb290KTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHJlc29sdmVQcm9qZWN0Um9vdCh3b3JraW5nRGlyOiBzdHJpbmcpOiBzdHJpbmcge1xuICBsZXQgcm9vdEZpbGUgPSBmaW5kUHJvamVjdFJvb3RGaWxlKHdvcmtpbmdEaXIpO1xuICBpZiAoIXJvb3RGaWxlKSB7XG4gICAgcmV0dXJuIHJlc29sdmUod29ya2luZ0Rpcik7XG4gIH1cblxuICB3aGlsZSAodHJ1ZSkge1xuICAgIGNvbnN0IGN1cnJlbnREaXIgPSBkaXJuYW1lKHJvb3RGaWxlKTtcbiAgICBjb25zdCBwYXJlbnREaXIgPSBkaXJuYW1lKGN1cnJlbnREaXIpO1xuICAgIGlmIChwYXJlbnREaXIgPT09IGN1cnJlbnREaXIpIHtcbiAgICAgIHJldHVybiBjdXJyZW50RGlyO1xuICAgIH1cblxuICAgIGNvbnN0IHBhcmVudFJvb3RGaWxlID0gZmluZFByb2plY3RSb290RmlsZShwYXJlbnREaXIpO1xuICAgIGlmICghcGFyZW50Um9vdEZpbGUpIHtcbiAgICAgIHJldHVybiBjdXJyZW50RGlyO1xuICAgIH1cbiAgICByb290RmlsZSA9IHBhcmVudFJvb3RGaWxlO1xuICB9XG59XG4iXX0=
@@ -0,0 +1,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=
@@ -65,7 +65,9 @@ export declare function createWorkflowQueueTrigger(options?: {
65
65
  */
66
66
  export declare function createWorkflowEntrypointOptionsCode(options?: {
67
67
  namespace?: string;
68
+ basePath?: string;
68
69
  }): string;
70
+ export declare function createWorkflowRouteHandlersCode(workflowEntrypointCall: string): string;
69
71
  /**
70
72
  * Default queue trigger (no namespace). Backward compatible.
71
73
  */
@@ -1 +1 @@
1
- {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"AAoBA;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,sBAAsB,CAAC,OAAO,CAAC,EAAE;IAAE,SAAS,CAAC,EAAE,MAAM,CAAA;CAAE;;;;;;EAUtE;AAED;;GAEG;AACH,eAAO,MAAM,kBAAkB;;;;;;CAA2B,CAAC;AAE3D;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,0BAA0B,CAAC,OAAO,CAAC,EAAE;IAAE,SAAS,CAAC,EAAE,MAAM,CAAA;CAAE;;;;;;EAU1E;AAED;;;;GAIG;AACH,wBAAgB,mCAAmC,CAAC,OAAO,CAAC,EAAE;IAC5D,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,UAWA;AAED;;GAEG;AACH,eAAO,MAAM,sBAAsB;;;;;;CAA+B,CAAC"}
1
+ {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"AAoBA;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,sBAAsB,CAAC,OAAO,CAAC,EAAE;IAAE,SAAS,CAAC,EAAE,MAAM,CAAA;CAAE;;;;;;EAUtE;AAED;;GAEG;AACH,eAAO,MAAM,kBAAkB;;;;;;CAA2B,CAAC;AAE3D;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,0BAA0B,CAAC,OAAO,CAAC,EAAE;IAAE,SAAS,CAAC,EAAE,MAAM,CAAA;CAAE;;;;;;EAU1E;AAED;;;;GAIG;AACH,wBAAgB,mCAAmC,CAAC,OAAO,CAAC,EAAE;IAC5D,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB,UAmBA;AAED,wBAAgB,+BAA+B,CAC7C,sBAAsB,EAAE,MAAM,UAM/B;AAED;;GAEG;AACH,eAAO,MAAM,sBAAsB;;;;;;CAA+B,CAAC"}
package/dist/constants.js CHANGED
@@ -74,15 +74,28 @@ export function createWorkflowQueueTrigger(options) {
74
74
  */
75
75
  export function createWorkflowEntrypointOptionsCode(options) {
76
76
  const namespace = resolveQueueNamespace(options?.namespace);
77
- if (!namespace) {
77
+ const fields = [];
78
+ if (namespace) {
79
+ // Reuse prefix construction for namespace validation.
80
+ getQueueTopicPrefix('workflow', namespace);
81
+ fields.push(`namespace: ${JSON.stringify(namespace)}`);
82
+ }
83
+ if (options?.basePath !== undefined) {
84
+ fields.push(`basePath: ${JSON.stringify(options.basePath)}`);
85
+ }
86
+ if (fields.length === 0) {
78
87
  return '';
79
88
  }
80
- // Reuse prefix construction for namespace validation.
81
- getQueueTopicPrefix('workflow', namespace);
82
- return `, { namespace: ${JSON.stringify(namespace)} }`;
89
+ return `, { ${fields.join(', ')} }`;
90
+ }
91
+ export function createWorkflowRouteHandlersCode(workflowEntrypointCall) {
92
+ return `export const POST = ${workflowEntrypointCall};
93
+ export const GET = POST;
94
+ export const HEAD = POST;
95
+ export const OPTIONS = POST;`;
83
96
  }
84
97
  /**
85
98
  * Default queue trigger (no namespace). Backward compatible.
86
99
  */
87
100
  export const WORKFLOW_QUEUE_TRIGGER = createWorkflowQueueTrigger();
88
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uc3RhbnRzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL2NvbnN0YW50cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLHVCQUF1QixHQUFHLGtCQUFrQixDQUFDO0FBRW5ELFNBQVMscUJBQXFCLENBQUMsU0FBa0I7SUFDL0MsT0FBTyxTQUFTLElBQUksT0FBTyxDQUFDLEdBQUcsQ0FBQyx3QkFBd0IsSUFBSSxTQUFTLENBQUM7QUFDeEUsQ0FBQztBQUVELFNBQVMsbUJBQW1CLENBQUMsSUFBeUIsRUFBRSxTQUFrQjtJQUN4RSxJQUFJLFNBQVMsS0FBSyxTQUFTLEVBQUUsQ0FBQztRQUM1QixJQUFJLENBQUMsdUJBQXVCLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUM7WUFDN0MsTUFBTSxJQUFJLEtBQUssQ0FDYiw0QkFBNEIsU0FBUywyREFBMkQsQ0FDakcsQ0FBQztRQUNKLENBQUM7UUFFRCxPQUFPLEtBQUssU0FBUyxRQUFRLElBQUksR0FBRyxDQUFDO0lBQ3ZDLENBQUM7SUFFRCxPQUFPLFNBQVMsSUFBSSxHQUFHLENBQUM7QUFDMUIsQ0FBQztBQUVEOzs7Ozs7Ozs7Ozs7Ozs7R0FlRztBQUNILE1BQU0sVUFBVSxzQkFBc0IsQ0FBQyxPQUFnQztJQUNyRSxNQUFNLFNBQVMsR0FBRyxxQkFBcUIsQ0FBQyxPQUFPLEVBQUUsU0FBUyxDQUFDLENBQUM7SUFFNUQsT0FBTztRQUNMLElBQUksRUFBRSxjQUF1QjtRQUM3QixLQUFLLEVBQUUsR0FBRyxtQkFBbUIsQ0FBQyxNQUFNLEVBQUUsU0FBUyxDQUFDLEdBQUc7UUFDbkQsUUFBUSxFQUFFLFNBQVM7UUFDbkIsaUJBQWlCLEVBQUUsQ0FBQyxFQUFFLHNDQUFzQztRQUM1RCxtQkFBbUIsRUFBRSxDQUFDLEVBQUUsbURBQW1EO0tBQzVFLENBQUM7QUFDSixDQUFDO0FBRUQ7O0dBRUc7QUFDSCxNQUFNLENBQUMsTUFBTSxrQkFBa0IsR0FBRyxzQkFBc0IsRUFBRSxDQUFDO0FBRTNEOzs7Ozs7Ozs7Ozs7Ozs7R0FlRztBQUNILE1BQU0sVUFBVSwwQkFBMEIsQ0FBQyxPQUFnQztJQUN6RSxNQUFNLFNBQVMsR0FBRyxxQkFBcUIsQ0FBQyxPQUFPLEVBQUUsU0FBUyxDQUFDLENBQUM7SUFFNUQsT0FBTztRQUNMLElBQUksRUFBRSxjQUF1QjtRQUM3QixLQUFLLEVBQUUsR0FBRyxtQkFBbUIsQ0FBQyxVQUFVLEVBQUUsU0FBUyxDQUFDLEdBQUc7UUFDdkQsUUFBUSxFQUFFLFNBQVM7UUFDbkIsaUJBQWlCLEVBQUUsQ0FBQyxFQUFFLHNDQUFzQztRQUM1RCxtQkFBbUIsRUFBRSxDQUFDLEVBQUUsbURBQW1EO0tBQzVFLENBQUM7QUFDSixDQUFDO0FBRUQ7Ozs7R0FJRztBQUNILE1BQU0sVUFBVSxtQ0FBbUMsQ0FBQyxPQUVuRDtJQUNDLE1BQU0sU0FBUyxHQUFHLHFCQUFxQixDQUFDLE9BQU8sRUFBRSxTQUFTLENBQUMsQ0FBQztJQUU1RCxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7UUFDZixPQUFPLEVBQUUsQ0FBQztJQUNaLENBQUM7SUFFRCxzREFBc0Q7SUFDdEQsbUJBQW1CLENBQUMsVUFBVSxFQUFFLFNBQVMsQ0FBQyxDQUFDO0lBRTNDLE9BQU8sa0JBQWtCLElBQUksQ0FBQyxTQUFTLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQztBQUN6RCxDQUFDO0FBRUQ7O0dBRUc7QUFDSCxNQUFNLENBQUMsTUFBTSxzQkFBc0IsR0FBRywwQkFBMEIsRUFBRSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiY29uc3QgUVVFVUVfTkFNRVNQQUNFX1BBVFRFUk4gPSAvXlthLXpdW2EtejAtOV0qJC87XG5cbmZ1bmN0aW9uIHJlc29sdmVRdWV1ZU5hbWVzcGFjZShuYW1lc3BhY2U/OiBzdHJpbmcpOiBzdHJpbmcgfCB1bmRlZmluZWQge1xuICByZXR1cm4gbmFtZXNwYWNlID8/IHByb2Nlc3MuZW52LldPUktGTE9XX1FVRVVFX05BTUVTUEFDRSA/PyB1bmRlZmluZWQ7XG59XG5cbmZ1bmN0aW9uIGdldFF1ZXVlVG9waWNQcmVmaXgoa2luZDogJ3dvcmtmbG93JyB8ICdzdGVwJywgbmFtZXNwYWNlPzogc3RyaW5nKSB7XG4gIGlmIChuYW1lc3BhY2UgIT09IHVuZGVmaW5lZCkge1xuICAgIGlmICghUVVFVUVfTkFNRVNQQUNFX1BBVFRFUk4udGVzdChuYW1lc3BhY2UpKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgIGBJbnZhbGlkIHF1ZXVlIG5hbWVzcGFjZSBcIiR7bmFtZXNwYWNlfVwiOiBtdXN0IGJlIGxvd2VyY2FzZSBhbHBoYW51bWVyaWMsIHN0YXJ0aW5nIHdpdGggYSBsZXR0ZXJgXG4gICAgICApO1xuICAgIH1cblxuICAgIHJldHVybiBgX18ke25hbWVzcGFjZX1fd2tmXyR7a2luZH1fYDtcbiAgfVxuXG4gIHJldHVybiBgX193a2ZfJHtraW5kfV9gO1xufVxuXG4vKipcbiAqIENyZWF0ZXMgYSBxdWV1ZSB0cmlnZ2VyIGNvbmZpZ3VyYXRpb24gZm9yIHdvcmtmbG93IHN0ZXAgZXhlY3V0aW9uLlxuICogU3RlcHMgYXJlIHF1ZXVlZCB0byB0aGUgc3RlcCB0b3BpYy5cbiAqXG4gKiBXaGVuIGBuYW1lc3BhY2VgIGlzIHByb3ZpZGVkLCB0aGUgdHJpZ2dlciB0b3BpYyBpcyBzY29wZWQgdG8gYXZvaWRcbiAqIGNvbGxpc2lvbnMgd2l0aCBvdGhlciBmcmFtZXdvcmtzIG9yIGRpcmVjdCBXb3JrZmxvdyBTREsgdXNhZ2UgaW4gdGhlXG4gKiBzYW1lIGRlcGxveW1lbnQuXG4gKlxuICogQGV4YW1wbGVcbiAqIC8vIGRlZmF1bHQ6IHRvcGljID0gJ19fd2tmX3N0ZXBfKidcbiAqIGNyZWF0ZVN0ZXBRdWV1ZVRyaWdnZXIoKVxuICpcbiAqIEBleGFtcGxlXG4gKiAvLyBuYW1lc3BhY2VkOiB0b3BpYyA9ICdfX2N1c3RvbV93a2Zfc3RlcF8qJ1xuICogY3JlYXRlU3RlcFF1ZXVlVHJpZ2dlcih7IG5hbWVzcGFjZTogJ2N1c3RvbScgfSlcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZVN0ZXBRdWV1ZVRyaWdnZXIob3B0aW9ucz86IHsgbmFtZXNwYWNlPzogc3RyaW5nIH0pIHtcbiAgY29uc3QgbmFtZXNwYWNlID0gcmVzb2x2ZVF1ZXVlTmFtZXNwYWNlKG9wdGlvbnM/Lm5hbWVzcGFjZSk7XG5cbiAgcmV0dXJuIHtcbiAgICB0eXBlOiAncXVldWUvdjJiZXRhJyBhcyBjb25zdCxcbiAgICB0b3BpYzogYCR7Z2V0UXVldWVUb3BpY1ByZWZpeCgnc3RlcCcsIG5hbWVzcGFjZSl9KmAsXG4gICAgY29uc3VtZXI6ICdkZWZhdWx0JyxcbiAgICByZXRyeUFmdGVyU2Vjb25kczogNSwgLy8gRGVsYXkgYmV0d2VlbiByZXRyaWVzIChkZWZhdWx0OiA2MClcbiAgICBpbml0aWFsRGVsYXlTZWNvbmRzOiAwLCAvLyBJbml0aWFsIGRlbGF5IGJlZm9yZSBmaXJzdCBkZWxpdmVyeSAoZGVmYXVsdDogMClcbiAgfTtcbn1cblxuLyoqXG4gKiBEZWZhdWx0IHN0ZXAgcXVldWUgdHJpZ2dlciAobm8gbmFtZXNwYWNlKS4gQmFja3dhcmQgY29tcGF0aWJsZS5cbiAqL1xuZXhwb3J0IGNvbnN0IFNURVBfUVVFVUVfVFJJR0dFUiA9IGNyZWF0ZVN0ZXBRdWV1ZVRyaWdnZXIoKTtcblxuLyoqXG4gKiBDcmVhdGVzIGEgcXVldWUgdHJpZ2dlciBjb25maWd1cmF0aW9uIGZvciB3b3JrZmxvdyBvcmNoZXN0cmF0aW9uLlxuICogV29ya2Zsb3dzIGFyZSBxdWV1ZWQgdG8gdGhlIHdvcmtmbG93IHRvcGljLlxuICpcbiAqIFdoZW4gYG5hbWVzcGFjZWAgaXMgcHJvdmlkZWQsIHRoZSB0cmlnZ2VyIHRvcGljIGlzIHNjb3BlZCB0byBhdm9pZFxuICogY29sbGlzaW9ucyB3aXRoIG90aGVyIGZyYW1ld29ya3Mgb3IgZGlyZWN0IFdvcmtmbG93IFNESyB1c2FnZSBpbiB0aGVcbiAqIHNhbWUgZGVwbG95bWVudC5cbiAqXG4gKiBAZXhhbXBsZVxuICogLy8gZGVmYXVsdDogdG9waWMgPSAnX193a2Zfd29ya2Zsb3dfKidcbiAqIGNyZWF0ZVdvcmtmbG93UXVldWVUcmlnZ2VyKClcbiAqXG4gKiBAZXhhbXBsZVxuICogLy8gbmFtZXNwYWNlZDogdG9waWMgPSAnX19jdXN0b21fd2tmX3dvcmtmbG93XyonXG4gKiBjcmVhdGVXb3JrZmxvd1F1ZXVlVHJpZ2dlcih7IG5hbWVzcGFjZTogJ2N1c3RvbScgfSlcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZVdvcmtmbG93UXVldWVUcmlnZ2VyKG9wdGlvbnM/OiB7IG5hbWVzcGFjZT86IHN0cmluZyB9KSB7XG4gIGNvbnN0IG5hbWVzcGFjZSA9IHJlc29sdmVRdWV1ZU5hbWVzcGFjZShvcHRpb25zPy5uYW1lc3BhY2UpO1xuXG4gIHJldHVybiB7XG4gICAgdHlwZTogJ3F1ZXVlL3YyYmV0YScgYXMgY29uc3QsXG4gICAgdG9waWM6IGAke2dldFF1ZXVlVG9waWNQcmVmaXgoJ3dvcmtmbG93JywgbmFtZXNwYWNlKX0qYCxcbiAgICBjb25zdW1lcjogJ2RlZmF1bHQnLFxuICAgIHJldHJ5QWZ0ZXJTZWNvbmRzOiA1LCAvLyBEZWxheSBiZXR3ZWVuIHJldHJpZXMgKGRlZmF1bHQ6IDYwKVxuICAgIGluaXRpYWxEZWxheVNlY29uZHM6IDAsIC8vIEluaXRpYWwgZGVsYXkgYmVmb3JlIGZpcnN0IGRlbGl2ZXJ5IChkZWZhdWx0OiAwKVxuICB9O1xufVxuXG4vKipcbiAqIENyZWF0ZXMgdGhlIG9wdGlvbmFsIHNlY29uZCBhcmd1bWVudCBmb3IgZ2VuZXJhdGVkIGB3b3JrZmxvd0VudHJ5cG9pbnQoKWBcbiAqIGNhbGxzLiBUaGUgbmFtZXNwYWNlIGlzIHJlc29sdmVkIHdoaWxlIGJ1aWxkaW5nIHNvIGdlbmVyYXRlZCByb3V0ZSBmaWxlcyBkb1xuICogbm90IG5lZWQgYFdPUktGTE9XX1FVRVVFX05BTUVTUEFDRWAgYXQgcnVudGltZS5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZVdvcmtmbG93RW50cnlwb2ludE9wdGlvbnNDb2RlKG9wdGlvbnM/OiB7XG4gIG5hbWVzcGFjZT86IHN0cmluZztcbn0pIHtcbiAgY29uc3QgbmFtZXNwYWNlID0gcmVzb2x2ZVF1ZXVlTmFtZXNwYWNlKG9wdGlvbnM/Lm5hbWVzcGFjZSk7XG5cbiAgaWYgKCFuYW1lc3BhY2UpIHtcbiAgICByZXR1cm4gJyc7XG4gIH1cblxuICAvLyBSZXVzZSBwcmVmaXggY29uc3RydWN0aW9uIGZvciBuYW1lc3BhY2UgdmFsaWRhdGlvbi5cbiAgZ2V0UXVldWVUb3BpY1ByZWZpeCgnd29ya2Zsb3cnLCBuYW1lc3BhY2UpO1xuXG4gIHJldHVybiBgLCB7IG5hbWVzcGFjZTogJHtKU09OLnN0cmluZ2lmeShuYW1lc3BhY2UpfSB9YDtcbn1cblxuLyoqXG4gKiBEZWZhdWx0IHF1ZXVlIHRyaWdnZXIgKG5vIG5hbWVzcGFjZSkuIEJhY2t3YXJkIGNvbXBhdGlibGUuXG4gKi9cbmV4cG9ydCBjb25zdCBXT1JLRkxPV19RVUVVRV9UUklHR0VSID0gY3JlYXRlV29ya2Zsb3dRdWV1ZVRyaWdnZXIoKTtcbiJdfQ==
101
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uc3RhbnRzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL2NvbnN0YW50cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLHVCQUF1QixHQUFHLGtCQUFrQixDQUFDO0FBRW5ELFNBQVMscUJBQXFCLENBQUMsU0FBa0I7SUFDL0MsT0FBTyxTQUFTLElBQUksT0FBTyxDQUFDLEdBQUcsQ0FBQyx3QkFBd0IsSUFBSSxTQUFTLENBQUM7QUFDeEUsQ0FBQztBQUVELFNBQVMsbUJBQW1CLENBQUMsSUFBeUIsRUFBRSxTQUFrQjtJQUN4RSxJQUFJLFNBQVMsS0FBSyxTQUFTLEVBQUUsQ0FBQztRQUM1QixJQUFJLENBQUMsdUJBQXVCLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUM7WUFDN0MsTUFBTSxJQUFJLEtBQUssQ0FDYiw0QkFBNEIsU0FBUywyREFBMkQsQ0FDakcsQ0FBQztRQUNKLENBQUM7UUFFRCxPQUFPLEtBQUssU0FBUyxRQUFRLElBQUksR0FBRyxDQUFDO0lBQ3ZDLENBQUM7SUFFRCxPQUFPLFNBQVMsSUFBSSxHQUFHLENBQUM7QUFDMUIsQ0FBQztBQUVEOzs7Ozs7Ozs7Ozs7Ozs7R0FlRztBQUNILE1BQU0sVUFBVSxzQkFBc0IsQ0FBQyxPQUFnQztJQUNyRSxNQUFNLFNBQVMsR0FBRyxxQkFBcUIsQ0FBQyxPQUFPLEVBQUUsU0FBUyxDQUFDLENBQUM7SUFFNUQsT0FBTztRQUNMLElBQUksRUFBRSxjQUF1QjtRQUM3QixLQUFLLEVBQUUsR0FBRyxtQkFBbUIsQ0FBQyxNQUFNLEVBQUUsU0FBUyxDQUFDLEdBQUc7UUFDbkQsUUFBUSxFQUFFLFNBQVM7UUFDbkIsaUJBQWlCLEVBQUUsQ0FBQyxFQUFFLHNDQUFzQztRQUM1RCxtQkFBbUIsRUFBRSxDQUFDLEVBQUUsbURBQW1EO0tBQzVFLENBQUM7QUFDSixDQUFDO0FBRUQ7O0dBRUc7QUFDSCxNQUFNLENBQUMsTUFBTSxrQkFBa0IsR0FBRyxzQkFBc0IsRUFBRSxDQUFDO0FBRTNEOzs7Ozs7Ozs7Ozs7Ozs7R0FlRztBQUNILE1BQU0sVUFBVSwwQkFBMEIsQ0FBQyxPQUFnQztJQUN6RSxNQUFNLFNBQVMsR0FBRyxxQkFBcUIsQ0FBQyxPQUFPLEVBQUUsU0FBUyxDQUFDLENBQUM7SUFFNUQsT0FBTztRQUNMLElBQUksRUFBRSxjQUF1QjtRQUM3QixLQUFLLEVBQUUsR0FBRyxtQkFBbUIsQ0FBQyxVQUFVLEVBQUUsU0FBUyxDQUFDLEdBQUc7UUFDdkQsUUFBUSxFQUFFLFNBQVM7UUFDbkIsaUJBQWlCLEVBQUUsQ0FBQyxFQUFFLHNDQUFzQztRQUM1RCxtQkFBbUIsRUFBRSxDQUFDLEVBQUUsbURBQW1EO0tBQzVFLENBQUM7QUFDSixDQUFDO0FBRUQ7Ozs7R0FJRztBQUNILE1BQU0sVUFBVSxtQ0FBbUMsQ0FBQyxPQUduRDtJQUNDLE1BQU0sU0FBUyxHQUFHLHFCQUFxQixDQUFDLE9BQU8sRUFBRSxTQUFTLENBQUMsQ0FBQztJQUM1RCxNQUFNLE1BQU0sR0FBYSxFQUFFLENBQUM7SUFFNUIsSUFBSSxTQUFTLEVBQUUsQ0FBQztRQUNkLHNEQUFzRDtRQUN0RCxtQkFBbUIsQ0FBQyxVQUFVLEVBQUUsU0FBUyxDQUFDLENBQUM7UUFDM0MsTUFBTSxDQUFDLElBQUksQ0FBQyxjQUFjLElBQUksQ0FBQyxTQUFTLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQ3pELENBQUM7SUFFRCxJQUFJLE9BQU8sRUFBRSxRQUFRLEtBQUssU0FBUyxFQUFFLENBQUM7UUFDcEMsTUFBTSxDQUFDLElBQUksQ0FBQyxhQUFhLElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUMvRCxDQUFDO0lBRUQsSUFBSSxNQUFNLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRSxDQUFDO1FBQ3hCLE9BQU8sRUFBRSxDQUFDO0lBQ1osQ0FBQztJQUVELE9BQU8sT0FBTyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUM7QUFDdEMsQ0FBQztBQUVELE1BQU0sVUFBVSwrQkFBK0IsQ0FDN0Msc0JBQThCO0lBRTlCLE9BQU8sdUJBQXVCLHNCQUFzQjs7OzZCQUd6QixDQUFDO0FBQzlCLENBQUM7QUFFRDs7R0FFRztBQUNILE1BQU0sQ0FBQyxNQUFNLHNCQUFzQixHQUFHLDBCQUEwQixFQUFFLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJjb25zdCBRVUVVRV9OQU1FU1BBQ0VfUEFUVEVSTiA9IC9eW2Etel1bYS16MC05XSokLztcblxuZnVuY3Rpb24gcmVzb2x2ZVF1ZXVlTmFtZXNwYWNlKG5hbWVzcGFjZT86IHN0cmluZyk6IHN0cmluZyB8IHVuZGVmaW5lZCB7XG4gIHJldHVybiBuYW1lc3BhY2UgPz8gcHJvY2Vzcy5lbnYuV09SS0ZMT1dfUVVFVUVfTkFNRVNQQUNFID8/IHVuZGVmaW5lZDtcbn1cblxuZnVuY3Rpb24gZ2V0UXVldWVUb3BpY1ByZWZpeChraW5kOiAnd29ya2Zsb3cnIHwgJ3N0ZXAnLCBuYW1lc3BhY2U/OiBzdHJpbmcpIHtcbiAgaWYgKG5hbWVzcGFjZSAhPT0gdW5kZWZpbmVkKSB7XG4gICAgaWYgKCFRVUVVRV9OQU1FU1BBQ0VfUEFUVEVSTi50ZXN0KG5hbWVzcGFjZSkpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgYEludmFsaWQgcXVldWUgbmFtZXNwYWNlIFwiJHtuYW1lc3BhY2V9XCI6IG11c3QgYmUgbG93ZXJjYXNlIGFscGhhbnVtZXJpYywgc3RhcnRpbmcgd2l0aCBhIGxldHRlcmBcbiAgICAgICk7XG4gICAgfVxuXG4gICAgcmV0dXJuIGBfXyR7bmFtZXNwYWNlfV93a2ZfJHtraW5kfV9gO1xuICB9XG5cbiAgcmV0dXJuIGBfX3drZl8ke2tpbmR9X2A7XG59XG5cbi8qKlxuICogQ3JlYXRlcyBhIHF1ZXVlIHRyaWdnZXIgY29uZmlndXJhdGlvbiBmb3Igd29ya2Zsb3cgc3RlcCBleGVjdXRpb24uXG4gKiBTdGVwcyBhcmUgcXVldWVkIHRvIHRoZSBzdGVwIHRvcGljLlxuICpcbiAqIFdoZW4gYG5hbWVzcGFjZWAgaXMgcHJvdmlkZWQsIHRoZSB0cmlnZ2VyIHRvcGljIGlzIHNjb3BlZCB0byBhdm9pZFxuICogY29sbGlzaW9ucyB3aXRoIG90aGVyIGZyYW1ld29ya3Mgb3IgZGlyZWN0IFdvcmtmbG93IFNESyB1c2FnZSBpbiB0aGVcbiAqIHNhbWUgZGVwbG95bWVudC5cbiAqXG4gKiBAZXhhbXBsZVxuICogLy8gZGVmYXVsdDogdG9waWMgPSAnX193a2Zfc3RlcF8qJ1xuICogY3JlYXRlU3RlcFF1ZXVlVHJpZ2dlcigpXG4gKlxuICogQGV4YW1wbGVcbiAqIC8vIG5hbWVzcGFjZWQ6IHRvcGljID0gJ19fY3VzdG9tX3drZl9zdGVwXyonXG4gKiBjcmVhdGVTdGVwUXVldWVUcmlnZ2VyKHsgbmFtZXNwYWNlOiAnY3VzdG9tJyB9KVxuICovXG5leHBvcnQgZnVuY3Rpb24gY3JlYXRlU3RlcFF1ZXVlVHJpZ2dlcihvcHRpb25zPzogeyBuYW1lc3BhY2U/OiBzdHJpbmcgfSkge1xuICBjb25zdCBuYW1lc3BhY2UgPSByZXNvbHZlUXVldWVOYW1lc3BhY2Uob3B0aW9ucz8ubmFtZXNwYWNlKTtcblxuICByZXR1cm4ge1xuICAgIHR5cGU6ICdxdWV1ZS92MmJldGEnIGFzIGNvbnN0LFxuICAgIHRvcGljOiBgJHtnZXRRdWV1ZVRvcGljUHJlZml4KCdzdGVwJywgbmFtZXNwYWNlKX0qYCxcbiAgICBjb25zdW1lcjogJ2RlZmF1bHQnLFxuICAgIHJldHJ5QWZ0ZXJTZWNvbmRzOiA1LCAvLyBEZWxheSBiZXR3ZWVuIHJldHJpZXMgKGRlZmF1bHQ6IDYwKVxuICAgIGluaXRpYWxEZWxheVNlY29uZHM6IDAsIC8vIEluaXRpYWwgZGVsYXkgYmVmb3JlIGZpcnN0IGRlbGl2ZXJ5IChkZWZhdWx0OiAwKVxuICB9O1xufVxuXG4vKipcbiAqIERlZmF1bHQgc3RlcCBxdWV1ZSB0cmlnZ2VyIChubyBuYW1lc3BhY2UpLiBCYWNrd2FyZCBjb21wYXRpYmxlLlxuICovXG5leHBvcnQgY29uc3QgU1RFUF9RVUVVRV9UUklHR0VSID0gY3JlYXRlU3RlcFF1ZXVlVHJpZ2dlcigpO1xuXG4vKipcbiAqIENyZWF0ZXMgYSBxdWV1ZSB0cmlnZ2VyIGNvbmZpZ3VyYXRpb24gZm9yIHdvcmtmbG93IG9yY2hlc3RyYXRpb24uXG4gKiBXb3JrZmxvd3MgYXJlIHF1ZXVlZCB0byB0aGUgd29ya2Zsb3cgdG9waWMuXG4gKlxuICogV2hlbiBgbmFtZXNwYWNlYCBpcyBwcm92aWRlZCwgdGhlIHRyaWdnZXIgdG9waWMgaXMgc2NvcGVkIHRvIGF2b2lkXG4gKiBjb2xsaXNpb25zIHdpdGggb3RoZXIgZnJhbWV3b3JrcyBvciBkaXJlY3QgV29ya2Zsb3cgU0RLIHVzYWdlIGluIHRoZVxuICogc2FtZSBkZXBsb3ltZW50LlxuICpcbiAqIEBleGFtcGxlXG4gKiAvLyBkZWZhdWx0OiB0b3BpYyA9ICdfX3drZl93b3JrZmxvd18qJ1xuICogY3JlYXRlV29ya2Zsb3dRdWV1ZVRyaWdnZXIoKVxuICpcbiAqIEBleGFtcGxlXG4gKiAvLyBuYW1lc3BhY2VkOiB0b3BpYyA9ICdfX2N1c3RvbV93a2Zfd29ya2Zsb3dfKidcbiAqIGNyZWF0ZVdvcmtmbG93UXVldWVUcmlnZ2VyKHsgbmFtZXNwYWNlOiAnY3VzdG9tJyB9KVxuICovXG5leHBvcnQgZnVuY3Rpb24gY3JlYXRlV29ya2Zsb3dRdWV1ZVRyaWdnZXIob3B0aW9ucz86IHsgbmFtZXNwYWNlPzogc3RyaW5nIH0pIHtcbiAgY29uc3QgbmFtZXNwYWNlID0gcmVzb2x2ZVF1ZXVlTmFtZXNwYWNlKG9wdGlvbnM/Lm5hbWVzcGFjZSk7XG5cbiAgcmV0dXJuIHtcbiAgICB0eXBlOiAncXVldWUvdjJiZXRhJyBhcyBjb25zdCxcbiAgICB0b3BpYzogYCR7Z2V0UXVldWVUb3BpY1ByZWZpeCgnd29ya2Zsb3cnLCBuYW1lc3BhY2UpfSpgLFxuICAgIGNvbnN1bWVyOiAnZGVmYXVsdCcsXG4gICAgcmV0cnlBZnRlclNlY29uZHM6IDUsIC8vIERlbGF5IGJldHdlZW4gcmV0cmllcyAoZGVmYXVsdDogNjApXG4gICAgaW5pdGlhbERlbGF5U2Vjb25kczogMCwgLy8gSW5pdGlhbCBkZWxheSBiZWZvcmUgZmlyc3QgZGVsaXZlcnkgKGRlZmF1bHQ6IDApXG4gIH07XG59XG5cbi8qKlxuICogQ3JlYXRlcyB0aGUgb3B0aW9uYWwgc2Vjb25kIGFyZ3VtZW50IGZvciBnZW5lcmF0ZWQgYHdvcmtmbG93RW50cnlwb2ludCgpYFxuICogY2FsbHMuIFRoZSBuYW1lc3BhY2UgaXMgcmVzb2x2ZWQgd2hpbGUgYnVpbGRpbmcgc28gZ2VuZXJhdGVkIHJvdXRlIGZpbGVzIGRvXG4gKiBub3QgbmVlZCBgV09SS0ZMT1dfUVVFVUVfTkFNRVNQQUNFYCBhdCBydW50aW1lLlxuICovXG5leHBvcnQgZnVuY3Rpb24gY3JlYXRlV29ya2Zsb3dFbnRyeXBvaW50T3B0aW9uc0NvZGUob3B0aW9ucz86IHtcbiAgbmFtZXNwYWNlPzogc3RyaW5nO1xuICBiYXNlUGF0aD86IHN0cmluZztcbn0pIHtcbiAgY29uc3QgbmFtZXNwYWNlID0gcmVzb2x2ZVF1ZXVlTmFtZXNwYWNlKG9wdGlvbnM/Lm5hbWVzcGFjZSk7XG4gIGNvbnN0IGZpZWxkczogc3RyaW5nW10gPSBbXTtcblxuICBpZiAobmFtZXNwYWNlKSB7XG4gICAgLy8gUmV1c2UgcHJlZml4IGNvbnN0cnVjdGlvbiBmb3IgbmFtZXNwYWNlIHZhbGlkYXRpb24uXG4gICAgZ2V0UXVldWVUb3BpY1ByZWZpeCgnd29ya2Zsb3cnLCBuYW1lc3BhY2UpO1xuICAgIGZpZWxkcy5wdXNoKGBuYW1lc3BhY2U6ICR7SlNPTi5zdHJpbmdpZnkobmFtZXNwYWNlKX1gKTtcbiAgfVxuXG4gIGlmIChvcHRpb25zPy5iYXNlUGF0aCAhPT0gdW5kZWZpbmVkKSB7XG4gICAgZmllbGRzLnB1c2goYGJhc2VQYXRoOiAke0pTT04uc3RyaW5naWZ5KG9wdGlvbnMuYmFzZVBhdGgpfWApO1xuICB9XG5cbiAgaWYgKGZpZWxkcy5sZW5ndGggPT09IDApIHtcbiAgICByZXR1cm4gJyc7XG4gIH1cblxuICByZXR1cm4gYCwgeyAke2ZpZWxkcy5qb2luKCcsICcpfSB9YDtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZVdvcmtmbG93Um91dGVIYW5kbGVyc0NvZGUoXG4gIHdvcmtmbG93RW50cnlwb2ludENhbGw6IHN0cmluZ1xuKSB7XG4gIHJldHVybiBgZXhwb3J0IGNvbnN0IFBPU1QgPSAke3dvcmtmbG93RW50cnlwb2ludENhbGx9O1xuZXhwb3J0IGNvbnN0IEdFVCA9IFBPU1Q7XG5leHBvcnQgY29uc3QgSEVBRCA9IFBPU1Q7XG5leHBvcnQgY29uc3QgT1BUSU9OUyA9IFBPU1Q7YDtcbn1cblxuLyoqXG4gKiBEZWZhdWx0IHF1ZXVlIHRyaWdnZXIgKG5vIG5hbWVzcGFjZSkuIEJhY2t3YXJkIGNvbXBhdGlibGUuXG4gKi9cbmV4cG9ydCBjb25zdCBXT1JLRkxPV19RVUVVRV9UUklHR0VSID0gY3JlYXRlV29ya2Zsb3dRdWV1ZVRyaWdnZXIoKTtcbiJdfQ==
@@ -29,5 +29,11 @@ describe('createWorkflowEntrypointOptionsCode', () => {
29
29
  process.env.WORKFLOW_QUEUE_NAMESPACE = 'custom';
30
30
  expect(createWorkflowEntrypointOptionsCode()).toBe(', { namespace: "custom" }');
31
31
  });
32
+ it('inlines basePath alongside namespace options', () => {
33
+ expect(createWorkflowEntrypointOptionsCode({
34
+ namespace: 'custom',
35
+ basePath: '/v2',
36
+ })).toBe(', { namespace: "custom", basePath: "/v2" }');
37
+ });
32
38
  });
33
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uc3RhbnRzLnRlc3QuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvY29uc3RhbnRzLnRlc3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQUUsTUFBTSxFQUFFLEVBQUUsRUFBRSxNQUFNLFFBQVEsQ0FBQztBQUN6RCxPQUFPLEVBQ0wsbUNBQW1DLEVBQ25DLDBCQUEwQixHQUMzQixNQUFNLGdCQUFnQixDQUFDO0FBRXhCLFFBQVEsQ0FBQyw0QkFBNEIsRUFBRSxHQUFHLEVBQUU7SUFDMUMsU0FBUyxDQUFDLEdBQUcsRUFBRTtRQUNiLE9BQU8sT0FBTyxDQUFDLEdBQUcsQ0FBQyx3QkFBd0IsQ0FBQztJQUM5QyxDQUFDLENBQUMsQ0FBQztJQUVILEVBQUUsQ0FBQyxxREFBcUQsRUFBRSxHQUFHLEVBQUU7UUFDN0QsTUFBTSxDQUFDLDBCQUEwQixFQUFFLENBQUMsS0FBSyxDQUFDLENBQUMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLENBQUM7SUFDdEUsQ0FBQyxDQUFDLENBQUM7SUFFSCxFQUFFLENBQUMsMENBQTBDLEVBQUUsR0FBRyxFQUFFO1FBQ2xELE1BQU0sQ0FBQywwQkFBMEIsQ0FBQyxFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQUUsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLElBQUksQ0FDcEUseUJBQXlCLENBQzFCLENBQUM7SUFDSixDQUFDLENBQUMsQ0FBQztJQUVILEVBQUUsQ0FBQyxzRUFBc0UsRUFBRSxHQUFHLEVBQUU7UUFDOUUsT0FBTyxDQUFDLEdBQUcsQ0FBQyx3QkFBd0IsR0FBRyxRQUFRLENBQUM7UUFFaEQsTUFBTSxDQUFDLDBCQUEwQixFQUFFLENBQUMsS0FBSyxDQUFDLENBQUMsSUFBSSxDQUFDLHlCQUF5QixDQUFDLENBQUM7SUFDN0UsQ0FBQyxDQUFDLENBQUM7QUFDTCxDQUFDLENBQUMsQ0FBQztBQUVILFFBQVEsQ0FBQyxxQ0FBcUMsRUFBRSxHQUFHLEVBQUU7SUFDbkQsU0FBUyxDQUFDLEdBQUcsRUFBRTtRQUNiLE9BQU8sT0FBTyxDQUFDLEdBQUcsQ0FBQyx3QkFBd0IsQ0FBQztJQUM5QyxDQUFDLENBQUMsQ0FBQztJQUVILEVBQUUsQ0FBQywyQ0FBMkMsRUFBRSxHQUFHLEVBQUU7UUFDbkQsTUFBTSxDQUFDLG1DQUFtQyxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUM7SUFDekQsQ0FBQyxDQUFDLENBQUM7SUFFSCxFQUFFLENBQUMsK0JBQStCLEVBQUUsR0FBRyxFQUFFO1FBQ3ZDLE1BQU0sQ0FBQyxtQ0FBbUMsQ0FBQyxFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUN2RSwyQkFBMkIsQ0FDNUIsQ0FBQztJQUNKLENBQUMsQ0FBQyxDQUFDO0lBRUgsRUFBRSxDQUFDLGdEQUFnRCxFQUFFLEdBQUcsRUFBRTtRQUN4RCxPQUFPLENBQUMsR0FBRyxDQUFDLHdCQUF3QixHQUFHLFFBQVEsQ0FBQztRQUVoRCxNQUFNLENBQUMsbUNBQW1DLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FDaEQsMkJBQTJCLENBQzVCLENBQUM7SUFDSixDQUFDLENBQUMsQ0FBQztBQUNMLENBQUMsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgYWZ0ZXJFYWNoLCBkZXNjcmliZSwgZXhwZWN0LCBpdCB9IGZyb20gJ3ZpdGVzdCc7XG5pbXBvcnQge1xuICBjcmVhdGVXb3JrZmxvd0VudHJ5cG9pbnRPcHRpb25zQ29kZSxcbiAgY3JlYXRlV29ya2Zsb3dRdWV1ZVRyaWdnZXIsXG59IGZyb20gJy4vY29uc3RhbnRzLmpzJztcblxuZGVzY3JpYmUoJ2NyZWF0ZVdvcmtmbG93UXVldWVUcmlnZ2VyJywgKCkgPT4ge1xuICBhZnRlckVhY2goKCkgPT4ge1xuICAgIGRlbGV0ZSBwcm9jZXNzLmVudi5XT1JLRkxPV19RVUVVRV9OQU1FU1BBQ0U7XG4gIH0pO1xuXG4gIGl0KCd1c2VzIHRoZSBkZWZhdWx0IHdvcmtmbG93IHRvcGljIHdpdGhvdXQgYSBuYW1lc3BhY2UnLCAoKSA9PiB7XG4gICAgZXhwZWN0KGNyZWF0ZVdvcmtmbG93UXVldWVUcmlnZ2VyKCkudG9waWMpLnRvQmUoJ19fd2tmX3dvcmtmbG93XyonKTtcbiAgfSk7XG5cbiAgaXQoJ3VzZXMgYW4gZXhwbGljaXQgbmFtZXNwYWNlIHdoZW4gcHJvdmlkZWQnLCAoKSA9PiB7XG4gICAgZXhwZWN0KGNyZWF0ZVdvcmtmbG93UXVldWVUcmlnZ2VyKHsgbmFtZXNwYWNlOiAnY3VzdG9tJyB9KS50b3BpYykudG9CZShcbiAgICAgICdfX2N1c3RvbV93a2Zfd29ya2Zsb3dfKidcbiAgICApO1xuICB9KTtcblxuICBpdCgndXNlcyBXT1JLRkxPV19RVUVVRV9OQU1FU1BBQ0Ugd2hlbiBubyBleHBsaWNpdCBuYW1lc3BhY2UgaXMgcHJvdmlkZWQnLCAoKSA9PiB7XG4gICAgcHJvY2Vzcy5lbnYuV09SS0ZMT1dfUVVFVUVfTkFNRVNQQUNFID0gJ2N1c3RvbSc7XG5cbiAgICBleHBlY3QoY3JlYXRlV29ya2Zsb3dRdWV1ZVRyaWdnZXIoKS50b3BpYykudG9CZSgnX19jdXN0b21fd2tmX3dvcmtmbG93XyonKTtcbiAgfSk7XG59KTtcblxuZGVzY3JpYmUoJ2NyZWF0ZVdvcmtmbG93RW50cnlwb2ludE9wdGlvbnNDb2RlJywgKCkgPT4ge1xuICBhZnRlckVhY2goKCkgPT4ge1xuICAgIGRlbGV0ZSBwcm9jZXNzLmVudi5XT1JLRkxPV19RVUVVRV9OQU1FU1BBQ0U7XG4gIH0pO1xuXG4gIGl0KCdvbWl0cyBydW50aW1lIG9wdGlvbnMgd2l0aG91dCBhIG5hbWVzcGFjZScsICgpID0+IHtcbiAgICBleHBlY3QoY3JlYXRlV29ya2Zsb3dFbnRyeXBvaW50T3B0aW9uc0NvZGUoKSkudG9CZSgnJyk7XG4gIH0pO1xuXG4gIGl0KCdpbmxpbmVzIGFuIGV4cGxpY2l0IG5hbWVzcGFjZScsICgpID0+IHtcbiAgICBleHBlY3QoY3JlYXRlV29ya2Zsb3dFbnRyeXBvaW50T3B0aW9uc0NvZGUoeyBuYW1lc3BhY2U6ICdjdXN0b20nIH0pKS50b0JlKFxuICAgICAgJywgeyBuYW1lc3BhY2U6IFwiY3VzdG9tXCIgfSdcbiAgICApO1xuICB9KTtcblxuICBpdCgnaW5saW5lcyBXT1JLRkxPV19RVUVVRV9OQU1FU1BBQ0UgYXQgYnVpbGQgdGltZScsICgpID0+IHtcbiAgICBwcm9jZXNzLmVudi5XT1JLRkxPV19RVUVVRV9OQU1FU1BBQ0UgPSAnY3VzdG9tJztcblxuICAgIGV4cGVjdChjcmVhdGVXb3JrZmxvd0VudHJ5cG9pbnRPcHRpb25zQ29kZSgpKS50b0JlKFxuICAgICAgJywgeyBuYW1lc3BhY2U6IFwiY3VzdG9tXCIgfSdcbiAgICApO1xuICB9KTtcbn0pO1xuIl19
39
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uc3RhbnRzLnRlc3QuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvY29uc3RhbnRzLnRlc3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQUUsTUFBTSxFQUFFLEVBQUUsRUFBRSxNQUFNLFFBQVEsQ0FBQztBQUN6RCxPQUFPLEVBQ0wsbUNBQW1DLEVBQ25DLDBCQUEwQixHQUMzQixNQUFNLGdCQUFnQixDQUFDO0FBRXhCLFFBQVEsQ0FBQyw0QkFBNEIsRUFBRSxHQUFHLEVBQUU7SUFDMUMsU0FBUyxDQUFDLEdBQUcsRUFBRTtRQUNiLE9BQU8sT0FBTyxDQUFDLEdBQUcsQ0FBQyx3QkFBd0IsQ0FBQztJQUM5QyxDQUFDLENBQUMsQ0FBQztJQUVILEVBQUUsQ0FBQyxxREFBcUQsRUFBRSxHQUFHLEVBQUU7UUFDN0QsTUFBTSxDQUFDLDBCQUEwQixFQUFFLENBQUMsS0FBSyxDQUFDLENBQUMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLENBQUM7SUFDdEUsQ0FBQyxDQUFDLENBQUM7SUFFSCxFQUFFLENBQUMsMENBQTBDLEVBQUUsR0FBRyxFQUFFO1FBQ2xELE1BQU0sQ0FBQywwQkFBMEIsQ0FBQyxFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQUUsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLElBQUksQ0FDcEUseUJBQXlCLENBQzFCLENBQUM7SUFDSixDQUFDLENBQUMsQ0FBQztJQUVILEVBQUUsQ0FBQyxzRUFBc0UsRUFBRSxHQUFHLEVBQUU7UUFDOUUsT0FBTyxDQUFDLEdBQUcsQ0FBQyx3QkFBd0IsR0FBRyxRQUFRLENBQUM7UUFFaEQsTUFBTSxDQUFDLDBCQUEwQixFQUFFLENBQUMsS0FBSyxDQUFDLENBQUMsSUFBSSxDQUFDLHlCQUF5QixDQUFDLENBQUM7SUFDN0UsQ0FBQyxDQUFDLENBQUM7QUFDTCxDQUFDLENBQUMsQ0FBQztBQUVILFFBQVEsQ0FBQyxxQ0FBcUMsRUFBRSxHQUFHLEVBQUU7SUFDbkQsU0FBUyxDQUFDLEdBQUcsRUFBRTtRQUNiLE9BQU8sT0FBTyxDQUFDLEdBQUcsQ0FBQyx3QkFBd0IsQ0FBQztJQUM5QyxDQUFDLENBQUMsQ0FBQztJQUVILEVBQUUsQ0FBQywyQ0FBMkMsRUFBRSxHQUFHLEVBQUU7UUFDbkQsTUFBTSxDQUFDLG1DQUFtQyxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUM7SUFDekQsQ0FBQyxDQUFDLENBQUM7SUFFSCxFQUFFLENBQUMsK0JBQStCLEVBQUUsR0FBRyxFQUFFO1FBQ3ZDLE1BQU0sQ0FBQyxtQ0FBbUMsQ0FBQyxFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUN2RSwyQkFBMkIsQ0FDNUIsQ0FBQztJQUNKLENBQUMsQ0FBQyxDQUFDO0lBRUgsRUFBRSxDQUFDLGdEQUFnRCxFQUFFLEdBQUcsRUFBRTtRQUN4RCxPQUFPLENBQUMsR0FBRyxDQUFDLHdCQUF3QixHQUFHLFFBQVEsQ0FBQztRQUVoRCxNQUFNLENBQUMsbUNBQW1DLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FDaEQsMkJBQTJCLENBQzVCLENBQUM7SUFDSixDQUFDLENBQUMsQ0FBQztJQUVILEVBQUUsQ0FBQyw4Q0FBOEMsRUFBRSxHQUFHLEVBQUU7UUFDdEQsTUFBTSxDQUNKLG1DQUFtQyxDQUFDO1lBQ2xDLFNBQVMsRUFBRSxRQUFRO1lBQ25CLFFBQVEsRUFBRSxLQUFLO1NBQ2hCLENBQUMsQ0FDSCxDQUFDLElBQUksQ0FBQyw0Q0FBNEMsQ0FBQyxDQUFDO0lBQ3ZELENBQUMsQ0FBQyxDQUFDO0FBQ0wsQ0FBQyxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBhZnRlckVhY2gsIGRlc2NyaWJlLCBleHBlY3QsIGl0IH0gZnJvbSAndml0ZXN0JztcbmltcG9ydCB7XG4gIGNyZWF0ZVdvcmtmbG93RW50cnlwb2ludE9wdGlvbnNDb2RlLFxuICBjcmVhdGVXb3JrZmxvd1F1ZXVlVHJpZ2dlcixcbn0gZnJvbSAnLi9jb25zdGFudHMuanMnO1xuXG5kZXNjcmliZSgnY3JlYXRlV29ya2Zsb3dRdWV1ZVRyaWdnZXInLCAoKSA9PiB7XG4gIGFmdGVyRWFjaCgoKSA9PiB7XG4gICAgZGVsZXRlIHByb2Nlc3MuZW52LldPUktGTE9XX1FVRVVFX05BTUVTUEFDRTtcbiAgfSk7XG5cbiAgaXQoJ3VzZXMgdGhlIGRlZmF1bHQgd29ya2Zsb3cgdG9waWMgd2l0aG91dCBhIG5hbWVzcGFjZScsICgpID0+IHtcbiAgICBleHBlY3QoY3JlYXRlV29ya2Zsb3dRdWV1ZVRyaWdnZXIoKS50b3BpYykudG9CZSgnX193a2Zfd29ya2Zsb3dfKicpO1xuICB9KTtcblxuICBpdCgndXNlcyBhbiBleHBsaWNpdCBuYW1lc3BhY2Ugd2hlbiBwcm92aWRlZCcsICgpID0+IHtcbiAgICBleHBlY3QoY3JlYXRlV29ya2Zsb3dRdWV1ZVRyaWdnZXIoeyBuYW1lc3BhY2U6ICdjdXN0b20nIH0pLnRvcGljKS50b0JlKFxuICAgICAgJ19fY3VzdG9tX3drZl93b3JrZmxvd18qJ1xuICAgICk7XG4gIH0pO1xuXG4gIGl0KCd1c2VzIFdPUktGTE9XX1FVRVVFX05BTUVTUEFDRSB3aGVuIG5vIGV4cGxpY2l0IG5hbWVzcGFjZSBpcyBwcm92aWRlZCcsICgpID0+IHtcbiAgICBwcm9jZXNzLmVudi5XT1JLRkxPV19RVUVVRV9OQU1FU1BBQ0UgPSAnY3VzdG9tJztcblxuICAgIGV4cGVjdChjcmVhdGVXb3JrZmxvd1F1ZXVlVHJpZ2dlcigpLnRvcGljKS50b0JlKCdfX2N1c3RvbV93a2Zfd29ya2Zsb3dfKicpO1xuICB9KTtcbn0pO1xuXG5kZXNjcmliZSgnY3JlYXRlV29ya2Zsb3dFbnRyeXBvaW50T3B0aW9uc0NvZGUnLCAoKSA9PiB7XG4gIGFmdGVyRWFjaCgoKSA9PiB7XG4gICAgZGVsZXRlIHByb2Nlc3MuZW52LldPUktGTE9XX1FVRVVFX05BTUVTUEFDRTtcbiAgfSk7XG5cbiAgaXQoJ29taXRzIHJ1bnRpbWUgb3B0aW9ucyB3aXRob3V0IGEgbmFtZXNwYWNlJywgKCkgPT4ge1xuICAgIGV4cGVjdChjcmVhdGVXb3JrZmxvd0VudHJ5cG9pbnRPcHRpb25zQ29kZSgpKS50b0JlKCcnKTtcbiAgfSk7XG5cbiAgaXQoJ2lubGluZXMgYW4gZXhwbGljaXQgbmFtZXNwYWNlJywgKCkgPT4ge1xuICAgIGV4cGVjdChjcmVhdGVXb3JrZmxvd0VudHJ5cG9pbnRPcHRpb25zQ29kZSh7IG5hbWVzcGFjZTogJ2N1c3RvbScgfSkpLnRvQmUoXG4gICAgICAnLCB7IG5hbWVzcGFjZTogXCJjdXN0b21cIiB9J1xuICAgICk7XG4gIH0pO1xuXG4gIGl0KCdpbmxpbmVzIFdPUktGTE9XX1FVRVVFX05BTUVTUEFDRSBhdCBidWlsZCB0aW1lJywgKCkgPT4ge1xuICAgIHByb2Nlc3MuZW52LldPUktGTE9XX1FVRVVFX05BTUVTUEFDRSA9ICdjdXN0b20nO1xuXG4gICAgZXhwZWN0KGNyZWF0ZVdvcmtmbG93RW50cnlwb2ludE9wdGlvbnNDb2RlKCkpLnRvQmUoXG4gICAgICAnLCB7IG5hbWVzcGFjZTogXCJjdXN0b21cIiB9J1xuICAgICk7XG4gIH0pO1xuXG4gIGl0KCdpbmxpbmVzIGJhc2VQYXRoIGFsb25nc2lkZSBuYW1lc3BhY2Ugb3B0aW9ucycsICgpID0+IHtcbiAgICBleHBlY3QoXG4gICAgICBjcmVhdGVXb3JrZmxvd0VudHJ5cG9pbnRPcHRpb25zQ29kZSh7XG4gICAgICAgIG5hbWVzcGFjZTogJ2N1c3RvbScsXG4gICAgICAgIGJhc2VQYXRoOiAnL3YyJyxcbiAgICAgIH0pXG4gICAgKS50b0JlKCcsIHsgbmFtZXNwYWNlOiBcImN1c3RvbVwiLCBiYXNlUGF0aDogXCIvdjJcIiB9Jyk7XG4gIH0pO1xufSk7XG4iXX0=
@@ -0,0 +1,14 @@
1
+ export interface DiscoveredEntries {
2
+ discoveredSteps: Set<string>;
3
+ discoveredWorkflows: Set<string>;
4
+ discoveredSerdeFiles: Set<string>;
5
+ }
6
+ interface FastDiscoverEntriesOptions {
7
+ entryPoints: string[];
8
+ state: DiscoveredEntries;
9
+ defaultTsconfigPath: string | undefined;
10
+ workingDir: string;
11
+ }
12
+ export declare function fastDiscoverEntries({ entryPoints, state, defaultTsconfigPath, workingDir, }: FastDiscoverEntriesOptions): Promise<void>;
13
+ export {};
14
+ //# sourceMappingURL=fast-discovery.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fast-discovery.d.ts","sourceRoot":"","sources":["../src/fast-discovery.ts"],"names":[],"mappings":"AA+CA,MAAM,WAAW,iBAAiB;IAChC,eAAe,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IAC7B,mBAAmB,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IACjC,oBAAoB,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;CACnC;AAED,UAAU,0BAA0B;IAClC,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,KAAK,EAAE,iBAAiB,CAAC;IACzB,mBAAmB,EAAE,MAAM,GAAG,SAAS,CAAC;IACxC,UAAU,EAAE,MAAM,CAAC;CACpB;AAicD,wBAAsB,mBAAmB,CAAC,EACxC,WAAW,EACX,KAAK,EACL,mBAAmB,EACnB,UAAU,GACX,EAAE,0BAA0B,GAAG,OAAO,CAAC,IAAI,CAAC,CA2X5C"}