@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
@@ -29,10 +29,15 @@ export declare function applySwcTransform(filename: string, source: string, mode
29
29
  */
30
30
  absolutePath?: string,
31
31
  /**
32
- * Optional project root used for module specifier resolution.
32
+ * Optional project root used for transform context such as tsconfig lookup.
33
33
  * Defaults to process.cwd() for backwards compatibility.
34
34
  */
35
- projectRoot?: string): Promise<{
35
+ projectRoot?: string,
36
+ /**
37
+ * Optional project root used for package/workspace module-specifier
38
+ * resolution. Defaults to projectRoot for backwards compatibility.
39
+ */
40
+ moduleSpecifierRoot?: string): Promise<{
36
41
  code: string;
37
42
  workflowManifest: WorkflowManifest;
38
43
  }>;
@@ -1 +1 @@
1
- {"version":3,"file":"apply-swc-transform.d.ts","sourceRoot":"","sources":["../src/apply-swc-transform.ts"],"names":[],"mappings":"AAyBA,MAAM,MAAM,gBAAgB,GAAG;IAC7B,KAAK,CAAC,EAAE;QACN,CAAC,gBAAgB,EAAE,MAAM,GAAG;YAC1B,CAAC,YAAY,EAAE,MAAM,GAAG;gBACtB,MAAM,EAAE,MAAM,CAAC;aAChB,CAAC;SACH,CAAC;KACH,CAAC;IACF,SAAS,CAAC,EAAE;QACV,CAAC,gBAAgB,EAAE,MAAM,GAAG;YAC1B,CAAC,YAAY,EAAE,MAAM,GAAG;gBACtB,UAAU,EAAE,MAAM,CAAC;aACpB,CAAC;SACH,CAAC;KACH,CAAC;IACF,OAAO,CAAC,EAAE;QACR,CAAC,gBAAgB,EAAE,MAAM,GAAG;YAC1B,CAAC,SAAS,EAAE,MAAM,GAAG;gBACnB,OAAO,EAAE,MAAM,CAAC;aACjB,CAAC;SACH,CAAC;KACH,CAAC;CACH,CAAC;AAEF,wBAAsB,iBAAiB,CACrC,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,UAAU,GAAG,MAAM,GAAG,QAAQ,GAAG,KAAK;AAC5C;;;;GAIG;AACH,YAAY,CAAC,EAAE,MAAM;AACrB;;;GAGG;AACH,WAAW,CAAC,EAAE,MAAM,GACnB,OAAO,CAAC;IACT,IAAI,EAAE,MAAM,CAAC;IACb,gBAAgB,EAAE,gBAAgB,CAAC;CACpC,CAAC,CA6ED"}
1
+ {"version":3,"file":"apply-swc-transform.d.ts","sourceRoot":"","sources":["../src/apply-swc-transform.ts"],"names":[],"mappings":"AAyBA,MAAM,MAAM,gBAAgB,GAAG;IAC7B,KAAK,CAAC,EAAE;QACN,CAAC,gBAAgB,EAAE,MAAM,GAAG;YAC1B,CAAC,YAAY,EAAE,MAAM,GAAG;gBACtB,MAAM,EAAE,MAAM,CAAC;aAChB,CAAC;SACH,CAAC;KACH,CAAC;IACF,SAAS,CAAC,EAAE;QACV,CAAC,gBAAgB,EAAE,MAAM,GAAG;YAC1B,CAAC,YAAY,EAAE,MAAM,GAAG;gBACtB,UAAU,EAAE,MAAM,CAAC;aACpB,CAAC;SACH,CAAC;KACH,CAAC;IACF,OAAO,CAAC,EAAE;QACR,CAAC,gBAAgB,EAAE,MAAM,GAAG;YAC1B,CAAC,SAAS,EAAE,MAAM,GAAG;gBACnB,OAAO,EAAE,MAAM,CAAC;aACjB,CAAC;SACH,CAAC;KACH,CAAC;CACH,CAAC;AAEF,wBAAsB,iBAAiB,CACrC,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,UAAU,GAAG,MAAM,GAAG,QAAQ,GAAG,KAAK;AAC5C;;;;GAIG;AACH,YAAY,CAAC,EAAE,MAAM;AACrB;;;GAGG;AACH,WAAW,CAAC,EAAE,MAAM;AACpB;;;GAGG;AACH,mBAAmB,CAAC,EAAE,MAAM,GAC3B,OAAO,CAAC;IACT,IAAI,EAAE,MAAM,CAAC;IACb,gBAAgB,EAAE,gBAAgB,CAAC;CACpC,CAAC,CA+ED"}
@@ -24,11 +24,17 @@ export async function applySwcTransform(filename, source, mode,
24
24
  */
25
25
  absolutePath,
26
26
  /**
27
- * Optional project root used for module specifier resolution.
27
+ * Optional project root used for transform context such as tsconfig lookup.
28
28
  * Defaults to process.cwd() for backwards compatibility.
29
29
  */
30
- projectRoot) {
30
+ projectRoot,
31
+ /**
32
+ * Optional project root used for package/workspace module-specifier
33
+ * resolution. Defaults to projectRoot for backwards compatibility.
34
+ */
35
+ moduleSpecifierRoot) {
31
36
  const resolvedProjectRoot = projectRoot ?? process.cwd();
37
+ const resolvedModuleSpecifierRoot = moduleSpecifierRoot ?? resolvedProjectRoot;
32
38
  const decoratorOptions = await getDecoratorOptions(resolvedProjectRoot);
33
39
  const swcPluginPath = require.resolve('@workflow/swc-plugin', {
34
40
  paths: [dirname(fileURLToPath(import.meta.url))],
@@ -44,7 +50,7 @@ projectRoot) {
44
50
  : isAbsolute(filename)
45
51
  ? filename
46
52
  : join(resolvedProjectRoot, filename);
47
- const { moduleSpecifier } = resolveModuleSpecifier(absoluteFilename, resolvedProjectRoot);
53
+ const { moduleSpecifier } = resolveModuleSpecifier(absoluteFilename, resolvedModuleSpecifierRoot);
48
54
  // Transform with SWC to support syntax esbuild doesn't
49
55
  const result = await transform(source, {
50
56
  filename,
@@ -90,4 +96,4 @@ projectRoot) {
90
96
  workflowManifest: parsedWorkflows || {},
91
97
  };
92
98
  }
93
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwbHktc3djLXRyYW5zZm9ybS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9hcHBseS1zd2MtdHJhbnNmb3JtLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDNUMsT0FBTyxFQUFFLE9BQU8sRUFBRSxVQUFVLEVBQUUsSUFBSSxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBQ3RELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFDekMsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUN0QyxPQUFPLEVBQUUsK0JBQStCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN0RSxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUUvRCxNQUFNLE9BQU8sR0FBRyxhQUFhLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztBQUUvQyxpRkFBaUY7QUFDakYsTUFBTSxxQkFBcUIsR0FBRyxJQUFJLEdBQUcsRUFHbEMsQ0FBQztBQUVKLFNBQVMsbUJBQW1CLENBQUMsV0FBb0I7SUFDL0MsTUFBTSxHQUFHLEdBQUcsV0FBVyxJQUFJLE9BQU8sQ0FBQyxHQUFHLEVBQUUsQ0FBQztJQUN6QyxJQUFJLE1BQU0sR0FBRyxxQkFBcUIsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDNUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDO1FBQ1osTUFBTSxHQUFHLCtCQUErQixDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQzlDLHFCQUFxQixDQUFDLEdBQUcsQ0FBQyxHQUFHLEVBQUUsTUFBTSxDQUFDLENBQUM7SUFDekMsQ0FBQztJQUNELE9BQU8sTUFBTSxDQUFDO0FBQ2hCLENBQUM7QUEwQkQsTUFBTSxDQUFDLEtBQUssVUFBVSxpQkFBaUIsQ0FDckMsUUFBZ0IsRUFDaEIsTUFBYyxFQUNkLElBQTRD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IjpbImltcG9ydCB7IGNyZWF0ZVJlcXVpcmUgfSBmcm9tICdub2RlOm1vZHVsZSc7XG5pbXBvcnQgeyBkaXJuYW1lLCBpc0Fic29sdXRlLCBqb2luIH0gZnJvbSAnbm9kZTpwYXRoJztcbmltcG9ydCB7IGZpbGVVUkxUb1BhdGggfSBmcm9tICdub2RlOnVybCc7XG5pbXBvcnQgeyB0cmFuc2Zvcm0gfSBmcm9tICdAc3djL2NvcmUnO1xuaW1wb3J0IHsgZ2V0RGVjb3JhdG9yT3B0aW9uc0ZvckRpcmVjdG9yeSB9IGZyb20gJy4vY29uZmlnLWhlbHBlcnMuanMnO1xuaW1wb3J0IHsgcmVzb2x2ZU1vZHVsZVNwZWNpZmllciB9IGZyb20gJy4vbW9kdWxlLXNwZWNpZmllci5qcyc7XG5cbmNvbnN0IHJlcXVpcmUgPSBjcmVhdGVSZXF1aXJlKGltcG9ydC5tZXRhLnVybCk7XG5cbi8vIENhY2hlIGRlY29yYXRvciBvcHRpb25zIHBlciBkaXJlY3RvcnkgLSB0c2NvbmZpZyBkb2Vzbid0IGNoYW5nZSBkdXJpbmcgYSBidWlsZFxuY29uc3QgZGVjb3JhdG9yT3B0aW9uc0NhY2hlID0gbmV3IE1hcDxcbiAgc3RyaW5nLFxuICBSZXR1cm5UeXBlPHR5cGVvZiBnZXREZWNvcmF0b3JPcHRpb25zRm9yRGlyZWN0b3J5PlxuPigpO1xuXG5mdW5jdGlvbiBnZXREZWNvcmF0b3JPcHRpb25zKHByb2plY3RSb290Pzogc3RyaW5nKSB7XG4gIGNvbnN0IGN3ZCA9IHByb2plY3RSb290ID8/IHByb2Nlc3MuY3dkKCk7XG4gIGxldCBjYWNoZWQgPSBkZWNvcmF0b3JPcHRpb25zQ2FjaGUuZ2V0KGN3ZCk7XG4gIGlmICghY2FjaGVkKSB7XG4gICAgY2FjaGVkID0gZ2V0RGVjb3JhdG9yT3B0aW9uc0ZvckRpcmVjdG9yeShjd2QpO1xuICAgIGRlY29yYXRvck9wdGlvbnNDYWNoZS5zZXQoY3dkLCBjYWNoZWQpO1xuICB9XG4gIHJldHVybiBjYWNoZWQ7XG59XG5cbmV4cG9ydCB0eXBlIFdvcmtmbG93TWFuaWZlc3QgPSB7XG4gIHN0ZXBzPzoge1xuICAgIFtyZWxhdGl2ZUZpbGVOYW1lOiBzdHJpbmddOiB7XG4gICAgICBbZnVuY3Rpb25OYW1lOiBzdHJpbmddOiB7XG4gICAgICAgIHN0ZXBJZDogc3RyaW5nO1xuICAgICAgfTtcbiAgICB9O1xuICB9O1xuICB3b3JrZmxvd3M/OiB7XG4gICAgW3JlbGF0aXZlRmlsZU5hbWU6IHN0cmluZ106IHtcbiAgICAgIFtmdW5jdGlvbk5hbWU6IHN0cmluZ106IHtcbiAgICAgICAgd29ya2Zsb3dJZDogc3RyaW5nO1xuICAgICAgfTtcbiAgICB9O1xuICB9O1xuICBjbGFzc2VzPzoge1xuICAgIFtyZWxhdGl2ZUZpbGVOYW1lOiBzdHJpbmddOiB7XG4gICAgICBbY2xhc3NOYW1lOiBzdHJpbmddOiB7XG4gICAgICAgIGNsYXNzSWQ6IHN0cmluZztcbiAgICAgIH07XG4gICAgfTtcbiAgfTtcbn07XG5cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBhcHBseVN3Y1RyYW5zZm9ybShcbiAgZmlsZW5hbWU6IHN0cmluZyxcbiAgc291cmNlOiBzdHJpbmcsXG4gIG1vZGU6ICd3b3JrZmxvdycgfCAnc3RlcCcgfCAnY2xpZW50JyB8IGZhbHNlLFxuICAvKipcbiAgICogT3B0aW9uYWwgYWJzb2x1dGUgcGF0aCB0byB0aGUgZmlsZSBiZWluZyB0cmFuc2Zvcm1lZC5cbiAgICogVXNlZCBmb3IgbW9kdWxlIHNwZWNpZmllciByZXNvbHV0aW9uIHdoZW4gZmlsZW5hbWUgaXMgcmVsYXRpdmUuXG4gICAqIElmIG5vdCBwcm92aWRlZCwgZmlsZW5hbWUgaXMgam9pbmVkIHdpdGggcHJvY2Vzcy5jd2QoKS5cbiAgICovXG4gIGFic29sdXRlUGF0aD86IHN0cmluZyxcbiAgLyoqXG4gICAqIE9wdGlvbmFsIHByb2plY3Qgcm9vdCB1c2VkIGZvciBtb2R1bGUgc3BlY2lmaWVyIHJlc29sdXRpb24uXG4gICAqIERlZmF1bHRzIHRvIHByb2Nlc3MuY3dkKCkgZm9yIGJhY2t3YXJkcyBjb21wYXRpYmlsaXR5LlxuICAgKi9cbiAgcHJvamVjdFJvb3Q/OiBzdHJpbmdcbik6IFByb21pc2U8e1xuICBjb2RlOiBzdHJpbmc7XG4gIHdvcmtmbG93TWFuaWZlc3Q6IFdvcmtmbG93TWFuaWZlc3Q7XG59PiB7XG4gIGNvbnN0IHJlc29sdmVkUHJvamVjdFJvb3QgPSBwcm9qZWN0Um9vdCA/PyBwcm9jZXNzLmN3ZCgpO1xuICBjb25zdCBkZWNvcmF0b3JPcHRpb25zID0gYXdhaXQgZ2V0RGVjb3JhdG9yT3B0aW9ucyhyZXNvbHZlZFByb2plY3RSb290KTtcblxuICBjb25zdCBzd2NQbHVnaW5QYXRoID0gcmVxdWlyZS5yZXNvbHZlKCdAd29ya2Zsb3cvc3djLXBsdWdpbicsIHtcbiAgICBwYXRoczogW2Rpcm5hbWUoZmlsZVVSTFRvUGF0aChpbXBvcnQubWV0YS51cmwpKV0sXG4gIH0pO1xuXG4gIC8vIERldGVybWluZSBpZiB0aGlzIGlzIGEgVHlwZVNjcmlwdCBmaWxlXG4gIGNvbnN0IGlzVHlwZVNjcmlwdCA9XG4gICAgZmlsZW5hbWUuZW5kc1dpdGgoJy50cycpIHx8XG4gICAgZmlsZW5hbWUuZW5kc1dpdGgoJy50c3gnKSB8fFxuICAgIGZpbGVuYW1lLmVuZHNXaXRoKCcubXRzJykgfHxcbiAgICBmaWxlbmFtZS5lbmRzV2l0aCgnLmN0cycpO1xuXG4gIC8vIFJlc29sdmUgbW9kdWxlIHNwZWNpZmllciBmb3IgcGFja2FnZXMgKG5vZGVfbW9kdWxlcyBvciB3b3Jrc3BhY2UgcGFja2FnZXMpXG4gIGNvbnN0IGFic29sdXRlRmlsZW5hbWUgPSBhYnNvbHV0ZVBhdGhcbiAgICA/IGFic29sdXRlUGF0aFxuICAgIDogaXNBYnNvbHV0ZShmaWxlbmFtZSlcbiAgICAgID8gZmlsZW5hbWVcbiAgICAgIDogam9pbihyZXNvbHZlZFByb2plY3RSb290LCBmaWxlbmFtZSk7XG4gIGNvbnN0IHsgbW9kdWxlU3BlY2lmaWVyIH0gPSByZXNvbHZlTW9kdWxlU3BlY2lmaWVyKFxuICAgIGFic29sdXRlRmlsZW5hbWUsXG4gICAgcmVzb2x2ZWRQcm9qZWN0Um9vdFxuICApO1xuXG4gIC8vIFRyYW5zZm9ybSB3aXRoIFNXQyB0byBzdXBwb3J0IHN5bnRheCBlc2J1aWxkIGRvZXNuJ3RcbiAgY29uc3QgcmVzdWx0ID0gYXdhaXQgdHJhbnNmb3JtKHNvdXJjZSwge1xuICAgIGZpbGVuYW1lLFxuICAgIHN3Y3JjOiBmYWxzZSxcbiAgICBqc2M6IHtcbiAgICAgIHBhcnNlcjoge1xuICAgICAgICAuLi4oaXNUeXBlU2NyaXB0XG4gICAgICAgICAgPyB7XG4gICAgICAgICAgICAgIHN5bnRheDogJ3R5cGVzY3JpcHQnLFxuICAgICAgICAgICAgICB0c3g6IGZpbGVuYW1lLmVuZHNXaXRoKCcudHN4JyksXG4gICAgICAgICAgICAgIGRlY29yYXRvcnM6IGRlY29yYXRvck9wdGlvbnMuZGVjb3JhdG9ycyxcbiAgICAgICAgICAgIH1cbiAgICAgICAgICA6IHtcbiAgICAgICAgICAgICAgc3ludGF4OiAnZWNtYXNjcmlwdCcsXG4gICAgICAgICAgICAgIGpzeDogZmlsZW5hbWUuZW5kc1dpdGgoJy5qc3gnKSxcbiAgICAgICAgICAgICAgZGVjb3JhdG9yczogZGVjb3JhdG9yT3B0aW9ucy5kZWNvcmF0b3JzLFxuICAgICAgICAgICAgfSksXG4gICAgICB9LFxuICAgICAgdGFyZ2V0OiAnZXMyMDIyJyxcbiAgICAgIGV4cGVyaW1lbnRhbDogbW9kZVxuICAgICAgICA/IHtcbiAgICAgICAgICAgIHBsdWdpbnM6IFtbc3djUGx1Z2luUGF0aCwgeyBtb2RlLCBtb2R1bGVTcGVjaWZpZXIgfV1dLFxuICAgICAgICAgIH1cbiAgICAgICAgOiB1bmRlZmluZWQsXG4gICAgICB0cmFuc2Zvcm06IHtcbiAgICAgICAgcmVhY3Q6IHtcbiAgICAgICAgICBydW50aW1lOiAncHJlc2VydmUnLFxuICAgICAgICB9LFxuICAgICAgICBsZWdhY3lEZWNvcmF0b3I6IGRlY29yYXRvck9wdGlvbnMubGVnYWN5RGVjb3JhdG9yLFxuICAgICAgICBkZWNvcmF0b3JNZXRhZGF0YTogZGVjb3JhdG9yT3B0aW9ucy5kZWNvcmF0b3JNZXRhZGF0YSxcbiAgICAgIH0sXG4gICAgfSxcbiAgICAvLyBUT0RPOiBpbnZlc3RpZ2F0ZSBwcm9wZXIgc291cmNlIG1hcCBzdXBwb3J0IGFzIHRoZXlcbiAgICAvLyB3b24ndCBldmVuIGJlIHVzZWQgaW4gTm9kZS5qcyBieSBkZWZhdWx0IHVubGVzcyB3ZVxuICAgIC8vIGludGVyY2VwdCBlcnJvcnMgYW5kIGFwcGx5IHRoZW0gb3Vyc2VsdmVzXG4gICAgc291cmNlTWFwczogZmFsc2UsXG4gICAgbWluaWZ5OiBmYWxzZSxcbiAgfSk7XG5cbiAgY29uc3Qgd29ya2Zsb3dDb21tZW50TWF0Y2ggPSByZXN1bHQuY29kZS5tYXRjaChcbiAgICAvXFwvXFwqXFwqX19pbnRlcm5hbF93b3JrZmxvd3Moey4qP30pXFwqXFwvL3NcbiAgKTtcblxuICBjb25zdCBwYXJzZWRXb3JrZmxvd3MgPSBKU09OLnBhcnNlKFxuICAgIHdvcmtmbG93Q29tbWVudE1hdGNoPy5bMV0gfHwgJ3t9J1xuICApIGFzIFdvcmtmbG93TWFuaWZlc3Q7XG5cbiAgcmV0dXJuIHtcbiAgICBjb2RlOiByZXN1bHQuY29kZSxcbiAgICB3b3JrZmxvd01hbmlmZXN0OiBwYXJzZWRXb3JrZmxvd3MgfHwge30sXG4gIH07XG59XG4iXX0=
99
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwbHktc3djLXRyYW5zZm9ybS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9hcHBseS1zd2MtdHJhbnNmb3JtLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDNUMsT0FBTyxFQUFFLE9BQU8sRUFBRSxVQUFVLEVBQUUsSUFBSSxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBQ3RELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFDekMsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUN0QyxPQUFPLEVBQUUsK0JBQStCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN0RSxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUUvRCxNQUFNLE9BQU8sR0FBRyxhQUFhLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztBQUUvQyxpRkFBaUY7QUFDakYsTUFBTSxxQkFBcUIsR0FBRyxJQUFJLEdBQUcsRUFHbEMsQ0FBQztBQUVKLFNBQVMsbUJBQW1CLENBQUMsV0FBb0I7SUFDL0MsTUFBTSxHQUFHLEdBQUcsV0FBVyxJQUFJLE9BQU8sQ0FBQyxHQUFHLEVBQUUsQ0FBQztJQUN6QyxJQUFJLE1BQU0sR0FBRyxxQkFBcUIsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDNUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDO1FBQ1osTUFBTSxHQUFHLCtCQUErQixDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQzlDLHFCQUFxQixDQUFDLEdBQUcsQ0FBQyxHQUFHLEVBQUUsTUFBTSxDQUFDLENBQUM7SUFDekMsQ0FBQztJQUNELE9BQU8sTUFBTSxDQUFDO0FBQ2hCLENBQUM7QUEwQkQsTUFBTSxDQUFDLEtBQUssVUFBVSxpQkFBaUIsQ0FDckMsUUFBZ0IsRUFDaEIsTUFBYyxFQUNkLElBQTRD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QUk7UUFDakIsZ0JBQWdCLEVBQUUsZUFBZSxJQUFJLEVBQUU7S0FDeEMsQ0FBQztBQUNKLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBjcmVhdGVSZXF1aXJlIH0gZnJvbSAnbm9kZTptb2R1bGUnO1xuaW1wb3J0IHsgZGlybmFtZSwgaXNBYnNvbHV0ZSwgam9pbiB9IGZyb20gJ25vZGU6cGF0aCc7XG5pbXBvcnQgeyBmaWxlVVJMVG9QYXRoIH0gZnJvbSAnbm9kZTp1cmwnO1xuaW1wb3J0IHsgdHJhbnNmb3JtIH0gZnJvbSAnQHN3Yy9jb3JlJztcbmltcG9ydCB7IGdldERlY29yYXRvck9wdGlvbnNGb3JEaXJlY3RvcnkgfSBmcm9tICcuL2NvbmZpZy1oZWxwZXJzLmpzJztcbmltcG9ydCB7IHJlc29sdmVNb2R1bGVTcGVjaWZpZXIgfSBmcm9tICcuL21vZHVsZS1zcGVjaWZpZXIuanMnO1xuXG5jb25zdCByZXF1aXJlID0gY3JlYXRlUmVxdWlyZShpbXBvcnQubWV0YS51cmwpO1xuXG4vLyBDYWNoZSBkZWNvcmF0b3Igb3B0aW9ucyBwZXIgZGlyZWN0b3J5IC0gdHNjb25maWcgZG9lc24ndCBjaGFuZ2UgZHVyaW5nIGEgYnVpbGRcbmNvbnN0IGRlY29yYXRvck9wdGlvbnNDYWNoZSA9IG5ldyBNYXA8XG4gIHN0cmluZyxcbiAgUmV0dXJuVHlwZTx0eXBlb2YgZ2V0RGVjb3JhdG9yT3B0aW9uc0ZvckRpcmVjdG9yeT5cbj4oKTtcblxuZnVuY3Rpb24gZ2V0RGVjb3JhdG9yT3B0aW9ucyhwcm9qZWN0Um9vdD86IHN0cmluZykge1xuICBjb25zdCBjd2QgPSBwcm9qZWN0Um9vdCA/PyBwcm9jZXNzLmN3ZCgpO1xuICBsZXQgY2FjaGVkID0gZGVjb3JhdG9yT3B0aW9uc0NhY2hlLmdldChjd2QpO1xuICBpZiAoIWNhY2hlZCkge1xuICAgIGNhY2hlZCA9IGdldERlY29yYXRvck9wdGlvbnNGb3JEaXJlY3RvcnkoY3dkKTtcbiAgICBkZWNvcmF0b3JPcHRpb25zQ2FjaGUuc2V0KGN3ZCwgY2FjaGVkKTtcbiAgfVxuICByZXR1cm4gY2FjaGVkO1xufVxuXG5leHBvcnQgdHlwZSBXb3JrZmxvd01hbmlmZXN0ID0ge1xuICBzdGVwcz86IHtcbiAgICBbcmVsYXRpdmVGaWxlTmFtZTogc3RyaW5nXToge1xuICAgICAgW2Z1bmN0aW9uTmFtZTogc3RyaW5nXToge1xuICAgICAgICBzdGVwSWQ6IHN0cmluZztcbiAgICAgIH07XG4gICAgfTtcbiAgfTtcbiAgd29ya2Zsb3dzPzoge1xuICAgIFtyZWxhdGl2ZUZpbGVOYW1lOiBzdHJpbmddOiB7XG4gICAgICBbZnVuY3Rpb25OYW1lOiBzdHJpbmddOiB7XG4gICAgICAgIHdvcmtmbG93SWQ6IHN0cmluZztcbiAgICAgIH07XG4gICAgfTtcbiAgfTtcbiAgY2xhc3Nlcz86IHtcbiAgICBbcmVsYXRpdmVGaWxlTmFtZTogc3RyaW5nXToge1xuICAgICAgW2NsYXNzTmFtZTogc3RyaW5nXToge1xuICAgICAgICBjbGFzc0lkOiBzdHJpbmc7XG4gICAgICB9O1xuICAgIH07XG4gIH07XG59O1xuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gYXBwbHlTd2NUcmFuc2Zvcm0oXG4gIGZpbGVuYW1lOiBzdHJpbmcsXG4gIHNvdXJjZTogc3RyaW5nLFxuICBtb2RlOiAnd29ya2Zsb3cnIHwgJ3N0ZXAnIHwgJ2NsaWVudCcgfCBmYWxzZSxcbiAgLyoqXG4gICAqIE9wdGlvbmFsIGFic29sdXRlIHBhdGggdG8gdGhlIGZpbGUgYmVpbmcgdHJhbnNmb3JtZWQuXG4gICAqIFVzZWQgZm9yIG1vZHVsZSBzcGVjaWZpZXIgcmVzb2x1dGlvbiB3aGVuIGZpbGVuYW1lIGlzIHJlbGF0aXZlLlxuICAgKiBJZiBub3QgcHJvdmlkZWQsIGZpbGVuYW1lIGlzIGpvaW5lZCB3aXRoIHByb2Nlc3MuY3dkKCkuXG4gICAqL1xuICBhYnNvbHV0ZVBhdGg/OiBzdHJpbmcsXG4gIC8qKlxuICAgKiBPcHRpb25hbCBwcm9qZWN0IHJvb3QgdXNlZCBmb3IgdHJhbnNmb3JtIGNvbnRleHQgc3VjaCBhcyB0c2NvbmZpZyBsb29rdXAuXG4gICAqIERlZmF1bHRzIHRvIHByb2Nlc3MuY3dkKCkgZm9yIGJhY2t3YXJkcyBjb21wYXRpYmlsaXR5LlxuICAgKi9cbiAgcHJvamVjdFJvb3Q/OiBzdHJpbmcsXG4gIC8qKlxuICAgKiBPcHRpb25hbCBwcm9qZWN0IHJvb3QgdXNlZCBmb3IgcGFja2FnZS93b3Jrc3BhY2UgbW9kdWxlLXNwZWNpZmllclxuICAgKiByZXNvbHV0aW9uLiBEZWZhdWx0cyB0byBwcm9qZWN0Um9vdCBmb3IgYmFja3dhcmRzIGNvbXBhdGliaWxpdHkuXG4gICAqL1xuICBtb2R1bGVTcGVjaWZpZXJSb290Pzogc3RyaW5nXG4pOiBQcm9taXNlPHtcbiAgY29kZTogc3RyaW5nO1xuICB3b3JrZmxvd01hbmlmZXN0OiBXb3JrZmxvd01hbmlmZXN0O1xufT4ge1xuICBjb25zdCByZXNvbHZlZFByb2plY3RSb290ID0gcHJvamVjdFJvb3QgPz8gcHJvY2Vzcy5jd2QoKTtcbiAgY29uc3QgcmVzb2x2ZWRNb2R1bGVTcGVjaWZpZXJSb290ID1cbiAgICBtb2R1bGVTcGVjaWZpZXJSb290ID8/IHJlc29sdmVkUHJvamVjdFJvb3Q7XG4gIGNvbnN0IGRlY29yYXRvck9wdGlvbnMgPSBhd2FpdCBnZXREZWNvcmF0b3JPcHRpb25zKHJlc29sdmVkUHJvamVjdFJvb3QpO1xuXG4gIGNvbnN0IHN3Y1BsdWdpblBhdGggPSByZXF1aXJlLnJlc29sdmUoJ0B3b3JrZmxvdy9zd2MtcGx1Z2luJywge1xuICAgIHBhdGhzOiBbZGlybmFtZShmaWxlVVJMVG9QYXRoKGltcG9ydC5tZXRhLnVybCkpXSxcbiAgfSk7XG5cbiAgLy8gRGV0ZXJtaW5lIGlmIHRoaXMgaXMgYSBUeXBlU2NyaXB0IGZpbGVcbiAgY29uc3QgaXNUeXBlU2NyaXB0ID1cbiAgICBmaWxlbmFtZS5lbmRzV2l0aCgnLnRzJykgfHxcbiAgICBmaWxlbmFtZS5lbmRzV2l0aCgnLnRzeCcpIHx8XG4gICAgZmlsZW5hbWUuZW5kc1dpdGgoJy5tdHMnKSB8fFxuICAgIGZpbGVuYW1lLmVuZHNXaXRoKCcuY3RzJyk7XG5cbiAgLy8gUmVzb2x2ZSBtb2R1bGUgc3BlY2lmaWVyIGZvciBwYWNrYWdlcyAobm9kZV9tb2R1bGVzIG9yIHdvcmtzcGFjZSBwYWNrYWdlcylcbiAgY29uc3QgYWJzb2x1dGVGaWxlbmFtZSA9IGFic29sdXRlUGF0aFxuICAgID8gYWJzb2x1dGVQYXRoXG4gICAgOiBpc0Fic29sdXRlKGZpbGVuYW1lKVxuICAgICAgPyBmaWxlbmFtZVxuICAgICAgOiBqb2luKHJlc29sdmVkUHJvamVjdFJvb3QsIGZpbGVuYW1lKTtcbiAgY29uc3QgeyBtb2R1bGVTcGVjaWZpZXIgfSA9IHJlc29sdmVNb2R1bGVTcGVjaWZpZXIoXG4gICAgYWJzb2x1dGVGaWxlbmFtZSxcbiAgICByZXNvbHZlZE1vZHVsZVNwZWNpZmllclJvb3RcbiAgKTtcblxuICAvLyBUcmFuc2Zvcm0gd2l0aCBTV0MgdG8gc3VwcG9ydCBzeW50YXggZXNidWlsZCBkb2Vzbid0XG4gIGNvbnN0IHJlc3VsdCA9IGF3YWl0IHRyYW5zZm9ybShzb3VyY2UsIHtcbiAgICBmaWxlbmFtZSxcbiAgICBzd2NyYzogZmFsc2UsXG4gICAganNjOiB7XG4gICAgICBwYXJzZXI6IHtcbiAgICAgICAgLi4uKGlzVHlwZVNjcmlwdFxuICAgICAgICAgID8ge1xuICAgICAgICAgICAgICBzeW50YXg6ICd0eXBlc2NyaXB0JyxcbiAgICAgICAgICAgICAgdHN4OiBmaWxlbmFtZS5lbmRzV2l0aCgnLnRzeCcpLFxuICAgICAgICAgICAgICBkZWNvcmF0b3JzOiBkZWNvcmF0b3JPcHRpb25zLmRlY29yYXRvcnMsXG4gICAgICAgICAgICB9XG4gICAgICAgICAgOiB7XG4gICAgICAgICAgICAgIHN5bnRheDogJ2VjbWFzY3JpcHQnLFxuICAgICAgICAgICAgICBqc3g6IGZpbGVuYW1lLmVuZHNXaXRoKCcuanN4JyksXG4gICAgICAgICAgICAgIGRlY29yYXRvcnM6IGRlY29yYXRvck9wdGlvbnMuZGVjb3JhdG9ycyxcbiAgICAgICAgICAgIH0pLFxuICAgICAgfSxcbiAgICAgIHRhcmdldDogJ2VzMjAyMicsXG4gICAgICBleHBlcmltZW50YWw6IG1vZGVcbiAgICAgICAgPyB7XG4gICAgICAgICAgICBwbHVnaW5zOiBbW3N3Y1BsdWdpblBhdGgsIHsgbW9kZSwgbW9kdWxlU3BlY2lmaWVyIH1dXSxcbiAgICAgICAgICB9XG4gICAgICAgIDogdW5kZWZpbmVkLFxuICAgICAgdHJhbnNmb3JtOiB7XG4gICAgICAgIHJlYWN0OiB7XG4gICAgICAgICAgcnVudGltZTogJ3ByZXNlcnZlJyxcbiAgICAgICAgfSxcbiAgICAgICAgbGVnYWN5RGVjb3JhdG9yOiBkZWNvcmF0b3JPcHRpb25zLmxlZ2FjeURlY29yYXRvcixcbiAgICAgICAgZGVjb3JhdG9yTWV0YWRhdGE6IGRlY29yYXRvck9wdGlvbnMuZGVjb3JhdG9yTWV0YWRhdGEsXG4gICAgICB9LFxuICAgIH0sXG4gICAgLy8gVE9ETzogaW52ZXN0aWdhdGUgcHJvcGVyIHNvdXJjZSBtYXAgc3VwcG9ydCBhcyB0aGV5XG4gICAgLy8gd29uJ3QgZXZlbiBiZSB1c2VkIGluIE5vZGUuanMgYnkgZGVmYXVsdCB1bmxlc3Mgd2VcbiAgICAvLyBpbnRlcmNlcHQgZXJyb3JzIGFuZCBhcHBseSB0aGVtIG91cnNlbHZlc1xuICAgIHNvdXJjZU1hcHM6IGZhbHNlLFxuICAgIG1pbmlmeTogZmFsc2UsXG4gIH0pO1xuXG4gIGNvbnN0IHdvcmtmbG93Q29tbWVudE1hdGNoID0gcmVzdWx0LmNvZGUubWF0Y2goXG4gICAgL1xcL1xcKlxcKl9faW50ZXJuYWxfd29ya2Zsb3dzKHsuKj99KVxcKlxcLy9zXG4gICk7XG5cbiAgY29uc3QgcGFyc2VkV29ya2Zsb3dzID0gSlNPTi5wYXJzZShcbiAgICB3b3JrZmxvd0NvbW1lbnRNYXRjaD8uWzFdIHx8ICd7fSdcbiAgKSBhcyBXb3JrZmxvd01hbmlmZXN0O1xuXG4gIHJldHVybiB7XG4gICAgY29kZTogcmVzdWx0LmNvZGUsXG4gICAgd29ya2Zsb3dNYW5pZmVzdDogcGFyc2VkV29ya2Zsb3dzIHx8IHt9LFxuICB9O1xufVxuIl19
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=base-builder-logging.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"base-builder-logging.test.d.ts","sourceRoot":"","sources":["../src/base-builder-logging.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,99 @@
1
+ import { mkdirSync, mkdtempSync, rmSync, writeFileSync } from 'node:fs';
2
+ import { tmpdir } from 'node:os';
3
+ import { join } from 'node:path';
4
+ import { afterEach, beforeEach, describe, expect, it, vi } from 'vitest';
5
+ import { BaseBuilder } from './base-builder.js';
6
+ class TestBuilder extends BaseBuilder {
7
+ async build() {
8
+ // no-op
9
+ }
10
+ logProgress(...args) {
11
+ this.logBaseBuilderInfo(...args);
12
+ }
13
+ createTestManifest(args) {
14
+ return this.createManifest(args);
15
+ }
16
+ }
17
+ function createBuilder(workingDir) {
18
+ const config = {
19
+ buildTarget: 'standalone',
20
+ workingDir,
21
+ dirs: ['.'],
22
+ stepsBundlePath: join(workingDir, '.workflow', 'steps.js'),
23
+ workflowsBundlePath: join(workingDir, '.workflow', 'workflows.js'),
24
+ webhookBundlePath: join(workingDir, '.workflow', 'webhook.js'),
25
+ };
26
+ return new TestBuilder(config);
27
+ }
28
+ describe('base builder logging', () => {
29
+ let testRoot;
30
+ let debugSpy;
31
+ let logSpy;
32
+ beforeEach(() => {
33
+ testRoot = mkdtempSync(join(tmpdir(), 'workflow-builder-logging-'));
34
+ debugSpy = vi.spyOn(console, 'debug').mockImplementation(() => { });
35
+ logSpy = vi.spyOn(console, 'log').mockImplementation(() => { });
36
+ });
37
+ afterEach(() => {
38
+ vi.unstubAllEnvs();
39
+ debugSpy.mockRestore();
40
+ logSpy.mockRestore();
41
+ rmSync(testRoot, { recursive: true, force: true });
42
+ });
43
+ it('hides progress logs by default', () => {
44
+ createBuilder(testRoot).logProgress('Created step registrations', '10ms');
45
+ expect(debugSpy).not.toHaveBeenCalled();
46
+ });
47
+ it('shows progress logs when DEBUG matches workflow:build', () => {
48
+ vi.stubEnv('DEBUG', 'workflow:build');
49
+ createBuilder(testRoot).logProgress('Created step registrations', '10ms');
50
+ expect(debugSpy).toHaveBeenCalledWith('[workflow:build] Created step registrations 10ms', '');
51
+ });
52
+ it.each([
53
+ 'workflow:*',
54
+ '*',
55
+ ])('shows progress logs when DEBUG wildcard %s matches workflow:build', (debugPattern) => {
56
+ vi.stubEnv('DEBUG', debugPattern);
57
+ createBuilder(testRoot).logProgress('Created step registrations', '10ms');
58
+ expect(debugSpy).toHaveBeenCalledWith('[workflow:build] Created step registrations 10ms', '');
59
+ });
60
+ it('hides progress logs when DEBUG negates workflow:build', () => {
61
+ vi.stubEnv('DEBUG', 'workflow:*,-workflow:build');
62
+ createBuilder(testRoot).logProgress('Created step registrations', '10ms');
63
+ expect(debugSpy).not.toHaveBeenCalled();
64
+ });
65
+ it('emits compact build and rebuild summaries when manifests are created', async () => {
66
+ const workflowBundlePath = join(testRoot, 'workflow.js');
67
+ const manifestDir = join(testRoot, '.well-known/workflow/v1');
68
+ mkdirSync(manifestDir, { recursive: true });
69
+ writeFileSync(workflowBundlePath, '', 'utf-8');
70
+ const builder = createBuilder(testRoot);
71
+ const manifest = {
72
+ steps: {
73
+ 'src/workflow.ts': {
74
+ stepOne: { stepId: 'step//src/workflow.ts//stepOne' },
75
+ stepTwo: { stepId: 'step//src/workflow.ts//stepTwo' },
76
+ },
77
+ },
78
+ workflows: {
79
+ 'src/workflow.ts': {
80
+ run: { workflowId: 'workflow//src/workflow.ts//run' },
81
+ },
82
+ },
83
+ };
84
+ await builder.createTestManifest({
85
+ workflowBundlePath,
86
+ manifestDir,
87
+ manifest,
88
+ });
89
+ await builder.createTestManifest({
90
+ workflowBundlePath,
91
+ manifestDir,
92
+ manifest,
93
+ });
94
+ expect(logSpy).toHaveBeenCalledTimes(2);
95
+ expect(logSpy.mock.calls[0]?.[0]).toMatch(/^workflows build complete \(2 steps, 1 workflow, time \d+(?:ms|\.\d+s)\)$/);
96
+ expect(logSpy.mock.calls[1]?.[0]).toMatch(/^workflows rebuilt \(2 steps, 1 workflow, time \d+(?:ms|\.\d+s)\)$/);
97
+ });
98
+ });
99
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS1idWlsZGVyLWxvZ2dpbmcudGVzdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9iYXNlLWJ1aWxkZXItbG9nZ2luZy50ZXN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsV0FBVyxFQUFFLE1BQU0sRUFBRSxhQUFhLEVBQUUsTUFBTSxTQUFTLENBQUM7QUFDeEUsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLFNBQVMsQ0FBQztBQUNqQyxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBQ2pDLE9BQU8sRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBRSxNQUFNLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxNQUFNLFFBQVEsQ0FBQztBQUV6RSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFHaEQsTUFBTSxXQUFZLFNBQVEsV0FBVztJQUNuQyxLQUFLLENBQUMsS0FBSztRQUNULFFBQVE7SUFDVixDQUFDO0lBRU0sV0FBVyxDQUFDLEdBQUcsSUFBZTtRQUNuQyxJQUFJLENBQUMsa0JBQWtCLENBQUMsR0FBRyxJQUFJLENBQUMsQ0FBQztJQUNuQyxDQUFDO0lBRU0sa0JBQWtCLENBQUMsSUFJekI7UUFDQyxPQUFPLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDbkMsQ0FBQztDQUNGO0FBRUQsU0FBUyxhQUFhLENBQUMsVUFBa0I7SUFDdkMsTUFBTSxNQUFNLEdBQXFCO1FBQy9CLFdBQVcsRUFBRSxZQUFZO1FBQ3pCLFVBQVU7UUFDVixJQUFJLEVBQUUsQ0FBQyxHQUFHLENBQUM7UUFDWCxlQUFlLEVBQUUsSUFBSSxDQUFDLFVBQVUsRUFBRSxXQUFXLEVBQUUsVUFBVSxDQUFDO1FBQzFELG1CQUFtQixFQUFFLElBQUksQ0FBQyxVQUFVLEVBQUUsV0FBVyxFQUFFLGNBQWMsQ0FBQztRQUNsRSxpQkFBaUIsRUFB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QyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQ3ZDLG9FQUFvRSxDQUNyRSxDQUFDO0lBQ0osQ0FBQyxDQUFDLENBQUM7QUFDTCxDQUFDLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IG1rZGlyU3luYywgbWtkdGVtcFN5bmMsIHJtU3luYywgd3JpdGVGaWxlU3luYyB9IGZyb20gJ25vZGU6ZnMnO1xuaW1wb3J0IHsgdG1wZGlyIH0gZnJvbSAnbm9kZTpvcyc7XG5pbXBvcnQgeyBqb2luIH0gZnJvbSAnbm9kZTpwYXRoJztcbmltcG9ydCB7IGFmdGVyRWFjaCwgYmVmb3JlRWFjaCwgZGVzY3JpYmUsIGV4cGVjdCwgaXQsIHZpIH0gZnJvbSAndml0ZXN0JztcbmltcG9ydCB0eXBlIHsgV29ya2Zsb3dNYW5pZmVzdCB9IGZyb20gJy4vYXBwbHktc3djLXRyYW5zZm9ybS5qcyc7XG5pbXBvcnQgeyBCYXNlQnVpbGRlciB9IGZyb20gJy4vYmFzZS1idWlsZGVyLmpzJztcbmltcG9ydCB0eXBlIHsgU3RhbmRhbG9uZUNvbmZpZyB9IGZyb20gJy4vdHlwZXMuanMnO1xuXG5jbGFzcyBUZXN0QnVpbGRlciBleHRlbmRzIEJhc2VCdWlsZGVyIHtcbiAgYXN5bmMgYnVpbGQoKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgLy8gbm8tb3BcbiAgfVxuXG4gIHB1YmxpYyBsb2dQcm9ncmVzcyguLi5hcmdzOiB1bmtub3duW10pOiB2b2lkIHtcbiAgICB0aGlzLmxvZ0Jhc2VCdWlsZGVySW5mbyguLi5hcmdzKTtcbiAgfVxuXG4gIHB1YmxpYyBjcmVhdGVUZXN0TWFuaWZlc3QoYXJnczoge1xuICAgIHdvcmtmbG93QnVuZGxlUGF0aDogc3RyaW5nO1xuICAgIG1hbmlmZXN0RGlyOiBzdHJpbmc7XG4gICAgbWFuaWZlc3Q6IFdvcmtmbG93TWFuaWZlc3Q7XG4gIH0pOiBQcm9taXNlPHN0cmluZyB8IHVuZGVmaW5lZD4ge1xuICAgIHJldHVybiB0aGlzLmNyZWF0ZU1hbmlmZXN0KGFyZ3MpO1xuICB9XG59XG5cbmZ1bmN0aW9uIGNyZWF0ZUJ1aWxkZXIod29ya2luZ0Rpcjogc3RyaW5nKTogVGVzdEJ1aWxkZXIge1xuICBjb25zdCBjb25maWc6IFN0YW5kYWxvbmVDb25maWcgPSB7XG4gICAgYnVpbGRUYXJnZXQ6ICdzdGFuZGFsb25lJyxcbiAgICB3b3JraW5nRGlyLFxuICAgIGRpcnM6IFsnLiddLFxuICAgIHN0ZXBzQnVuZGxlUGF0aDogam9pbih3b3JraW5nRGlyLCAnLndvcmtmbG93JywgJ3N0ZXBzLmpzJyksXG4gICAgd29ya2Zsb3dzQnVuZGxlUGF0aDogam9pbih3b3JraW5nRGlyLCAnLndvcmtmbG93JywgJ3dvcmtmbG93cy5qcycpLFxuICAgIHdlYmhvb2tCdW5kbGVQYXRoOiBqb2luKHdvcmtpbmdEaXIsICcud29ya2Zsb3cnLCAnd2ViaG9vay5qcycpLFxuICB9O1xuICByZXR1cm4gbmV3IFRlc3RCdWlsZGVyKGNvbmZpZyk7XG59XG5cbmRlc2NyaWJlKCdiYXNlIGJ1aWxkZXIgbG9nZ2luZycsICgpID0+IHtcbiAgbGV0IHRlc3RSb290OiBzdHJpbmc7XG4gIGxldCBkZWJ1Z1NweTogUmV0dXJuVHlwZTx0eXBlb2Ygdmkuc3B5T24+O1xuICBsZXQgbG9nU3B5OiBSZXR1cm5UeXBlPHR5cGVvZiB2aS5zcHlPbj47XG5cbiAgYmVmb3JlRWFjaCgoKSA9PiB7XG4gICAgdGVzdFJvb3QgPSBta2R0ZW1wU3luYyhqb2luKHRtcGRpcigpLCAnd29ya2Zsb3ctYnVpbGRlci1sb2dnaW5nLScpKTtcbiAgICBkZWJ1Z1NweSA9IHZpLnNweU9uKGNvbnNvbGUsICdkZWJ1ZycpLm1vY2tJbXBsZW1lbnRhdGlvbigoKSA9PiB7fSk7XG4gICAgbG9nU3B5ID0gdmkuc3B5T24oY29uc29sZSwgJ2xvZycpLm1vY2tJbXBsZW1lbnRhdGlvbigoKSA9PiB7fSk7XG4gIH0pO1xuXG4gIGFmdGVyRWFjaCgoKSA9PiB7XG4gICAgdmkudW5zdHViQWxsRW52cygpO1xuICAgIGRlYnVnU3B5Lm1vY2tSZXN0b3JlKCk7XG4gICAgbG9nU3B5Lm1vY2tSZXN0b3JlKCk7XG4gICAgcm1TeW5jKHRlc3RSb290LCB7IHJlY3Vyc2l2ZTogdHJ1ZSwgZm9yY2U6IHRydWUgfSk7XG4gIH0pO1xuXG4gIGl0KCdoaWRlcyBwcm9ncmVzcyBsb2dzIGJ5IGRlZmF1bHQnLCAoKSA9PiB7XG4gICAgY3JlYXRlQnVpbGRlcih0ZXN0Um9vdCkubG9nUHJvZ3Jlc3MoJ0NyZWF0ZWQgc3RlcCByZWdpc3RyYXRpb25zJywgJzEwbXMnKTtcblxuICAgIGV4cGVjdChkZWJ1Z1NweSkubm90LnRvSGF2ZUJlZW5DYWxsZWQoKTtcbiAgfSk7XG5cbiAgaXQoJ3Nob3dzIHByb2dyZXNzIGxvZ3Mgd2hlbiBERUJVRyBtYXRjaGVzIHdvcmtmbG93OmJ1aWxkJywgKCkgPT4ge1xuICAgIHZpLnN0dWJFbnYoJ0RFQlVHJywgJ3dvcmtmbG93OmJ1aWxkJyk7XG5cbiAgICBjcmVhdGVCdWlsZGVyKHRlc3RSb290KS5sb2dQcm9ncmVzcygnQ3JlYXRlZCBzdGVwIHJlZ2lzdHJhdGlvbnMnLCAnMTBtcycpO1xuXG4gICAgZXhwZWN0KGRlYnVnU3B5KS50b0hhdmVCZWVuQ2FsbGVkV2l0aChcbiAgICAgICdbd29ya2Zsb3c6YnVpbGRdIENyZWF0ZWQgc3RlcCByZWdpc3RyYXRpb25zIDEwbXMnLFxuICAgICAgJydcbiAgICApO1xuICB9KTtcblxuICBpdC5lYWNoKFtcbiAgICAnd29ya2Zsb3c6KicsXG4gICAgJyonLFxuICBdKSgnc2hvd3MgcHJvZ3Jlc3MgbG9ncyB3aGVuIERFQlVHIHdpbGRjYXJkICVzIG1hdGNoZXMgd29ya2Zsb3c6YnVpbGQnLCAoZGVidWdQYXR0ZXJuKSA9PiB7XG4gICAgdmkuc3R1YkVudignREVCVUcnLCBkZWJ1Z1BhdHRlcm4pO1xuXG4gICAgY3JlYXRlQnVpbGRlcih0ZXN0Um9vdCkubG9nUHJvZ3Jlc3MoJ0NyZWF0ZWQgc3RlcCByZWdpc3RyYXRpb25zJywgJzEwbXMnKTtcblxuICAgIGV4cGVjdChkZWJ1Z1NweSkudG9IYXZlQmVlbkNhbGxlZFdpdGgoXG4gICAgICAnW3dvcmtmbG93OmJ1aWxkXSBDcmVhdGVkIHN0ZXAgcmVnaXN0cmF0aW9ucyAxMG1zJyxcbiAgICAgICcnXG4gICAgKTtcbiAgfSk7XG5cbiAgaXQoJ2hpZGVzIHByb2dyZXNzIGxvZ3Mgd2hlbiBERUJVRyBuZWdhdGVzIHdvcmtmbG93OmJ1aWxkJywgKCkgPT4ge1xuICAgIHZpLnN0dWJFbnYoJ0RFQlVHJywgJ3dvcmtmbG93OiosLXdvcmtmbG93OmJ1aWxkJyk7XG5cbiAgICBjcmVhdGVCdWlsZGVyKHRlc3RSb290KS5sb2dQcm9ncmVzcygnQ3JlYXRlZCBzdGVwIHJlZ2lzdHJhdGlvbnMnLCAnMTBtcycpO1xuXG4gICAgZXhwZWN0KGRlYnVnU3B5KS5ub3QudG9IYXZlQmVlbkNhbGxlZCgpO1xuICB9KTtcblxuICBpdCgnZW1pdHMgY29tcGFjdCBidWlsZCBhbmQgcmVidWlsZCBzdW1tYXJpZXMgd2hlbiBtYW5pZmVzdHMgYXJlIGNyZWF0ZWQnLCBhc3luYyAoKSA9PiB7XG4gICAgY29uc3Qgd29ya2Zsb3dCdW5kbGVQYXRoID0gam9pbih0ZXN0Um9vdCwgJ3dvcmtmbG93LmpzJyk7XG4gICAgY29uc3QgbWFuaWZlc3REaXIgPSBqb2luKHRlc3RSb290LCAnLndlbGwta25vd24vd29ya2Zsb3cvdjEnKTtcbiAgICBta2RpclN5bmMobWFuaWZlc3REaXIsIHsgcmVjdXJzaXZlOiB0cnVlIH0pO1xuICAgIHdyaXRlRmlsZVN5bmMod29ya2Zsb3dCdW5kbGVQYXRoLCAnJywgJ3V0Zi04Jyk7XG5cbiAgICBjb25zdCBidWlsZGVyID0gY3JlYXRlQnVpbGRlcih0ZXN0Um9vdCk7XG4gICAgY29uc3QgbWFuaWZlc3Q6IFdvcmtmbG93TWFuaWZlc3QgPSB7XG4gICAgICBzdGVwczoge1xuICAgICAgICAnc3JjL3dvcmtmbG93LnRzJzoge1xuICAgICAgICAgIHN0ZXBPbmU6IHsgc3RlcElkOiAnc3RlcC8vc3JjL3dvcmtmbG93LnRzLy9zdGVwT25lJyB9LFxuICAgICAgICAgIHN0ZXBUd286IHsgc3RlcElkOiAnc3RlcC8vc3JjL3dvcmtmbG93LnRzLy9zdGVwVHdvJyB9LFxuICAgICAgICB9LFxuICAgICAgfSxcbiAgICAgIHdvcmtmbG93czoge1xuICAgICAgICAnc3JjL3dvcmtmbG93LnRzJzoge1xuICAgICAgICAgIHJ1bjogeyB3b3JrZmxvd0lkOiAnd29ya2Zsb3cvL3NyYy93b3JrZmxvdy50cy8vcnVuJyB9LFxuICAgICAgICB9LFxuICAgICAgfSxcbiAgICB9O1xuXG4gICAgYXdhaXQgYnVpbGRlci5jcmVhdGVUZXN0TWFuaWZlc3Qoe1xuICAgICAgd29ya2Zsb3dCdW5kbGVQYXRoLFxuICAgICAgbWFuaWZlc3REaXIsXG4gICAgICBtYW5pZmVzdCxcbiAgICB9KTtcbiAgICBhd2FpdCBidWlsZGVyLmNyZWF0ZVRlc3RNYW5pZmVzdCh7XG4gICAgICB3b3JrZmxvd0J1bmRsZVBhdGgsXG4gICAgICBtYW5pZmVzdERpcixcbiAgICAgIG1hbmlmZXN0LFxuICAgIH0pO1xuXG4gICAgZXhwZWN0KGxvZ1NweSkudG9IYXZlQmVlbkNhbGxlZFRpbWVzKDIpO1xuICAgIGV4cGVjdChsb2dTcHkubW9jay5jYWxsc1swXT8uWzBdKS50b01hdGNoKFxuICAgICAgL153b3JrZmxvd3MgYnVpbGQgY29tcGxldGUgXFwoMiBzdGVwcywgMSB3b3JrZmxvdywgdGltZSBcXGQrKD86bXN8XFwuXFxkK3MpXFwpJC9cbiAgICApO1xuICAgIGV4cGVjdChsb2dTcHkubW9jay5jYWxsc1sxXT8uWzBdKS50b01hdGNoKFxuICAgICAgL153b3JrZmxvd3MgcmVidWlsdCBcXCgyIHN0ZXBzLCAxIHdvcmtmbG93LCB0aW1lIFxcZCsoPzptc3xcXC5cXGQrcylcXCkkL1xuICAgICk7XG4gIH0pO1xufSk7XG4iXX0=
@@ -1,11 +1,18 @@
1
1
  import * as esbuild from 'esbuild';
2
2
  import { type WorkflowManifest } from './apply-swc-transform.js';
3
+ import { type DiscoveredEntries } from './fast-discovery.js';
3
4
  import type { WorkflowConfig } from './types.js';
4
- export type DiscoveredEntryCollection = string[] | Set<string>;
5
- export interface DiscoveredEntries {
6
- discoveredSteps: DiscoveredEntryCollection;
7
- discoveredWorkflows: DiscoveredEntryCollection;
8
- discoveredSerdeFiles: DiscoveredEntryCollection;
5
+ export type { DiscoveredEntries } from './fast-discovery.js';
6
+ /**
7
+ * Permissive shape accepted by the bundle creation helpers. The fast discovery
8
+ * pass produces `Set<string>` collections, but some callers (e.g. the deferred
9
+ * Next.js builder) track discovered entries as `string[]`. Consumers only ever
10
+ * iterate these collections, so accept either form here.
11
+ */
12
+ export interface DiscoveredEntriesInput {
13
+ discoveredSteps: string[] | Set<string>;
14
+ discoveredWorkflows: string[] | Set<string>;
15
+ discoveredSerdeFiles: string[] | Set<string>;
9
16
  }
10
17
  /**
11
18
  * Base class for workflow builders. Provides common build logic for transforming
@@ -20,14 +27,16 @@ export declare abstract class BaseBuilder {
20
27
  * to avoid duplicate warnings across multiple discoverEntries() calls.
21
28
  */
22
29
  private warnedExternalPackages;
30
+ private workflowBuildStartTime;
31
+ private workflowBuildSummaryCount;
23
32
  constructor(config: WorkflowConfig);
24
33
  protected get transformProjectRoot(): string;
25
- /**
26
- * Whether informational BaseBuilder logs should be printed.
27
- * Subclasses can override this to silence progress logs while keeping warnings/errors.
28
- */
29
- protected get shouldLogBaseBuilderInfo(): boolean;
34
+ protected get moduleSpecifierRoot(): string;
30
35
  protected logBaseBuilderInfo(...args: unknown[]): void;
36
+ private startWorkflowBuildTimer;
37
+ private getWorkflowBuildDuration;
38
+ private resetWorkflowBuildTimer;
39
+ private getWorkflowBuildSummaryPrefix;
31
40
  private logCreateWorkflowsBundleInfo;
32
41
  private logCreateWebhookBundleInfo;
33
42
  private logCreateManifestInfo;
@@ -62,6 +71,7 @@ export declare abstract class BaseBuilder {
62
71
  * (e.g., when files are added/removed during watch mode).
63
72
  */
64
73
  private discoveredEntries;
74
+ clearDiscoveredEntriesCache(): void;
65
75
  /**
66
76
  * Pseudo-packages that should not be checked for workflow patterns.
67
77
  */
@@ -74,6 +84,13 @@ export declare abstract class BaseBuilder {
74
84
  */
75
85
  private warnAboutExternalWorkflowPackages;
76
86
  protected discoverEntries(inputs: string[], outdir: string, tsconfigPath?: string): Promise<DiscoveredEntries>;
87
+ /**
88
+ * Writes generated files atomically where possible. On Windows, Next.js can
89
+ * briefly hold generated route files open while compiling them, which makes
90
+ * rename-over-existing fail with EPERM/EACCES. In that case, fall back to a
91
+ * direct overwrite so watch rebuilds can still make progress.
92
+ */
93
+ private writeGeneratedFile;
77
94
  /**
78
95
  * Writes debug information to a JSON file for troubleshooting build issues.
79
96
  * Uses atomic write (temp file + rename) to prevent race conditions when
@@ -89,23 +106,27 @@ export declare abstract class BaseBuilder {
89
106
  * Converts an absolute file path to a normalized relative path for the manifest.
90
107
  */
91
108
  private getRelativeFilepath;
109
+ protected createRouteImportSpecifier(file: string, routeDir: string): string;
110
+ private createStepSourceRegistrationFile;
92
111
  /**
93
112
  * Creates a bundle for workflow step functions.
94
113
  * Steps have full Node.js runtime access and handle side effects, API calls, etc.
95
114
  *
96
115
  * @param externalizeNonSteps - If true, only bundles step entry points and externalizes other code
116
+ * @param sourceStepRegistrationImports - If true, emits a source import registration file instead of bundling step registrations
97
117
  * @param bundleTransitiveLocalStepDependencies - If true, also bundles project-local files imported by step entries for direct runtime loading
98
118
  * @returns Build context (for watch mode) and the collected workflow manifest
99
119
  */
100
- protected createStepsBundle({ inputFiles, format, outfile, externalizeNonSteps, bundleTransitiveLocalStepDependencies, rewriteTsExtensions, tsconfigPath, discoveredEntries, }: {
120
+ protected createStepsBundle({ inputFiles, format, outfile, externalizeNonSteps, bundleTransitiveLocalStepDependencies, sourceStepRegistrationImports, rewriteTsExtensions, tsconfigPath, discoveredEntries, }: {
101
121
  tsconfigPath?: string;
102
122
  inputFiles: string[];
103
123
  outfile: string;
104
124
  format?: 'cjs' | 'esm';
105
125
  externalizeNonSteps?: boolean;
106
126
  bundleTransitiveLocalStepDependencies?: boolean;
127
+ sourceStepRegistrationImports?: boolean;
107
128
  rewriteTsExtensions?: boolean;
108
- discoveredEntries?: DiscoveredEntries;
129
+ discoveredEntries?: DiscoveredEntriesInput;
109
130
  }): Promise<{
110
131
  context: esbuild.BuildContext | undefined;
111
132
  manifest: WorkflowManifest;
@@ -123,7 +144,7 @@ export declare abstract class BaseBuilder {
123
144
  format?: 'cjs' | 'esm';
124
145
  bundleFinalOutput?: boolean;
125
146
  keepInterimBundleContext?: boolean;
126
- discoveredEntries?: DiscoveredEntries;
147
+ discoveredEntries?: DiscoveredEntriesInput;
127
148
  }): Promise<{
128
149
  manifest: WorkflowManifest;
129
150
  interimBundleCtx?: esbuild.BuildContext;
@@ -176,7 +197,9 @@ export declare abstract class BaseBuilder {
176
197
  * Ensures the directory for a file path exists, creating it if necessary.
177
198
  */
178
199
  protected ensureDirectory(filePath: string): Promise<void>;
179
- private createSwcGitignore;
200
+ protected ensureSwcIgnored(): Promise<void>;
201
+ private ensureProjectSwcGitignoreEntry;
202
+ private createSwcDirectoryGitignore;
180
203
  /**
181
204
  * Whether the manifest should be exposed as a public HTTP route.
182
205
  * Controlled by the `WORKFLOW_PUBLIC_MANIFEST` environment variable.
@@ -1 +1 @@
1
- {"version":3,"file":"base-builder.d.ts","sourceRoot":"","sources":["../src/base-builder.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"base-builder.d.ts","sourceRoot":"","sources":["../src/base-builder.ts"],"names":[],"mappings":"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"}