Skip to content

Commit 3ec00c9

Browse files
feat(implemented-node-modules): don't drop node: prefix
and add `node:test` module to the list
1 parent c2bf6fd commit 3ec00c9

5 files changed

Lines changed: 62 additions & 17 deletions

File tree

Lines changed: 52 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,53 +1,104 @@
11
{
22
"assert": true,
33
"assert/strict": true,
4+
"node:assert": true,
5+
"node:assert/strict": true,
46
"async_hooks": true,
7+
"node:async_hooks": true,
58
"async_hooks/async_context": true,
69
"buffer": true,
10+
"node:buffer": true,
711
"child_process": true,
12+
"node:child_process": true,
813
"constants": true,
14+
"node:constants": true,
915
"cluster": ">= 1.1.25",
16+
"node:cluster": ">= 1.1.25",
1017
"console": true,
18+
"node:console": true,
1119
"crypto": true,
20+
"node:crypto": true,
1221
"dgram": ">= 1.1.6",
22+
"node:dgram": ">= 1.1.6",
1323
"diagnostics_channel": true,
24+
"node:diagnostics_channel": true,
1425
"dns": true,
1526
"dns/promises": true,
27+
"node:dns": true,
28+
"node:dns/promises": true,
1629
"domain": true,
30+
"node:domain": true,
1731
"events": true,
32+
"node:events": true,
1833
"fs": true,
1934
"fs/promises": true,
35+
"node:fs": true,
36+
"node:fs/promises": true,
2037
"http": true,
38+
"node:http": true,
2139
"http2": ">= 1.0.13",
40+
"node:http2": ">= 1.0.13",
2241
"https": true,
42+
"node:https": true,
2343
"module": true,
44+
"node:module": true,
2445
"net": true,
46+
"node:net": true,
2547
"os": true,
48+
"node:os": true,
2649
"path": true,
2750
"path/posix": true,
2851
"path/win32": true,
52+
"node:path": true,
53+
"node:path/posix": true,
54+
"node:path/win32": true,
2955
"perf_hooks": true,
56+
"node:perf_hooks": true,
3057
"process": true,
58+
"node:process": true,
3159
"punycode": true,
60+
"node:punycode": true,
3261
"querystring": true,
62+
"node:querystring": true,
3363
"readline": true,
3464
"readline/promises": true,
65+
"node:readline": true,
66+
"node:readline/promises": true,
3567
"stream": true,
3668
"stream/consumers": true,
3769
"stream/promises": true,
3870
"stream/web": true,
71+
"node:stream": true,
72+
"node:stream/consumers": true,
73+
"node:stream/promises": true,
74+
"node:stream/web": true,
3975
"string_decoder": true,
76+
"node:string_decoder": true,
4077
"sys": true,
78+
"node:sys": true,
4179
"timers": true,
4280
"timers/promises": true,
81+
"node:timers": true,
82+
"node:timers/promises": true,
4383
"tls": true,
84+
"node:tls": true,
4485
"tty": true,
86+
"node:tty": true,
4587
"url": true,
88+
"node:url": true,
4689
"util": true,
4790
"util/types": true,
91+
"node:util": true,
92+
"node:util/types": true,
4893
"v8": true,
94+
"node:v8": true,
4995
"vm": true,
96+
"node:vm": true,
5097
"wasi": true,
98+
"node:wasi": true,
5199
"worker_threads": true,
52-
"zlib": true
100+
"node:worker_threads": true,
101+
"zlib": true,
102+
"node:zlib": true,
103+
"node:test": ">=1.2.6"
53104
}

src/bun.ts

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -21,11 +21,7 @@ export function isBunModule(moduleName: string, bunVersion?: BunVersion): boolea
2121
}
2222

2323
export function isBunImplementedNodeModule(moduleName: string, bunVersion?: BunVersion): boolean {
24-
return checkModule(
25-
moduleName.replace(/^node:/, ""),
26-
implementedNodeModules,
27-
bunVersion ?? currentBunVersion,
28-
);
24+
return checkModule(moduleName, implementedNodeModules, bunVersion ?? currentBunVersion);
2925
}
3026

