@workflow/builders 4.0.1-beta.9 → 5.0.0-beta.0

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 (115) hide show
  1. package/README.md +1 -1
  2. package/dist/apply-swc-transform.d.ts +19 -4
  3. package/dist/apply-swc-transform.d.ts.map +1 -1
  4. package/dist/apply-swc-transform.js +62 -7
  5. package/dist/apply-swc-transform.js.map +1 -1
  6. package/dist/base-builder.d.ts +77 -22
  7. package/dist/base-builder.d.ts.map +1 -1
  8. package/dist/base-builder.js +667 -202
  9. package/dist/base-builder.js.map +1 -1
  10. package/dist/build-queue.d.ts +18 -0
  11. package/dist/build-queue.d.ts.map +1 -0
  12. package/dist/build-queue.js +26 -0
  13. package/dist/build-queue.js.map +1 -0
  14. package/dist/config-helpers.d.ts +32 -0
  15. package/dist/config-helpers.d.ts.map +1 -1
  16. package/dist/config-helpers.js +61 -0
  17. package/dist/config-helpers.js.map +1 -1
  18. package/dist/constants.d.ts +2 -4
  19. package/dist/constants.d.ts.map +1 -1
  20. package/dist/constants.js +2 -4
  21. package/dist/constants.js.map +1 -1
  22. package/dist/discover-entries-esbuild-plugin.d.ts +5 -6
  23. package/dist/discover-entries-esbuild-plugin.d.ts.map +1 -1
  24. package/dist/discover-entries-esbuild-plugin.js +98 -30
  25. package/dist/discover-entries-esbuild-plugin.js.map +1 -1
  26. package/dist/discover-entries-esbuild-plugin.test.d.ts +2 -0
  27. package/dist/discover-entries-esbuild-plugin.test.d.ts.map +1 -0
  28. package/dist/discover-entries-esbuild-plugin.test.js +110 -0
  29. package/dist/discover-entries-esbuild-plugin.test.js.map +1 -0
  30. package/dist/esbuild-tsconfig.d.ts +13 -0
  31. package/dist/esbuild-tsconfig.d.ts.map +1 -0
  32. package/dist/esbuild-tsconfig.js +25 -0
  33. package/dist/esbuild-tsconfig.js.map +1 -0
  34. package/dist/esbuild-tsconfig.test.d.ts +2 -0
  35. package/dist/esbuild-tsconfig.test.d.ts.map +1 -0
  36. package/dist/esbuild-tsconfig.test.js +94 -0
  37. package/dist/esbuild-tsconfig.test.js.map +1 -0
  38. package/dist/get-input-files.test.d.ts +2 -0
  39. package/dist/get-input-files.test.d.ts.map +1 -0
  40. package/dist/get-input-files.test.js +121 -0
  41. package/dist/get-input-files.test.js.map +1 -0
  42. package/dist/index.d.ts +10 -3
  43. package/dist/index.d.ts.map +1 -1
  44. package/dist/index.js +9 -2
  45. package/dist/index.js.map +1 -1
  46. package/dist/module-specifier.d.ts +85 -0
  47. package/dist/module-specifier.d.ts.map +1 -0
  48. package/dist/module-specifier.js +448 -0
  49. package/dist/module-specifier.js.map +1 -0
  50. package/dist/module-specifier.test.d.ts +2 -0
  51. package/dist/module-specifier.test.d.ts.map +1 -0
  52. package/dist/module-specifier.test.js +240 -0
  53. package/dist/module-specifier.test.js.map +1 -0
  54. package/dist/node-module-esbuild-plugin.d.ts +37 -0
  55. package/dist/node-module-esbuild-plugin.d.ts.map +1 -1
  56. package/dist/node-module-esbuild-plugin.js +364 -7
  57. package/dist/node-module-esbuild-plugin.js.map +1 -1
  58. package/dist/node-module-esbuild-plugin.test.js +461 -146
  59. package/dist/node-module-esbuild-plugin.test.js.map +1 -1
  60. package/dist/pseudo-package-esbuild-plugin.d.ts +20 -0
  61. package/dist/pseudo-package-esbuild-plugin.d.ts.map +1 -0
  62. package/dist/pseudo-package-esbuild-plugin.js +47 -0
  63. package/dist/pseudo-package-esbuild-plugin.js.map +1 -0
  64. package/dist/pseudo-package-esbuild-plugin.test.d.ts +2 -0
  65. package/dist/pseudo-package-esbuild-plugin.test.d.ts.map +1 -0
  66. package/dist/pseudo-package-esbuild-plugin.test.js +315 -0
  67. package/dist/pseudo-package-esbuild-plugin.test.js.map +1 -0
  68. package/dist/request-converter.d.ts +3 -0
  69. package/dist/request-converter.d.ts.map +1 -0
  70. package/dist/request-converter.js +14 -0
  71. package/dist/request-converter.js.map +1 -0
  72. package/dist/serde-checker.d.ts +70 -0
  73. package/dist/serde-checker.d.ts.map +1 -0
  74. package/dist/serde-checker.js +118 -0
  75. package/dist/serde-checker.js.map +1 -0
  76. package/dist/standalone.d.ts +3 -0
  77. package/dist/standalone.d.ts.map +1 -1
  78. package/dist/standalone.js +37 -13
  79. package/dist/standalone.js.map +1 -1
  80. package/dist/swc-esbuild-plugin.d.ts +23 -2
  81. package/dist/swc-esbuild-plugin.d.ts.map +1 -1
  82. package/dist/swc-esbuild-plugin.js +133 -43
  83. package/dist/swc-esbuild-plugin.js.map +1 -1
  84. package/dist/swc-esbuild-plugin.test.d.ts +2 -0
  85. package/dist/swc-esbuild-plugin.test.d.ts.map +1 -0
  86. package/dist/swc-esbuild-plugin.test.js +493 -0
  87. package/dist/swc-esbuild-plugin.test.js.map +1 -0
  88. package/dist/transform-utils.d.ts +68 -0
  89. package/dist/transform-utils.d.ts.map +1 -0
  90. package/dist/transform-utils.js +102 -0
  91. package/dist/transform-utils.js.map +1 -0
  92. package/dist/transform-utils.test.d.ts +2 -0
  93. package/dist/transform-utils.test.d.ts.map +1 -0
  94. package/dist/transform-utils.test.js +302 -0
  95. package/dist/transform-utils.test.js.map +1 -0
  96. package/dist/types.d.ts +31 -2
  97. package/dist/types.d.ts.map +1 -1
  98. package/dist/types.js +2 -0
  99. package/dist/types.js.map +1 -1
  100. package/dist/vercel-build-output-api.d.ts.map +1 -1
  101. package/dist/vercel-build-output-api.js +38 -14
  102. package/dist/vercel-build-output-api.js.map +1 -1
  103. package/dist/workflow-alias.d.ts +3 -0
  104. package/dist/workflow-alias.d.ts.map +1 -0
  105. package/dist/workflow-alias.js +65 -0
  106. package/dist/workflow-alias.js.map +1 -0
  107. package/dist/workflow-alias.test.d.ts +2 -0
  108. package/dist/workflow-alias.test.d.ts.map +1 -0
  109. package/dist/workflow-alias.test.js +53 -0
  110. package/dist/workflow-alias.test.js.map +1 -0
  111. package/dist/workflows-extractor.d.ts +92 -0
  112. package/dist/workflows-extractor.d.ts.map +1 -0
  113. package/dist/workflows-extractor.js +1476 -0
  114. package/dist/workflows-extractor.js.map +1 -0
  115. package/package.json +14 -13
