@distilled.cloud/cloudflare-rolldown-plugin 0.2.0 → 0.3.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.
- package/dist/plugins/nodejs-compat.d.ts.map +1 -1
- package/dist/plugins/nodejs-compat.js +15 -1
- package/dist/plugins/nodejs-compat.js.map +1 -1
- package/dist/utils.d.ts +1 -0
- package/dist/utils.d.ts.map +1 -1
- package/dist/utils.js +3 -0
- package/dist/utils.js.map +1 -1
- package/package.json +2 -2
- package/src/plugins/nodejs-compat.ts +16 -1
- package/src/utils.ts +4 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"nodejs-compat.d.ts","sourceRoot":"","sources":["../../src/plugins/nodejs-compat.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAGvC,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,cAAc,CAAC;AAM5D,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,uBAAuB,GAAG,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC,
|
|
1
|
+
{"version":3,"file":"nodejs-compat.d.ts","sourceRoot":"","sources":["../../src/plugins/nodejs-compat.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAGvC,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,cAAc,CAAC;AAM5D,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,uBAAuB,GAAG,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC,CAQ/F"}
|
|
@@ -4,13 +4,16 @@ import { createRequire } from "node:module";
|
|
|
4
4
|
import path from "node:path";
|
|
5
5
|
import { esmExternalRequirePlugin } from "rolldown/plugins";
|
|
6
6
|
import { defineEnv } from "unenv";
|
|
7
|
-
import { hasNodejsCompat } from "../utils.js";
|
|
7
|
+
import { hasNodejsAls, hasNodejsCompat } from "../utils.js";
|
|
8
8
|
const NODE_BUILTIN_MODULES_REGEXP = new RegExp(`^(${nonPrefixedNodeModules.join("|")}|node:.+)$`);
|
|
9
9
|
const VIRTUAL_MODULE_ID_REGEXP = /^virtual:nodejs-global-inject\/.+$/;
|
|
10
10
|
export function makeNodejsCompatPlugin(options) {
|
|
11
11
|
if (hasNodejsCompat(options.compatibilityFlags)) {
|
|
12
12
|
return makeUnenvPlugin(options);
|
|
13
13
|
}
|
|
14
|
+
if (hasNodejsAls(options.compatibilityFlags)) {
|
|
15
|
+
return makeNodeJsAlsPlugin();
|
|
16
|
+
}
|
|
14
17
|
return makeNodeJsImportWarningPlugin();
|
|
15
18
|
}
|
|
16
19
|
function makeUnenvPlugin(options) {
|
|
@@ -90,6 +93,17 @@ function makeUnenvPlugin(options) {
|
|
|
90
93
|
},
|
|
91
94
|
];
|
|
92
95
|
}
|
|
96
|
+
function makeNodeJsAlsPlugin() {
|
|
97
|
+
return {
|
|
98
|
+
name: "rolldown-plugin-cloudflare:nodejs-als",
|
|
99
|
+
resolveId: {
|
|
100
|
+
filter: { id: /^(node:)?async_hooks$/ },
|
|
101
|
+
handler(id) {
|
|
102
|
+
return { id, external: true };
|
|
103
|
+
},
|
|
104
|
+
},
|
|
105
|
+
};
|
|
106
|
+
}
|
|
93
107
|
function makeNodeJsImportWarningPlugin() {
|
|
94
108
|
const imports = new Map();
|
|
95
109
|
let root = process.cwd();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"nodejs-compat.js","sourceRoot":"","sources":["../../src/plugins/nodejs-compat.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AACvF,OAAO,MAAM,MAAM,aAAa,CAAC;AACjC,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,IAAI,MAAM,WAAW,CAAC;AAE7B,OAAO,EAAE,wBAAwB,EAAE,MAAM,kBAAkB,CAAC;AAC5D,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAElC,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"nodejs-compat.js","sourceRoot":"","sources":["../../src/plugins/nodejs-compat.ts"],"names":[],"mappings":"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"}
|
package/dist/utils.d.ts
CHANGED
package/dist/utils.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"AAEA,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAEjD;AAED,wBAAgB,eAAe,CAAC,KAAK,CAAC,EAAE,aAAa,CAAC,MAAM,CAAC,GAAG,OAAO,CAEtE"}
|
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"AAEA,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAEjD;AAED,wBAAgB,eAAe,CAAC,KAAK,CAAC,EAAE,aAAa,CAAC,MAAM,CAAC,GAAG,OAAO,CAEtE;AAED,wBAAgB,YAAY,CAAC,KAAK,CAAC,EAAE,aAAa,CAAC,MAAM,CAAC,GAAG,OAAO,CAEnE"}
|
package/dist/utils.js
CHANGED
|
@@ -5,4 +5,7 @@ export function sanitizePath(path) {
|
|
|
5
5
|
export function hasNodejsCompat(flags) {
|
|
6
6
|
return flags?.some((flag) => flag === "nodejs_compat" || flag === "nodejs_compat_v2") ?? false;
|
|
7
7
|
}
|
|
8
|
+
export function hasNodejsAls(flags) {
|
|
9
|
+
return flags?.some((flag) => flag === "nodejs_als") ?? false;
|
|
10
|
+
}
|
|
8
11
|
//# sourceMappingURL=utils.js.map
|
package/dist/utils.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"AAAA,MAAM,aAAa,GAAG,SAAS,CAAC;AAEhC,MAAM,UAAU,YAAY,CAAC,IAAY;IACvC,OAAO,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE,EAAE,CAAC,CAAC;AACzC,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,KAA6B;IAC3D,OAAO,KAAK,EAAE,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,KAAK,eAAe,IAAI,IAAI,KAAK,kBAAkB,CAAC,IAAI,KAAK,CAAC;AACjG,CAAC"}
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"AAAA,MAAM,aAAa,GAAG,SAAS,CAAC;AAEhC,MAAM,UAAU,YAAY,CAAC,IAAY;IACvC,OAAO,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE,EAAE,CAAC,CAAC;AACzC,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,KAA6B;IAC3D,OAAO,KAAK,EAAE,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,KAAK,eAAe,IAAI,IAAI,KAAK,kBAAkB,CAAC,IAAI,KAAK,CAAC;AACjG,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,KAA6B;IACxD,OAAO,KAAK,EAAE,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,KAAK,YAAY,CAAC,IAAI,KAAK,CAAC;AAC/D,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@distilled.cloud/cloudflare-rolldown-plugin",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.3.0",
|
|
4
4
|
"description": "Rolldown plugin for Cloudflare Workers.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"cloudflare",
|
|
@@ -55,7 +55,7 @@
|
|
|
55
55
|
},
|
|
56
56
|
"devDependencies": {
|
|
57
57
|
"@cloudflare/workers-types": "^4.20260310.1",
|
|
58
|
-
"
|
|
58
|
+
"@distilled.cloud/test-utils": "0.0.0",
|
|
59
59
|
"vitest": "^4.1.1"
|
|
60
60
|
},
|
|
61
61
|
"peerDependencies": {
|
|
@@ -6,7 +6,7 @@ import type { Plugin } from "rolldown";
|
|
|
6
6
|
import { esmExternalRequirePlugin } from "rolldown/plugins";
|
|
7
7
|
import { defineEnv } from "unenv";
|
|
8
8
|
import type { CloudflarePluginOptions } from "../plugin.js";
|
|
9
|
-
import { hasNodejsCompat } from "../utils.js";
|
|
9
|
+
import { hasNodejsAls, hasNodejsCompat } from "../utils.js";
|
|
10
10
|
|
|
11
11
|
const NODE_BUILTIN_MODULES_REGEXP = new RegExp(`^(${nonPrefixedNodeModules.join("|")}|node:.+)$`);
|
|
12
12
|
const VIRTUAL_MODULE_ID_REGEXP = /^virtual:nodejs-global-inject\/.+$/;
|
|
@@ -15,6 +15,9 @@ export function makeNodejsCompatPlugin(options: CloudflarePluginOptions): Plugin
|
|
|
15
15
|
if (hasNodejsCompat(options.compatibilityFlags)) {
|
|
16
16
|
return makeUnenvPlugin(options);
|
|
17
17
|
}
|
|
18
|
+
if (hasNodejsAls(options.compatibilityFlags)) {
|
|
19
|
+
return makeNodeJsAlsPlugin();
|
|
20
|
+
}
|
|
18
21
|
return makeNodeJsImportWarningPlugin();
|
|
19
22
|
}
|
|
20
23
|
|
|
@@ -97,6 +100,18 @@ function makeUnenvPlugin(options: CloudflarePluginOptions): Array<Plugin> {
|
|
|
97
100
|
];
|
|
98
101
|
}
|
|
99
102
|
|
|
103
|
+
function makeNodeJsAlsPlugin(): Plugin {
|
|
104
|
+
return {
|
|
105
|
+
name: "rolldown-plugin-cloudflare:nodejs-als",
|
|
106
|
+
resolveId: {
|
|
107
|
+
filter: { id: /^(node:)?async_hooks$/ },
|
|
108
|
+
handler(id) {
|
|
109
|
+
return { id, external: true };
|
|
110
|
+
},
|
|
111
|
+
},
|
|
112
|
+
};
|
|
113
|
+
}
|
|
114
|
+
|
|
100
115
|
function makeNodeJsImportWarningPlugin(): Plugin {
|
|
101
116
|
const imports = new Map<string, Set<string>>();
|
|
102
117
|
let root = process.cwd();
|
package/src/utils.ts
CHANGED
|
@@ -7,3 +7,7 @@ export function sanitizePath(path: string): string {
|
|
|
7
7
|
export function hasNodejsCompat(flags?: ReadonlyArray<string>): boolean {
|
|
8
8
|
return flags?.some((flag) => flag === "nodejs_compat" || flag === "nodejs_compat_v2") ?? false;
|
|
9
9
|
}
|
|
10
|
+
|
|
11
|
+
export function hasNodejsAls(flags?: ReadonlyArray<string>): boolean {
|
|
12
|
+
return flags?.some((flag) => flag === "nodejs_als") ?? false;
|
|
13
|
+
}
|