3127
export function isBunBuiltin(moduleName: string, bunVersion?: BunVersion): boolean {

src/generic.ts

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -9,11 +9,7 @@ export function isBunModule(moduleName: string, bunVersion?: BunVersion): boolea
99
}
1010

1111
export function isBunImplementedNodeModule(moduleName: string, bunVersion?: BunVersion): boolean {
12-
return checkModule(
13-
moduleName.replace(/^node:/, ""),
14-
implementedNodeModules,
15-
bunVersion ?? "latest",
16-
);
12+
return checkModule(moduleName, implementedNodeModules, bunVersion ?? "latest");
1713
}
1814

1915
export function isBunBuiltin(moduleName: string, bunVersion?: BunVersion): boolean {

test/getModules.test.ts

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -16,17 +16,17 @@ describe("Module lists checking", () => {
1616
const nodeModulesList = Object.keys(bundledNodeModules);
1717
const builtinModulesList = [...bunModulesList, ...nodeModulesList];
1818

19-
test("getBunModules() equals keys of bun-modules.json", () => {
20-
expect(getBunModules()).toContainAllValues(bunModulesList);
19+
test("getBunModules('latest') equals keys of bun-modules.json", () => {
20+
expect(getBunModules("latest")).toContainAllValues(bunModulesList);
2121
});
2222
test("getBunModules() returns only bun modules", () => {
2323
getBunModules().forEach((moduleName) => {
2424
expect(isBunModule(moduleName)).toBe(true);
2525
});
2626
});
2727

28-
test("getBunImplementedNodeModules() equals keys of implemented-node-modules.json", () => {
29-
expect(getBunImplementedNodeModules()).toContainAllValues(nodeModulesList);
28+
test("getBunImplementedNodeModules('latest') equals keys of implemented-node-modules.json", () => {
29+
expect(getBunImplementedNodeModules("latest")).toContainAllValues(nodeModulesList);
3030
});
3131
test("getBunImplementedNodeModules() returns only node modules", () => {
3232
getBunImplementedNodeModules().forEach((moduleName) => {
@@ -37,8 +37,8 @@ describe("Module lists checking", () => {
3737
expect(getBunImplementedNodeModules("1.0.0")).not.toContain("http2");
3838
});
3939

40-
test("getBunBuiltinModules() equals keys of implemented-node-modules.json && bun-modules.json", () => {
41-
expect(getBunBuiltinModules()).toContainAllValues(builtinModulesList);
40+
test("getBunBuiltinModules('latest') equals keys of implemented-node-modules.json && bun-modules.json", () => {
41+
expect(getBunBuiltinModules("latest")).toContainAllValues(builtinModulesList);
4242
});
4343
test("getBunBuiltinModules() returns only built-in modules", () => {
4444
getBunBuiltinModules().forEach((moduleName) => {

test/isBunImplementedNodeModule.test.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,12 +8,14 @@ describe("Implemented Node modules checking", () => {
88
expect(isBunImplementedNodeModule("node:fs")).toBe(true);
99
expect(isBunImplementedNodeModule("http2", "1.0.13")).toBe(true);
1010
expect(isBunImplementedNodeModule("node:http2", "1.0.13")).toBe(true);
11+
expect(isBunImplementedNodeModule("node:test", "1.2.6")).toBe(true);
1112
});
1213

1314
test("Return false for non-node/not implemented modules", () => {
1415
expect(isBunImplementedNodeModule("bun")).toBe(false);
1516
expect(isBunImplementedNodeModule("node:bun")).toBe(false);
1617
expect(isBunImplementedNodeModule("node:http2", "1.0.0")).toBe(false);
1718
expect(isBunImplementedNodeModule("http2", "1.0.0")).toBe(false);
19+
expect(isBunImplementedNodeModule("test", "1.2.6")).toBe(false);
1820
});
1921
});

0 commit comments

Comments
 (0)