@@ -0,0 +1,118 @@
1
+ /**
2
+ * Serde compliance checker for workflow custom class serialization.
3
+ *
4
+ * Analyzes source code to determine if classes with WORKFLOW_SERIALIZE /
5
+ * WORKFLOW_DESERIALIZE are correctly set up for the workflow sandbox.
6
+ *
7
+ * Used by:
8
+ * - CLI `validate` command
9
+ * - CLI `transform` command (--check-serde)
10
+ * - SWC playground serde analysis panel
11
+ * - Build-time warnings in BaseBuilder
12
+ */
13
+ import builtinModules from 'builtin-modules';
14
+ // Build a regex that matches Node.js built-in module imports in transformed code.
15
+ // Handles both ESM (`from 'fs'`, `from 'node:fs'`) and CJS (`require('fs')`)
16
+ const nodeBuiltins = builtinModules.join('|');
17
+ // Regex to extract specific module names from import/require statements
18
+ const nodeImportExtractRegex = new RegExp(`(?:from\\s+['"](?:node:)?((?:${nodeBuiltins})(?:/[^'"]*)?)['"]` +
19
+ `|require\\s*\\(\\s*['"](?:node:)?((?:${nodeBuiltins})(?:/[^'"]*)?)['"]\\s*\\))`, 'g');
20
+ // Regex to detect class registration IIFEs generated by the SWC plugin
21
+ const registrationIifeRegex = /Symbol\.for\s*\(\s*["']workflow-class-registry["']\s*\)/;
22
+ /**
23
+ * Lightweight serde compliance checker that works with pre-computed
24
+ * SWC transform results. This avoids re-running the SWC transform
25
+ * when the caller already has the outputs (e.g., the playground or builder).
26
+ */
27
+ export function analyzeSerdeCompliance(options) {
28
+ const { sourceCode, workflowCode, manifest } = options;
29
+ // 1. Extract all Node.js built-in imports from the workflow output
30
+ const globalNodeImports = extractNodeImports(workflowCode);
31
+ // 2. Check if the manifest contains any serde-registered classes
32
+ const classEntries = extractClassEntries(manifest);
33
+ const hasSerdeClasses = classEntries.length > 0;
34
+ // 3. Check if the workflow output contains registration IIFEs
35
+ const hasRegistration = registrationIifeRegex.test(workflowCode);
36
+ // 4. Analyze each class
37
+ const classes = classEntries.map((entry) => {
38
+ const issues = [];
39
+ // Check for Node.js imports (these will fail in the workflow sandbox)
40
+ if (globalNodeImports.length > 0) {
41
+ issues.push(`Workflow bundle contains Node.js built-in imports: ${globalNodeImports.join(', ')}. ` +
42
+ `These will fail at runtime in the workflow sandbox. ` +
43
+ `Add "use step" to methods that depend on Node.js APIs so they are stripped from the workflow bundle.`);
44
+ }
45
+ // Check for registration
46
+ if (!hasRegistration) {
47
+ issues.push(`No class registration IIFE was generated. ` +
48
+ `Ensure WORKFLOW_SERIALIZE and WORKFLOW_DESERIALIZE are defined as static methods ` +
49
+ `inside the class body using computed property syntax: static [WORKFLOW_SERIALIZE](...) { ... }`);
50
+ }
51
+ return {
52
+ className: entry.className,
53
+ classId: entry.classId,
54
+ detected: true,
55
+ registered: hasRegistration,
56
+ nodeImports: globalNodeImports,
57
+ compliant: globalNodeImports.length === 0 && hasRegistration,
58
+ issues,
59
+ };
60
+ });
61
+ // 5. Check for classes that have serde patterns in source but weren't detected by SWC
62
+ const sourceHasSerdePatterns = /\[\s*WORKFLOW_(?:SERIALIZE|DESERIALIZE)\s*\]/.test(sourceCode) ||
63
+ /Symbol\.for\s*\(\s*['"]workflow-(?:serialize|deserialize)['"]\s*\)/.test(sourceCode);
64
+ if (sourceHasSerdePatterns && classEntries.length === 0) {
65
+ classes.push({
66
+ className: '<unknown>',
67
+ classId: '',
68
+ detected: false,
69
+ registered: false,
70
+ nodeImports: globalNodeImports,
71
+ compliant: false,
72
+ issues: [
73
+ `Source code contains WORKFLOW_SERIALIZE/WORKFLOW_DESERIALIZE patterns but ` +
74
+ `the SWC plugin did not detect any serde-enabled classes. ` +
75
+ `Ensure the symbols are defined as static methods INSIDE the class body, ` +
76
+ `not assigned externally (e.g., (MyClass as any)[WORKFLOW_SERIALIZE] = ...).`,
77
+ ],
78
+ });
79
+ }
80
+ return {
81
+ classes,
82
+ globalNodeImports,
83
+ hasSerdeClasses,
84
+ manifest,
85
+ };
86
+ }
87
+ /**
88
+ * Extract Node.js built-in module names from transformed code.
89
+ */
90
+ function extractNodeImports(code) {
91
+ const imports = new Set();
92
+ // Reset regex state
93
+ nodeImportExtractRegex.lastIndex = 0;
94
+ for (let match = nodeImportExtractRegex.exec(code); match !== null; match = nodeImportExtractRegex.exec(code)) {
95
+ // match[1] is from the ESM pattern, match[2] is from the CJS pattern
96
+ const moduleName = match[1] || match[2];
97
+ if (moduleName) {
98
+ // Normalize to base module name (e.g., 'fs/promises' -> 'fs')
99
+ imports.add(moduleName.split('/')[0]);
100
+ }
101
+ }
102
+ return [...imports].sort();
103
+ }
104
+ /**
105
+ * Extract class entries from a WorkflowManifest.
106
+ */
107
+ export function extractClassEntries(manifest) {
108
+ const entries = [];
109
+ if (!manifest.classes)
110
+ return entries;
111
+ for (const [fileName, classes] of Object.entries(manifest.classes)) {
112
+ for (const [className, { classId }] of Object.entries(classes)) {
113
+ entries.push({ className, classId, fileName });
114
+ }
115
+ }
116
+ return entries;
117
+ }
118
+ //# sourceMappingURL=serde-checker.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"serde-checker.js","sourceRoot":"","sources":["../src/serde-checker.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,9 @@
1
1
  import { BaseBuilder } from './base-builder.js';
2
+ import type { WorkflowConfig } from './types.js';
2
3
  export declare class StandaloneBuilder extends BaseBuilder {
4
+ constructor(config: WorkflowConfig);
3
5
  build(): Promise<void>;
6
+ private mergeManifests;
4
7
  private buildStepsBundle;
5
8
  private buildWorkflowsBundle;
6
9
  private buildWebhookFunction;
@@ -1 +1 @@
1
- {"version":3,"file":"standalone.d.ts","sourceRoot":"","sources":["../src/standalone.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAEhD,qBAAa,iBAAkB,SAAQ,WAAW;IAC1C,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;YAgBd,gBAAgB;YAsBhB,oBAAoB;YA2BpB,oBAAoB;CAUnC"}
1
+ {"version":3,"file":"standalone.d.ts","sourceRoot":"","sources":["../src/standalone.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAEjD,qBAAa,iBAAkB,SAAQ,WAAW;gBACpC,MAAM,EAAE,cAAc;IAO5B,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IA+B5B,OAAO,CAAC,cAAc;YAuBR,gBAAgB;YAqBhB,oBAAoB;YA0BpB,oBAAoB;CAUnC"}
@@ -1,39 +1,63 @@
1
1
  import { BaseBuilder } from './base-builder.js';
2
2
  export class StandaloneBuilder extends BaseBuilder {
3
+ constructor(config) {
4
+ super({
5
+ ...config,
6
+ dirs: ['.'],
7
+ });
8
+ }
3
9
  async build() {
4
10
  const inputFiles = await this.getInputFiles();
5
- const tsConfig = await this.getTsConfigOptions();
11
+ const tsconfigPath = await this.findTsConfigPath();
6
12
  const options = {
7
13
  inputFiles,
8
- tsBaseUrl: tsConfig.baseUrl,
9
- tsPaths: tsConfig.paths,
14
+ tsconfigPath,
10
15
  };
11
- await this.buildStepsBundle(options);
12
- await this.buildWorkflowsBundle(options);
16
+ const stepsManifest = await this.buildStepsBundle(options);
17
+ const workflowsManifest = await this.buildWorkflowsBundle(options);
13
18
  await this.buildWebhookFunction();
19
+ // Merge manifests from both bundles
20
+ // Steps bundle discovers classes from default export conditions
21
+ // Workflow bundle discovers classes from 'workflow' export conditions
22
+ const manifest = this.mergeManifests(stepsManifest, workflowsManifest);
23
+ // Build unified manifest from workflow bundle
24
+ const workflowBundlePath = this.resolvePath(this.config.workflowsBundlePath);
25
+ const manifestDir = this.resolvePath('.well-known/workflow/v1');
26
+ await this.createManifest({
27
+ workflowBundlePath,
28
+ manifestDir,
29
+ manifest,
30
+ });
14
31
  await this.createClientLibrary();
15
32
  }
16
- async buildStepsBundle({ inputFiles, tsPaths, tsBaseUrl, }) {
33
+ mergeManifests(stepsManifest, workflowsManifest) {
34
+ return {
35
+ steps: { ...stepsManifest.steps, ...workflowsManifest.steps },
36
+ workflows: { ...stepsManifest.workflows, ...workflowsManifest.workflows },
37
+ classes: { ...stepsManifest.classes, ...workflowsManifest.classes },
38
+ };
39
+ }
40
+ async buildStepsBundle({ inputFiles, tsconfigPath, }) {
17
41
  console.log('Creating steps bundle at', this.config.stepsBundlePath);
18
42
  const stepsBundlePath = this.resolvePath(this.config.stepsBundlePath);
19
43
  await this.ensureDirectory(stepsBundlePath);
20
- await this.createStepsBundle({
44
+ const { manifest } = await this.createStepsBundle({
21
45
  outfile: stepsBundlePath,
22
46
  inputFiles,
23
- tsBaseUrl,
24
- tsPaths,
47
+ tsconfigPath,
25
48
  });
49
+ return manifest;
26
50
  }
27
- async buildWorkflowsBundle({ inputFiles, tsPaths, tsBaseUrl, }) {
51
+ async buildWorkflowsBundle({ inputFiles, tsconfigPath, }) {
28
52
  console.log('Creating workflows bundle at', this.config.workflowsBundlePath);
29
53
  const workflowBundlePath = this.resolvePath(this.config.workflowsBundlePath);
30
54
  await this.ensureDirectory(workflowBundlePath);
31
- await this.createWorkflowsBundle({
55
+ const { manifest } = await this.createWorkflowsBundle({
32
56
  outfile: workflowBundlePath,
33
57
  inputFiles,
34
- tsBaseUrl,
35
- tsPaths,
58
+ tsconfigPath,
36
59
  });
60
+ return manifest;
37
61
  }
38
62
  async buildWebhookFunction() {
39
63
  console.log('Creating webhook bundle at', this.config.webhookBundlePath);
@@ -1 +1 @@
1
- {"version":3,"file":"standalone.js","sourceRoot":"","sources":["../src/standalone.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAEhD,MAAM,OAAO,iBAAkB,SAAQ,WAAW;IAChD,KAAK,CAAC,KAAK;QACT,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,aAAa,EAAE,CAAC;QAC9C,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,kBAAkB,EAAE,CAAC;QAEjD,MAAM,OAAO,GAAG;YACd,UAAU;YACV,SAAS,EAAE,QAAQ,CAAC,OAAO;YAC3B,OAAO,EAAE,QAAQ,CAAC,KAAK;SACxB,CAAC;QACF,MAAM,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC;QACrC,MAAM,IAAI,CAAC,oBAAoB,CAAC,OAAO,CAAC,CAAC;QACzC,MAAM,IAAI,CAAC,oBAAoB,EAAE,CAAC;QAElC,MAAM,IAAI,CAAC,mBAAmB,EAAE,CAAC;IACnC,CAAC;IAEO,KAAK,CAAC,gBAAgB,CAAC,EAC7B,UAAU,EACV,OAAO,EACP,SAAS,GAKV;QACC,OAAO,CAAC,GAAG,CAAC,0BAA0B,EAAE,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC;QAErE,MAAM,eAAe,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC;QACtE,MAAM,IAAI,CAAC,eAAe,CAAC,eAAe,CAAC,CAAC;QAE5C,MAAM,IAAI,CAAC,iBAAiB,CAAC;YAC3B,OAAO,EAAE,eAAe;YACxB,UAAU;YACV,SAAS;YACT,OAAO;SACR,CAAC,CAAC;IACL,CAAC;IAEO,KAAK,CAAC,oBAAoB,CAAC,EACjC,UAAU,EACV,OAAO,EACP,SAAS,GAKV;QACC,OAAO,CAAC,GAAG,CACT,8BAA8B,EAC9B,IAAI,CAAC,MAAM,CAAC,mBAAmB,CAChC,CAAC;QAEF,MAAM,kBAAkB,GAAG,IAAI,CAAC,WAAW,CACzC,IAAI,CAAC,MAAM,CAAC,mBAAmB,CAChC,CAAC;QACF,MAAM,IAAI,CAAC,eAAe,CAAC,kBAAkB,CAAC,CAAC;QAE/C,MAAM,IAAI,CAAC,qBAAqB,CAAC;YAC/B,OAAO,EAAE,kBAAkB;YAC3B,UAAU;YACV,SAAS;YACT,OAAO;SACR,CAAC,CAAC;IACL,CAAC;IAEO,KAAK,CAAC,oBAAoB;QAChC,OAAO,CAAC,GAAG,CAAC,4BAA4B,EAAE,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC;QAEzE,MAAM,iBAAiB,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC;QAC1E,MAAM,IAAI,CAAC,eAAe,CAAC,iBAAiB,CAAC,CAAC;QAE9C,MAAM,IAAI,CAAC,mBAAmB,CAAC;YAC7B,OAAO,EAAE,iBAAiB;SAC3B,CAAC,CAAC;IACL,CAAC;CACF"}
1
+ {"version":3,"file":"standalone.js","sourceRoot":"","sources":["../src/standalone.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAGhD,MAAM,OAAO,iBAAkB,SAAQ,WAAW;IAChD,YAAY,MAAsB;QAChC,KAAK,CAAC;YACJ,GAAG,MAAM;YACT,IAAI,EAAE,CAAC,GAAG,CAAC;SACZ,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,KAAK;QACT,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,aAAa,EAAE,CAAC;QAC9C,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,gBAAgB,EAAE,CAAC;QAEnD,MAAM,OAAO,GAAG;YACd,UAAU;YACV,YAAY;SACb,CAAC;QACF,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC;QAC3D,MAAM,iBAAiB,GAAG,MAAM,IAAI,CAAC,oBAAoB,CAAC,OAAO,CAAC,CAAC;QACnE,MAAM,IAAI,CAAC,oBAAoB,EAAE,CAAC;QAElC,oCAAoC;QACpC,gEAAgE;QAChE,sEAAsE;QACtE,MAAM,QAAQ,GAAG,IAAI,CAAC,cAAc,CAAC,aAAa,EAAE,iBAAiB,CAAC,CAAC;QAEvE,8CAA8C;QAC9C,MAAM,kBAAkB,GAAG,IAAI,CAAC,WAAW,CACzC,IAAI,CAAC,MAAM,CAAC,mBAAmB,CAChC,CAAC;QACF,MAAM,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC,yBAAyB,CAAC,CAAC;QAChE,MAAM,IAAI,CAAC,cAAc,CAAC;YACxB,kBAAkB;YAClB,WAAW;YACX,QAAQ;SACT,CAAC,CAAC;QAEH,MAAM,IAAI,CAAC,mBAAmB,EAAE,CAAC;IACnC,CAAC;IAEO,cAAc,CACpB,aAIC,EACD,iBAIC;QAMD,OAAO;YACL,KAAK,EAAE,EAAE,GAAG,aAAa,CAAC,KAAK,EAAE,GAAG,iBAAiB,CAAC,KAAK,EAAE;YAC7D,SAAS,EAAE,EAAE,GAAG,aAAa,CAAC,SAAS,EAAE,GAAG,iBAAiB,CAAC,SAAS,EAAE;YACzE,OAAO,EAAE,EAAE,GAAG,aAAa,CAAC,OAAO,EAAE,GAAG,iBAAiB,CAAC,OAAO,EAAE;SACpE,CAAC;IACJ,CAAC;IAEO,KAAK,CAAC,gBAAgB,CAAC,EAC7B,UAAU,EACV,YAAY,GAIb;QACC,OAAO,CAAC,GAAG,CAAC,0BAA0B,EAAE,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC;QAErE,MAAM,eAAe,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC;QACtE,MAAM,IAAI,CAAC,eAAe,CAAC,eAAe,CAAC,CAAC;QAE5C,MAAM,EAAE,QAAQ,EAAE,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC;YAChD,OAAO,EAAE,eAAe;YACxB,UAAU;YACV,YAAY;SACb,CAAC,CAAC;QAEH,OAAO,QAAQ,CAAC;IAClB,CAAC;IAEO,KAAK,CAAC,oBAAoB,CAAC,EACjC,UAAU,EACV,YAAY,GAIb;QACC,OAAO,CAAC,GAAG,CACT,8BAA8B,EAC9B,IAAI,CAAC,MAAM,CAAC,mBAAmB,CAChC,CAAC;QAEF,MAAM,kBAAkB,GAAG,IAAI,CAAC,WAAW,CACzC,IAAI,CAAC,MAAM,CAAC,mBAAmB,CAChC,CAAC;QACF,MAAM,IAAI,CAAC,eAAe,CAAC,kBAAkB,CAAC,CAAC;QAE/C,MAAM,EAAE,QAAQ,EAAE,GAAG,MAAM,IAAI,CAAC,qBAAqB,CAAC;YACpD,OAAO,EAAE,kBAAkB;YAC3B,UAAU;YACV,YAAY;SACb,CAAC,CAAC;QAEH,OAAO,QAAQ,CAAC;IAClB,CAAC;IAEO,KAAK,CAAC,oBAAoB;QAChC,OAAO,CAAC,GAAG,CAAC,4BAA4B,EAAE,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC;QAEzE,MAAM,iBAAiB,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC;QAC1E,MAAM,IAAI,CAAC,eAAe,CAAC,iBAAiB,CAAC,CAAC;QAE9C,MAAM,IAAI,CAAC,mBAAmB,CAAC;YAC7B,OAAO,EAAE,iBAAiB;SAC3B,CAAC,CAAC;IACL,CAAC;CACF"}
@@ -4,9 +4,30 @@ export interface SwcPluginOptions {
4
4
  mode: 'step' | 'workflow' | 'client';
5
5
  entriesToBundle?: string[];
6
6
  outdir?: string;
7
- tsPaths?: Record<string, string[]>;
8
- tsBaseUrl?: string;
7
+ projectRoot?: string;
9
8
  workflowManifest?: WorkflowManifest;
9
+ /**
10
+ * Rewrite TypeScript extensions (.ts, .tsx, .mts, .cts) to their JS
11
+ * equivalents (.js, .mjs, .cjs) in externalized import paths.
12
+ *
13
+ * Enable this when the output bundle is consumed directly by Node's native
14
+ * ESM loader (e.g. vitest), which cannot resolve .ts extensions.
15
+ *
16
+ * Leave disabled (default) when a downstream bundler (webpack, Vite, etc.)
17
+ * handles resolution — those tools resolve .ts natively and rewriting
18
+ * breaks them because the .js file doesn't exist on disk.
19
+ */
20
+ rewriteTsExtensions?: boolean;
21
+ /**
22
+ * Absolute file paths of discovered workflow/step/serde entries whose
23
+ * imports must be treated as side-effectful.
24
+ *
25
+ * The SWC compiler transform injects registration calls (workflow IDs,
26
+ * step IDs, class serialization, etc.) into these files. Without this
27
+ * override, esbuild honours `"sideEffects": false` from the package's
28
+ * `package.json` and silently drops bare imports of these modules.
29
+ */
30
+ sideEffectEntries?: string[];
10
31
  }
11
32
  export declare function createSwcPlugin(options: SwcPluginOptions): Plugin;
12
33
  //# sourceMappingURL=swc-esbuild-plugin.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"swc-esbuild-plugin.d.ts","sourceRoot":"","sources":["../src/swc-esbuild-plugin.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AACtC,OAAO,EAEL,KAAK,gBAAgB,EACtB,MAAM,0BAA0B,CAAC;AAMlC,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,MAAM,GAAG,UAAU,GAAG,QAAQ,CAAC;IACrC,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;IAC3B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;IACnC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,gBAAgB,CAAC,EAAE,gBAAgB,CAAC;CACrC;AA2BD,wBAAgB,eAAe,CAAC,OAAO,EAAE,gBAAgB,GAAG,MAAM,CAuMjE"}
1
+ {"version":3,"file":"swc-esbuild-plugin.d.ts","sourceRoot":"","sources":["../src/swc-esbuild-plugin.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AACtC,OAAO,EAEL,KAAK,gBAAgB,EACtB,MAAM,0BAA0B,CAAC;AAOlC,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,MAAM,GAAG,UAAU,GAAG,QAAQ,CAAC;IACrC,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;IAC3B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,gBAAgB,CAAC,EAAE,gBAAgB,CAAC;IACpC;;;;;;;;;;OAUG;IACH,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B;;;;;;;;OAQG;IACH,iBAAiB,CAAC,EAAE,MAAM,EAAE,CAAC;CAC9B;AAsCD,wBAAgB,eAAe,CAAC,OAAO,EAAE,gBAAgB,GAAG,MAAM,CAsSjE"}
@@ -4,6 +4,7 @@ import { promisify } from 'node:util';
4
4
  import enhancedResolveOrig from 'enhanced-resolve';
5
5
  import { applySwcTransform, } from './apply-swc-transform.js';
6
6
  import { jsTsRegex, parentHasChild, } from './discover-entries-esbuild-plugin.js';
7
+ import { resolveWorkflowAliasRelativePath } from './workflow-alias.js';
7
8
  const NODE_RESOLVE_OPTIONS = {
8
9
  dependencyType: 'commonjs',
9
10
  modules: ['node_modules'],
@@ -11,7 +12,18 @@ const NODE_RESOLVE_OPTIONS = {
11
12
  importsFields: ['imports'],
12
13
  conditionNames: ['node', 'require'],
13
14
  descriptionFiles: ['package.json'],
14
- extensions: ['.ts', '.mts', '.cjs', '.js', '.json', '.node'],
15
+ extensions: [
16
+ '.ts',
17
+ '.tsx',
18
+ '.mts',
19
+ '.cts',
20
+ '.cjs',
21
+ '.mjs',
22
+ '.js',
23
+ '.jsx',
24
+ '.json',
25
+ '.node',
26
+ ],
15
27
  enforceExtensions: false,
16
28
  symlinks: true,
17
29
  mainFields: ['main'],
@@ -43,48 +55,119 @@ export function createSwcPlugin(options) {
43
55
  return cjsResolver(context, path);
44
56
  }
45
57
  };
58
+ // Pre-compute the normalized side-effect entries set for O(1) lookups.
59
+ const normalizedSideEffectEntries = new Set(options.sideEffectEntries?.map((e) => e.replace(/\\/g, '/')));
46
60
  build.onResolve({ filter: /.*/ }, async (args) => {
47
- if (!options.entriesToBundle) {
61
+ if (args.pluginData?.skipSwcPlugin)
62
+ return null;
63
+ if (!options.entriesToBundle &&
64
+ normalizedSideEffectEntries.size === 0) {
65
+ return null;
66
+ }
67
+ // When only sideEffectEntries is set (no entriesToBundle), we only
68
+ // need to override sideEffects for top-level bare imports — typically
69
+ // from the virtual entry. Skip resolution for transitive imports
70
+ // (dynamic imports, requires, etc.) to avoid unnecessary overhead.
71
+ if (!options.entriesToBundle && args.kind !== 'import-statement') {
48
72
  return null;
49
73
  }
50
74
  try {
51
- let resolvedPath = args.path;
52
- // handle local imports e.g. ./hello or ../another
53
- if (args.path.startsWith('.')) {
54
- resolvedPath = await enhancedResolve(args.resolveDir, args.path);
75
+ const specifier = args.path;
76
+ const specifierIsPath = specifier.startsWith('.') || specifier.startsWith('/');
77
+ let resolvedPath;
78
+ // Determines whether the external path should be relativized
79
+ // (project-local file) or kept as a bare specifier (npm package).
80
+ let shouldMakeRelative = specifierIsPath;
81
+ if (specifierIsPath) {
82
+ resolvedPath = await enhancedResolve(args.resolveDir, specifier);
55
83
  }
56
84
  else {
57
- resolvedPath = await enhancedResolve(
58
- // `args.resolveDir` is not used here to ensure we only
59
- // externalize packages that can be resolved in the
60
- // project's working directory e.g. a nested dep can't
61
- // be externalized as we won't be able to resolve it once
62
- // it's parent has been bundled
63
- build.initialOptions.absWorkingDir || process.cwd(), args.path);
85
+ // Resolve from project root so nested deps aren't externalized
86
+ resolvedPath = await enhancedResolve(build.initialOptions.absWorkingDir || process.cwd(), specifier).catch(() => undefined); // swallow so esbuild fallback below can try
87
+ // Fall back to esbuild for aliases/tsconfig paths,
88
+ // but only accept project-local results
89
+ if (!resolvedPath) {
90
+ const esbuildResult = await build.resolve(specifier, {
91
+ resolveDir: args.resolveDir,
92
+ kind: args.kind,
93
+ pluginData: { skipSwcPlugin: true },
94
+ });
95
+ const didResolve = !!esbuildResult.path && !esbuildResult.errors.length;
96
+ const isProjectLocalFile = didResolve &&
97
+ !esbuildResult.external &&
98
+ !esbuildResult.path
99
+ .replace(/\\/g, '/')
100
+ .includes('/node_modules/');
101
+ if (isProjectLocalFile) {
102
+ resolvedPath = esbuildResult.path;
103
+ shouldMakeRelative = true;
104
+ }
105
+ }
64
106
  }
65
107
  if (!resolvedPath)
66
108
  return null;
67
109
  // Normalize to forward slashes for cross-platform comparison
68
110
  const normalizedResolvedPath = resolvedPath.replace(/\\/g, '/');
69
- for (const entryToBundle of options.entriesToBundle) {
70
- const normalizedEntry = entryToBundle.replace(/\\/g, '/');
71
- if (normalizedResolvedPath === normalizedEntry) {
72
- return null;
111
+ // Check if this module is a discovered entry whose SWC-transformed
112
+ // code contains side effects (workflow/step/class registration).
113
+ // Override the package.json "sideEffects": false so esbuild does not
114
+ // drop bare imports of these modules.
115
+ const hasSideEffects = normalizedSideEffectEntries.has(normalizedResolvedPath);
116
+ if (options.entriesToBundle) {
117
+ let shouldBundle = false;
118
+ for (const entryToBundle of options.entriesToBundle) {
119
+ const normalizedEntry = entryToBundle.replace(/\\/g, '/');
120
+ if (normalizedResolvedPath === normalizedEntry) {
121
+ shouldBundle = true;
122
+ break;
123
+ }
124
+ // if the current entry imports a child that needs
125
+ // to be bundled then it needs to also be bundled so
126
+ // that the child can have our transform applied
127
+ if (parentHasChild(normalizedResolvedPath, normalizedEntry)) {
128
+ shouldBundle = true;
129
+ break;
130
+ }
131
+ }
132
+ if (shouldBundle) {
133
+ // Let esbuild bundle this entry, but override sideEffects if needed.
134
+ // We must return the resolved `path` alongside `sideEffects` because
135
+ // returning only `{ sideEffects: true }` without a path causes esbuild
136
+ // to fall through to its own resolver, which re-reads the package.json
137
+ // and applies `"sideEffects": false` from there.
138
+ return hasSideEffects
139
+ ? { path: resolvedPath, sideEffects: true }
140
+ : null;
73
141
  }
74
- // if the current entry imports a child that needs
75
- // to be bundled then it needs to also be bundled so
76
- // that the child can have our transform applied
77
- if (parentHasChild(normalizedResolvedPath, normalizedEntry)) {
78
- return null;
142
+ let externalPath;
143
+ if (shouldMakeRelative) {
144
+ externalPath = relative(options.outdir || process.cwd(), resolvedPath).replace(/\\/g, '/');
145
+ if (options.rewriteTsExtensions) {
146
+ // Rewrite TypeScript extensions to their JS equivalents so the
147
+ // externalized import is loadable by Node's native ESM loader.
148
+ externalPath = externalPath
149
+ .replace(/\.tsx?$/, '.js')
150
+ .replace(/\.mts$/, '.mjs')
151
+ .replace(/\.cts$/, '.cjs');
152
+ }
79
153
  }
154
+ else {
155
+ externalPath = specifier;
156
+ }
157
+ return {
158
+ external: true,
159
+ path: externalPath,
160
+ sideEffects: hasSideEffects || undefined,
161
+ };
80
162
  }
81
- const isFilePath = args.path.startsWith('.') || args.path.startsWith('/');
82
- return {
83
- external: true,
84
- path: isFilePath
85
- ? relative(options.outdir || process.cwd(), resolvedPath).replace(/\\/g, '/')
86
- : args.path,
87
- };
163
+ // No entriesToBundle only override sideEffects when needed.
164
+ // We must return the resolved `path` alongside `sideEffects` because
165
+ // returning only `{ sideEffects: true }` without a path causes esbuild
166
+ // to fall through to its own resolver, which re-reads the package.json
167
+ // and applies `"sideEffects": false` from there.
168
+ return hasSideEffects
169
+ ? { path: resolvedPath, sideEffects: true }
170
+ : null;
88
171
  }
89
172
  catch (_) { }
90
173
  return null;
@@ -92,17 +175,23 @@ export function createSwcPlugin(options) {
92
175
  // Handle TypeScript and JavaScript files
93
176
  build.onLoad({ filter: jsTsRegex }, async (args) => {
94
177
  // Determine if this is a TypeScript file
95
- const isTypeScript = args.path.endsWith('.ts') || args.path.endsWith('.tsx');
96
178
  try {
97
179
  // Determine the loader based on the output
98
180
  let loader = 'js';
99
- if (!isTypeScript && args.path.endsWith('.jsx')) {
181
+ if (args.path.endsWith('.jsx')) {
100
182
  loader = 'jsx';
101
183
  }
184
+ else if (args.path.endsWith('.tsx')) {
185
+ loader = 'tsx';
186
+ }
102
187
  const source = await readFile(args.path, 'utf8');
188
+ const normalizedSource = source
189
+ .replace(/require\(\s*(['"])server-only\1\s*\)/g, 'void 0')
190
+ .replace(/require\(\s*(['"])client-only\1\s*\)/g, 'void 0');
103
191
  // Calculate relative path for SWC plugin
104
192
  // The filename parameter is used to generate workflowId/stepId, so it must be relative
105
193
  const workingDir = build.initialOptions.absWorkingDir || process.cwd();
194
+ const projectRoot = options.projectRoot || workingDir;
106
195
  // Normalize paths: convert backslashes to forward slashes and remove trailing slashes
107
196
  const normalizedWorkingDir = workingDir
108
197
  .replace(/\\/g, '/')
@@ -129,10 +218,16 @@ export function createSwcPlugin(options) {
129
218
  // Handle files discovered outside the working directory
130
219
  // These come back as ../path/to/file, but we want just path/to/file
131
220
  if (relativeFilepath.startsWith('../')) {
132
- relativeFilepath = relativeFilepath
133
- .split('/')
134
- .filter((part) => part !== '..')
135
- .join('/');
221
+ const aliasedRelativePath = await resolveWorkflowAliasRelativePath(args.path, workingDir);
222
+ if (aliasedRelativePath) {
223
+ relativeFilepath = aliasedRelativePath;
224
+ }
225
+ else {
226
+ relativeFilepath = relativeFilepath
227
+ .split('/')
228
+ .filter((part) => part !== '..')
229
+ .join('/');
230
+ }
136
231
  }
137
232
  }
138
233
  // Final safety check - ensure we never pass an absolute path to SWC
@@ -142,19 +237,14 @@ export function createSwcPlugin(options) {
142
237
  console.error(`[ERROR] relativeFilepath is still absolute: ${relativeFilepath}`);
143
238
  relativeFilepath = normalizedPath.split('/').pop() || 'unknown.ts';
144
239
  }
145
- const { code: transformedCode, workflowManifest } = await applySwcTransform(relativeFilepath, source, options.mode,
146
- // we need to provide the tsconfig/jsconfig
147
- // alias via swc so that we can resolve them
148
- // with our custom resolve logic
149
- {
150
- paths: options.tsPaths,
151
- baseUrl: options.tsBaseUrl,
152
- });
240
+ const { code: transformedCode, workflowManifest } = await applySwcTransform(relativeFilepath, normalizedSource, options.mode, args.path, // Pass absolute path for module specifier resolution
241
+ projectRoot);
153
242
  if (!options.workflowManifest) {
154
243
  options.workflowManifest = {};
155
244
  }
156
245
  options.workflowManifest.workflows = Object.assign(options.workflowManifest.workflows || {}, workflowManifest.workflows);
157
246
  options.workflowManifest.steps = Object.assign(options.workflowManifest.steps || {}, workflowManifest.steps);
247
+ options.workflowManifest.classes = Object.assign(options.workflowManifest.classes || {}, workflowManifest.classes);
158
248
  return {
159
249
  contents: transformedCode,
160
250
  loader,
@@ -1 +1 @@
1
- {"version":3,"file":"swc-esbuild-plugin.js","sourceRoot":"","sources":["../src/swc-esbuild-plugin.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"swc-esbuild-plugin.js","sourceRoot":"","sources":["../src/swc-esbuild-plugin.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=swc-esbuild-plugin.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"swc-esbuild-plugin.test.d.ts","sourceRoot":"","sources":["../src/swc-esbuild-plugin.test.ts"],"names":[],"mappings":""}