@workflow/rollup 5.0.0-beta.4 → 5.0.0-beta.40
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +26 -2
- package/package.json +9 -5
- package/dist/index.js.map +0 -1
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAErC,MAAM,WAAW,8BAA8B;IAC7C;;;OAGG;IACH,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;CACpB;AAED,wBAAgB,uBAAuB,CACrC,OAAO,GAAE,8BAAmC,GAC3C,MAAM,CA+IR"}
|
package/dist/index.js
CHANGED
|
@@ -1,11 +1,35 @@
|
|
|
1
1
|
import { relative } from 'node:path';
|
|
2
2
|
import { transform } from '@swc/core';
|
|
3
|
-
import { detectWorkflowPatterns, isGeneratedWorkflowFile, resolveModuleSpecifier, shouldTransformFile, } from '@workflow/builders';
|
|
3
|
+
import { detectWorkflowPatterns, isGeneratedWorkflowFile, resolveModuleSpecifier, shouldTransformFile, WORKFLOW_OPTIONAL_OTEL_API_MODULE, } from '@workflow/builders';
|
|
4
4
|
import { resolveModulePath } from 'exsolve';
|
|
5
5
|
export function workflowTransformPlugin(options = {}) {
|
|
6
6
|
const { exclude = [] } = options;
|
|
7
7
|
return {
|
|
8
8
|
name: 'workflow:transform',
|
|
9
|
+
resolveId: {
|
|
10
|
+
order: 'pre',
|
|
11
|
+
async handler(source, importer, options) {
|
|
12
|
+
// `@opentelemetry/api` is an optional peer the SDK imports lazily.
|
|
13
|
+
// Externalize it ONLY when it isn't installed: otherwise Rollup/Vite
|
|
14
|
+
// fails the build with "failed to resolve import '@opentelemetry/api'"
|
|
15
|
+
// when the peer is absent (observed in SvelteKit's pipeline). When the
|
|
16
|
+
// peer IS installed we must let it resolve and bundle normally — a
|
|
17
|
+
// self-contained output (Nitro's `.output/server`, esbuild) ships no
|
|
18
|
+
// node_modules, so forcing it external there strands the runtime
|
|
19
|
+
// `import('@opentelemetry/api')` and crashes the server with
|
|
20
|
+
// ERR_MODULE_NOT_FOUND. Externalize (not a stub alias) so tracing still
|
|
21
|
+
// loads the real API at runtime when present.
|
|
22
|
+
if (source === WORKFLOW_OPTIONAL_OTEL_API_MODULE ||
|
|
23
|
+
source.startsWith(`${WORKFLOW_OPTIONAL_OTEL_API_MODULE}/`)) {
|
|
24
|
+
const resolved = await this.resolve(source, importer, {
|
|
25
|
+
...options,
|
|
26
|
+
skipSelf: true,
|
|
27
|
+
});
|
|
28
|
+
return resolved ?? { id: source, external: true };
|
|
29
|
+
}
|
|
30
|
+
return null;
|
|
31
|
+
},
|
|
32
|
+
},
|
|
9
33
|
// This transform applies the "use workflow"/"use step"
|
|
10
34
|
// step transformation
|
|
11
35
|
async transform(code, id) {
|
|
@@ -104,4 +128,4 @@ export function workflowTransformPlugin(options = {}) {
|
|
|
104
128
|
},
|
|
105
129
|
};
|
|
106
130
|
}
|
|
107
|
-
//# sourceMappingURL=index.js.map
|
|
131
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUNyQyxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBQ3RDLE9BQU8sRUFDTCxzQkFBc0IsRUFDdEIsdUJBQXVCLEVBQ3ZCLHNCQUFzQixFQUN0QixtQkFBbUIsRUFDbkIsaUNBQWlDLEdBQ2xDLE1BQU0sb0JBQW9CLENBQUM7QUFDNUIsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sU0FBUyxDQUFDO0FBVzVDLE1BQU0sVUFBVSx1QkFBdUIsQ0FDckMsVUFBMEMsRUFBRTtJQUU1QyxNQUFNLEVBQUUsT0FBTyxHQUFHLEVBQUUsRUFBRSxHQUFHLE9BQU8sQ0FBQztJQUVqQyxPQUFPO1FBQ0wsSUFBSSxFQUFFLG9CQUFvQjtRQUMxQixTQUFTLEVBQUU7WUFDVCxLQUFLLEVBQUUsS0FBSztZQUNaLEtBQUssQ0FBQyxPQUFPLENBQUMsTUFBTSxFQUFFLFFBQVEsRUFBRSxPQUFPO2dCQUNyQyxtRUFBbUU7Z0JBQ25FLHFFQUFxRTtnQkFDckUsdUVBQXVFO2dCQUN2RSx1RUFBdUU7Z0JBQ3ZFLG1FQUFtRTtnQkFDbkUscUVBQXFFO2dCQUNyRSxpRUFBaUU7Z0JBQ2pFLDZEQUE2RDtnQkFDN0Qsd0VBQXdFO2dCQUN4RSw4Q0FBOEM7Z0JBQzlDLElBQ0UsTUFBTSxLQUFLLGlDQUFpQztvQkFDNUMsTUFBTSxDQUFDLFVBQVUsQ0FBQyxHQUFHLGlDQUFpQyxHQUFHLENBQUMsRUFDMUQsQ0FBQztvQkFDRCxNQUFNLFFBQVEsR0FBRyxNQUFNLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxFQUFFLFFBQVEsRUFBRTt3QkFDcEQsR0FBRyxPQUFPO3dCQUNWLFFBQVEsRUFBRSxJQUFJO3FCQUNmLENBQUMsQ0FBQztvQkFDSCxPQUFPLFFBQVEsSUFB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QkFDTCxPQUFPLEVBQUUsVUFBVTt5QkFDcEI7cUJBQ0Y7aUJBQ0Y7Z0JBQ0QsTUFBTSxFQUFFLEtBQUs7Z0JBQ2IsVUFBVSxFQUFFLElBQUk7Z0JBQ2hCLG9CQUFvQixFQUFFLElBQUk7YUFDM0IsQ0FBQyxDQUFDO1lBRUgsT0FBTztnQkFDTCxJQUFJLEVBQUUsTUFBTSxDQUFDLElBQUk7Z0JBQ2pCLEdBQUcsRUFBRSxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSTthQUNoRCxDQUFDO1FBQ0osQ0FBQztLQUNGLENBQUM7QUFDSixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgcmVsYXRpdmUgfSBmcm9tICdub2RlOnBhdGgnO1xuaW1wb3J0IHsgdHJhbnNmb3JtIH0gZnJvbSAnQHN3Yy9jb3JlJztcbmltcG9ydCB7XG4gIGRldGVjdFdvcmtmbG93UGF0dGVybnMsXG4gIGlzR2VuZXJhdGVkV29ya2Zsb3dGaWxlLFxuICByZXNvbHZlTW9kdWxlU3BlY2lmaWVyLFxuICBzaG91bGRUcmFuc2Zvcm1GaWxlLFxuICBXT1JLRkxPV19PUFRJT05BTF9PVEVMX0FQSV9NT0RVTEUsXG59IGZyb20gJ0B3b3JrZmxvdy9idWlsZGVycyc7XG5pbXBvcnQgeyByZXNvbHZlTW9kdWxlUGF0aCB9IGZyb20gJ2V4c29sdmUnO1xuaW1wb3J0IHR5cGUgeyBQbHVnaW4gfSBmcm9tICdyb2xsdXAnO1xuXG5leHBvcnQgaW50ZXJmYWNlIFdvcmtmbG93VHJhbnNmb3JtUGx1Z2luT3B0aW9ucyB7XG4gIC8qKlxuICAgKiBEaXJlY3RvcmllcyB0byBleGNsdWRlIGZyb20gdHJhbnNmb3JtYXRpb24gKGUuZy4sIHByZS1idWlsdCB3b3JrZmxvdyBidW5kbGVzKS5cbiAgICogUGF0aHMgc2hvdWxkIHVzZSBmb3J3YXJkIHNsYXNoZXMgYW5kIHdpbGwgYmUgbWF0Y2hlZCBhcyBwcmVmaXhlcy5cbiAgICovXG4gIGV4Y2x1ZGU/OiBzdHJpbmdbXTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHdvcmtmbG93VHJhbnNmb3JtUGx1Z2luKFxuICBvcHRpb25zOiBXb3JrZmxvd1RyYW5zZm9ybVBsdWdpbk9wdGlvbnMgPSB7fVxuKTogUGx1Z2luIHtcbiAgY29uc3QgeyBleGNsdWRlID0gW10gfSA9IG9wdGlvbnM7XG5cbiAgcmV0dXJuIHtcbiAgICBuYW1lOiAnd29ya2Zsb3c6dHJhbnNmb3JtJyxcbiAgICByZXNvbHZlSWQ6IHtcbiAgICAgIG9yZGVyOiAncHJlJyxcbiAgICAgIGFzeW5jIGhhbmRsZXIoc291cmNlLCBpbXBvcnRlciwgb3B0aW9ucykge1xuICAgICAgICAvLyBgQG9wZW50ZWxlbWV0cnkvYXBpYCBpcyBhbiBvcHRpb25hbCBwZWVyIHRoZSBTREsgaW1wb3J0cyBsYXppbHkuXG4gICAgICAgIC8vIEV4dGVybmFsaXplIGl0IE9OTFkgd2hlbiBpdCBpc24ndCBpbnN0YWxsZWQ6IG90aGVyd2lzZSBSb2xsdXAvVml0ZVxuICAgICAgICAvLyBmYWlscyB0aGUgYnVpbGQgd2l0aCBcImZhaWxlZCB0byByZXNvbHZlIGltcG9ydCAnQG9wZW50ZWxlbWV0cnkvYXBpJ1wiXG4gICAgICAgIC8vIHdoZW4gdGhlIHBlZXIgaXMgYWJzZW50IChvYnNlcnZlZCBpbiBTdmVsdGVLaXQncyBwaXBlbGluZSkuIFdoZW4gdGhlXG4gICAgICAgIC8vIHBlZXIgSVMgaW5zdGFsbGVkIHdlIG11c3QgbGV0IGl0IHJlc29sdmUgYW5kIGJ1bmRsZSBub3JtYWxseSDigJQgYVxuICAgICAgICAvLyBzZWxmLWNvbnRhaW5lZCBvdXRwdXQgKE5pdHJvJ3MgYC5vdXRwdXQvc2VydmVyYCwgZXNidWlsZCkgc2hpcHMgbm9cbiAgICAgICAgLy8gbm9kZV9tb2R1bGVzLCBzbyBmb3JjaW5nIGl0IGV4dGVybmFsIHRoZXJlIHN0cmFuZHMgdGhlIHJ1bnRpbWVcbiAgICAgICAgLy8gYGltcG9ydCgnQG9wZW50ZWxlbWV0cnkvYXBpJylgIGFuZCBjcmFzaGVzIHRoZSBzZXJ2ZXIgd2l0aFxuICAgICAgICAvLyBFUlJfTU9EVUxFX05PVF9GT1VORC4gRXh0ZXJuYWxpemUgKG5vdCBhIHN0dWIgYWxpYXMpIHNvIHRyYWNpbmcgc3RpbGxcbiAgICAgICAgLy8gbG9hZHMgdGhlIHJlYWwgQVBJIGF0IHJ1bnRpbWUgd2hlbiBwcmVzZW50LlxuICAgICAgICBpZiAoXG4gICAgICAgICAgc291cmNlID09PSBXT1JLRkxPV19PUFRJT05BTF9PVEVMX0FQSV9NT0RVTEUgfHxcbiAgICAgICAgICBzb3VyY2Uuc3RhcnRzV2l0aChgJHtXT1JLRkxPV19PUFRJT05BTF9PVEVMX0FQSV9NT0RVTEV9L2ApXG4gICAgICAgICkge1xuICAgICAgICAgIGNvbnN0IHJlc29sdmVkID0gYXdhaXQgdGhpcy5yZXNvbHZlKHNvdXJjZSwgaW1wb3J0ZXIsIHtcbiAgICAgICAgICAgIC4uLm9wdGlvbnMsXG4gICAgICAgICAgICBza2lwU2VsZjogdHJ1ZSxcbiAgICAgICAgICB9KTtcbiAgICAgICAgICByZXR1cm4gcmVzb2x2ZWQgPz8geyBpZDogc291cmNlLCBleHRlcm5hbDogdHJ1ZSB9O1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICB9LFxuICAgIH0sXG4gICAgLy8gVGhpcyB0cmFuc2Zvcm0gYXBwbGllcyB0aGUgXCJ1c2Ugd29ya2Zsb3dcIi9cInVzZSBzdGVwXCJcbiAgICAvLyBzdGVwIHRyYW5zZm9ybWF0aW9uXG4gICAgYXN5bmMgdHJhbnNmb3JtKGNvZGU6IHN0cmluZywgaWQ6IHN0cmluZykge1xuICAgICAgLy8gU2tpcCBnZW5lcmF0ZWQgd29ya2Zsb3cgcm91dGUgZmlsZXMgdG8gYXZvaWQgcmUtcHJvY2Vzc2luZyB0aGVtXG4gICAgICBpZiAoaXNHZW5lcmF0ZWRXb3JrZmxvd0ZpbGUoaWQpKSB7XG4gICAgICAgIHJldHVybiBudWxsO1xuICAgICAgfVxuXG4gICAgICAvLyBTa2lwIGZpbGVzIGluIGV4Y2x1ZGVkIGRpcmVjdG9yaWVzIChlLmcuLCBwcmUtYnVpbHQgd29ya2Zsb3cgYnVuZGxlcylcbiAgICAgIGNvbnN0IG5vcm1hbGl6ZWRJZCA9IGlkLnJlcGxhY2UoL1xcXFwvZywgJy8nKTtcbiAgICAgIGZvciAoY29uc3QgZXhjbHVkZVBhdGggb2YgZXhjbHVkZSkge1xuICAgICAgICBjb25zdCBub3JtYWxpemVkRXhjbHVkZSA9IGV4Y2x1ZGVQYXRoLnJlcGxhY2UoL1xcXFwvZywgJy8nKTtcbiAgICAgICAgaWYgKG5vcm1hbGl6ZWRJZC5zdGFydHNXaXRoKG5vcm1hbGl6ZWRFeGNsdWRlKSkge1xuICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIGNvbnN0IHBhdHRlcm5zID0gZGV0ZWN0V29ya2Zsb3dQYXR0ZXJucyhjb2RlKTtcblxuICAgICAgaWYgKCFzaG91bGRUcmFuc2Zvcm1GaWxlKGlkLCBwYXR0ZXJucykpIHtcbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICB9XG5cbiAgICAgIGNvbnN0IGlzVHlwZVNjcmlwdCA9XG4gICAgICAgIGlkLmVuZHNXaXRoKCcudHMnKSB8fFxuICAgICAgICBpZC5lbmRzV2l0aCgnLnRzeCcpIHx8XG4gICAgICAgIGlkLmVuZHNXaXRoKCcubXRzJykgfHxcbiAgICAgICAgaWQuZW5kc1dpdGgoJy5jdHMnKTtcblxuICAgICAgY29uc3Qgc3djUGx1Z2luID0gcmVzb2x2ZU1vZHVsZVBhdGgoJ0B3b3JrZmxvdy9zd2MtcGx1Z2luJywge1xuICAgICAgICBmcm9tOiBbaW1wb3J0Lm1ldGEudXJsXSxcbiAgICAgIH0pO1xuXG4gICAgICAvLyBDYWxjdWxhdGUgcmVsYXRpdmUgZmlsZW5hbWUgZm9yIFNXQyBwbHVnaW5cbiAgICAgIC8vIFRoZSBTV0MgcGx1Z2luIHVzZXMgZmlsZW5hbWUgdG8gZ2VuZXJhdGUgd29ya2Zsb3dJZCwgc28gaXQgbXVzdCBiZSByZWxhdGl2ZVxuICAgICAgY29uc3Qgd29ya2luZ0RpciA9IHByb2Nlc3MuY3dkKCk7XG4gICAgICBjb25zdCBub3JtYWxpemVkV29ya2luZ0RpciA9IHdvcmtpbmdEaXJcbiAgICAgICAgLnJlcGxhY2UoL1xcXFwvZywgJy8nKVxuICAgICAgICAucmVwbGFjZSgvXFwvJC8sICcnKTtcbiAgICAgIGNvbnN0IG5vcm1hbGl6ZWRGaWxlcGF0aCA9IGlkLnJlcGxhY2UoL1xcXFwvZywgJy8nKTtcblxuICAgICAgLy8gV2luZG93cyBmaXg6IFVzZSBjYXNlLWluc2Vuc2l0aXZlIGNvbXBhcmlzb24gdG8gd29yayBhcm91bmQgZHJpdmUgbGV0dGVyIGNhc2luZyBpc3N1ZXNcbiAgICAgIGNvbnN0IGxvd2VyV2QgPSBub3JtYWxpemVkV29ya2luZ0Rpci50b0xvd2VyQ2FzZSgpO1xuICAgICAgY29uc3QgbG93ZXJQYXRoID0gbm9ybWFsaXplZEZpbGVwYXRoLnRvTG93ZXJDYXNlKCk7XG5cbiAgICAgIGxldCByZWxhdGl2ZUZpbGVuYW1lOiBzdHJpbmc7XG4gICAgICBpZiAobG93ZXJQYXRoLnN0YXJ0c1dpdGgoYCR7bG93ZXJXZH0vYCkpIHtcbiAgICAgICAgLy8gRmlsZSBpcyB1bmRlciB3b3JraW5nIGRpcmVjdG9yeSAtIG1hbnVhbGx5IGNhbGN1bGF0ZSByZWxhdGl2ZSBwYXRoXG4gICAgICAgIHJlbGF0aXZlRmlsZW5hbWUgPSBub3JtYWxpemVkRmlsZXBhdGguc3Vic3RyaW5nKFxuICAgICAgICAgIG5vcm1hbGl6ZWRXb3JraW5nRGlyLmxlbmd0aCArIDFcbiAgICAgICAgKTtcbiAgICAgIH0gZWxzZSBpZiAobG93ZXJQYXRoID09PSBsb3dlcldkKSB7XG4gICAgICAgIC8vIEZpbGUgSVMgdGhlIHdvcmtpbmcgZGlyZWN0b3J5IChzaG91bGRuJ3QgaGFwcGVuKVxuICAgICAgICByZWxhdGl2ZUZpbGVuYW1lID0gJy4nO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgLy8gVXNlIHJlbGF0aXZlKCkgZm9yIGZpbGVzIG91dHNpZGUgd29ya2luZyBkaXJlY3RvcnlcbiAgICAgICAgcmVsYXRpdmVGaWxlbmFtZSA9IHJlbGF0aXZlKHdvcmtpbmdEaXIsIGlkKS5yZXBsYWNlKC9cXFxcL2csICcvJyk7XG5cbiAgICAgICAgaWYgKHJlbGF0aXZlRmlsZW5hbWUuc3RhcnRzV2l0aCgnLi4vJykpIHtcbiAgICAgICAgICByZWxhdGl2ZUZpbGVuYW1lID0gcmVsYXRpdmVGaWxlbmFtZVxuICAgICAgICAgICAgLnNwbGl0KCcvJylcbiAgICAgICAgICAgIC5maWx0ZXIoKHBhcnQpID0+IHBhcnQgIT09ICcuLicpXG4gICAgICAgICAgICAuam9pbignLycpO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC8vIEZpbmFsIHNhZmV0eSBjaGVjayAtIGVuc3VyZSB3ZSBuZXZlciBwYXNzIGFuIGFic29sdXRlIHBhdGggdG8gU1dDXG4gICAgICBpZiAocmVsYXRpdmVGaWxlbmFtZS5pbmNsdWRlcygnOicpIHx8IHJlbGF0aXZlRmlsZW5hbWUuc3RhcnRzV2l0aCgnLycpKSB7XG4gICAgICAgIC8vIFRoaXMgc2hvdWxkIHJhcmVseSBoYXBwZW4sIGJ1dCB1c2UgZmlsZW5hbWUgc3BsaXQgYXMgbGFzdCByZXNvcnRcbiAgICAgICAgcmVsYXRpdmVGaWxlbmFtZSA9IG5vcm1hbGl6ZWRGaWxlcGF0aC5zcGxpdCgnLycpLnBvcCgpIHx8ICd1bmtub3duLnRzJztcbiAgICAgIH1cblxuICAgICAgLy8gUmVzb2x2ZSBtb2R1bGUgc3BlY2lmaWVyIGZvciBwYWNrYWdlcyAobm9kZV9tb2R1bGVzIG9yIHdvcmtzcGFjZSBwYWNrYWdlcylcbiAgICAgIGNvbnN0IHsgbW9kdWxlU3BlY2lmaWVyIH0gPSByZXNvbHZlTW9kdWxlU3BlY2lmaWVyKGlkLCB3b3JraW5nRGlyKTtcblxuICAgICAgLy8gVHJhbnNmb3JtIHdpdGggU1dDXG4gICAgICBjb25zdCByZXN1bHQgPSBhd2FpdCB0cmFuc2Zvcm0oY29kZSwge1xuICAgICAgICBmaWxlbmFtZTogcmVsYXRpdmVGaWxlbmFtZSxcbiAgICAgICAganNjOiB7XG4gICAgICAgICAgcGFyc2VyOiB7XG4gICAgICAgICAgICAuLi4oaXNUeXBlU2NyaXB0XG4gICAgICAgICAgICAgID8ge1xuICAgICAgICAgICAgICAgICAgc3ludGF4OiAndHlwZXNjcmlwdCcsXG4gICAgICAgICAgICAgICAgICB0c3g6IGlkLmVuZHNXaXRoKCcudHN4JyksXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICA6IHtcbiAgICAgICAgICAgICAgICAgIHN5bnRheDogJ2VjbWFzY3JpcHQnLFxuICAgICAgICAgICAgICAgICAganN4OiBpZC5lbmRzV2l0aCgnLmpzeCcpLFxuICAgICAgICAgICAgICAgIH0pLFxuICAgICAgICAgIH0sXG4gICAgICAgICAgdGFyZ2V0OiAnZXMyMDIyJyxcbiAgICAgICAgICBleHBlcmltZW50YWw6IHtcbiAgICAgICAgICAgIHBsdWdpbnM6IFtbc3djUGx1Z2luLCB7IG1vZGU6ICdzdGVwJywgbW9kdWxlU3BlY2lmaWVyIH1dXSxcbiAgICAgICAgICB9LFxuICAgICAgICAgIHRyYW5zZm9ybToge1xuICAgICAgICAgICAgcmVhY3Q6IHtcbiAgICAgICAgICAgICAgcnVudGltZTogJ3ByZXNlcnZlJyxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgfSxcbiAgICAgICAgfSxcbiAgICAgICAgbWluaWZ5OiBmYWxzZSxcbiAgICAgICAgc291cmNlTWFwczogdHJ1ZSxcbiAgICAgICAgaW5saW5lU291cmNlc0NvbnRlbnQ6IHRydWUsXG4gICAgICB9KTtcblxuICAgICAgcmV0dXJuIHtcbiAgICAgICAgY29kZTogcmVzdWx0LmNvZGUsXG4gICAgICAgIG1hcDogcmVzdWx0Lm1hcCA/IEpTT04ucGFyc2UocmVzdWx0Lm1hcCkgOiBudWxsLFxuICAgICAgfTtcbiAgICB9LFxuICB9O1xufVxuIl19
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@workflow/rollup",
|
|
3
|
-
"version": "5.0.0-beta.
|
|
3
|
+
"version": "5.0.0-beta.40",
|
|
4
4
|
"description": "Rollup plugin for Workflow SDK",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "dist/index.js",
|
|
@@ -22,17 +22,21 @@
|
|
|
22
22
|
"dependencies": {
|
|
23
23
|
"@swc/core": "1.15.3",
|
|
24
24
|
"exsolve": "1.0.7",
|
|
25
|
-
"@workflow/builders": "5.0.0-beta.
|
|
26
|
-
"@workflow/swc-plugin": "5.0.0-beta.
|
|
25
|
+
"@workflow/builders": "5.0.0-beta.40",
|
|
26
|
+
"@workflow/swc-plugin": "5.0.0-beta.5"
|
|
27
27
|
},
|
|
28
28
|
"devDependencies": {
|
|
29
29
|
"@types/node": "22.19.0",
|
|
30
|
-
"rollup": "^4.
|
|
30
|
+
"rollup": "^4.62.2",
|
|
31
|
+
"typescript": "^6.0.3",
|
|
32
|
+
"vitest": "^4.1.10",
|
|
31
33
|
"@workflow/tsconfig": "5.0.0-beta.0"
|
|
32
34
|
},
|
|
33
35
|
"scripts": {
|
|
34
36
|
"build": "tsc",
|
|
35
37
|
"dev": "tsc --watch",
|
|
36
|
-
"clean": "tsc --build --clean && rm -rf dist"
|
|
38
|
+
"clean": "tsc --build --clean && rm -rf dist",
|
|
39
|
+
"test": "vitest run src",
|
|
40
|
+
"typecheck": "tsc --noEmit"
|
|
37
41
|
}
|
|
38
42
|
}
|
package/dist/index.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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","sourcesContent":["import { relative } from 'node:path';\nimport { transform } from '@swc/core';\nimport {\n detectWorkflowPatterns,\n isGeneratedWorkflowFile,\n resolveModuleSpecifier,\n shouldTransformFile,\n} from '@workflow/builders';\nimport { resolveModulePath } from 'exsolve';\nimport type { Plugin } from 'rollup';\n\nexport interface WorkflowTransformPluginOptions {\n /**\n * Directories to exclude from transformation (e.g., pre-built workflow bundles).\n * Paths should use forward slashes and will be matched as prefixes.\n */\n exclude?: string[];\n}\n\nexport function workflowTransformPlugin(\n options: WorkflowTransformPluginOptions = {}\n): Plugin {\n const { exclude = [] } = options;\n\n return {\n name: 'workflow:transform',\n // This transform applies the \"use workflow\"/\"use step\"\n // step transformation\n async transform(code: string, id: string) {\n // Skip generated workflow route files to avoid re-processing them\n if (isGeneratedWorkflowFile(id)) {\n return null;\n }\n\n // Skip files in excluded directories (e.g., pre-built workflow bundles)\n const normalizedId = id.replace(/\\\\/g, '/');\n for (const excludePath of exclude) {\n const normalizedExclude = excludePath.replace(/\\\\/g, '/');\n if (normalizedId.startsWith(normalizedExclude)) {\n return null;\n }\n }\n\n const patterns = detectWorkflowPatterns(code);\n\n if (!shouldTransformFile(id, patterns)) {\n return null;\n }\n\n const isTypeScript =\n id.endsWith('.ts') ||\n id.endsWith('.tsx') ||\n id.endsWith('.mts') ||\n id.endsWith('.cts');\n\n const swcPlugin = resolveModulePath('@workflow/swc-plugin', {\n from: [import.meta.url],\n });\n\n // Calculate relative filename for SWC plugin\n // The SWC plugin uses filename to generate workflowId, so it must be relative\n const workingDir = process.cwd();\n const normalizedWorkingDir = workingDir\n .replace(/\\\\/g, '/')\n .replace(/\\/$/, '');\n const normalizedFilepath = id.replace(/\\\\/g, '/');\n\n // Windows fix: Use case-insensitive comparison to work around drive letter casing issues\n const lowerWd = normalizedWorkingDir.toLowerCase();\n const lowerPath = normalizedFilepath.toLowerCase();\n\n let relativeFilename: string;\n if (lowerPath.startsWith(`${lowerWd}/`)) {\n // File is under working directory - manually calculate relative path\n relativeFilename = normalizedFilepath.substring(\n normalizedWorkingDir.length + 1\n );\n } else if (lowerPath === lowerWd) {\n // File IS the working directory (shouldn't happen)\n relativeFilename = '.';\n } else {\n // Use relative() for files outside working directory\n relativeFilename = relative(workingDir, id).replace(/\\\\/g, '/');\n\n if (relativeFilename.startsWith('../')) {\n relativeFilename = relativeFilename\n .split('/')\n .filter((part) => part !== '..')\n .join('/');\n }\n }\n\n // Final safety check - ensure we never pass an absolute path to SWC\n if (relativeFilename.includes(':') || relativeFilename.startsWith('/')) {\n // This should rarely happen, but use filename split as last resort\n relativeFilename = normalizedFilepath.split('/').pop() || 'unknown.ts';\n }\n\n // Resolve module specifier for packages (node_modules or workspace packages)\n const { moduleSpecifier } = resolveModuleSpecifier(id, workingDir);\n\n // Transform with SWC\n const result = await transform(code, {\n filename: relativeFilename,\n jsc: {\n parser: {\n ...(isTypeScript\n ? {\n syntax: 'typescript',\n tsx: id.endsWith('.tsx'),\n }\n : {\n syntax: 'ecmascript',\n jsx: id.endsWith('.jsx'),\n }),\n },\n target: 'es2022',\n experimental: {\n plugins: [[swcPlugin, { mode: 'step', moduleSpecifier }]],\n },\n transform: {\n react: {\n runtime: 'preserve',\n },\n },\n },\n minify: false,\n sourceMaps: true,\n inlineSourcesContent: true,\n });\n\n return {\n code: result.code,\n map: result.map ? JSON.parse(result.map) : null,\n };\n },\n };\n}\n"]}
|