From e502ffa4b38477db5622e659912eba46db548886 Mon Sep 17 00:00:00 2001 From: robobun <117481402+robobun@users.noreply.github.com> Date: Wed, 19 Aug 2026 22:51:16 +0000 Subject: [PATCH 01/12] feat(node-modules): add modules implemented in Bun 1.1.45 through 1.4.0 The list stops at Bun 1.2.6. Bun implements these modules since then: - `_stream_*` (6 modules): `>= 1.1.45` - `_http_*` (6 modules): `>= 1.2.11` - `inspector`, `inspector/promises`: `>= 1.3.7` - `_tls_common`, `_tls_wrap`, `repl`, `trace_events`, `node:sqlite`, `node:quic`: `>= 1.4.0` Each module is listed with and without the `node:` prefix, except `node:sqlite` and `node:quic`. Bun, like Node.js, resolves these two only with the prefix (the same as the `node:test` entry). A module is listed from the first Bun release whose module exports what the Node.js module exports. Older releases that only ship a stub that throws, or an alias of the parent module, do not count. This is the same rule the `node:test` entry uses. Each version was checked by loading the module in the Bun binaries published to npm (every release from 1.1.40 through 1.3.14, plus a 1.4.0 canary build) and by matching the implementing commit in the Bun repository to its first release tag. --- src/assets/implemented-node-modules.json | 38 +++++++++++++++++++++++ test/getModules.test.ts | 2 ++ test/isBunImplementedNodeModule.test.ts | 39 ++++++++++++++++++++++++ 3 files changed, 79 insertions(+) diff --git a/src/assets/implemented-node-modules.json b/src/assets/implemented-node-modules.json index a42e79f..2b3360c 100644 --- a/src/assets/implemented-node-modules.json +++ b/src/assets/implemented-node-modules.json @@ -1,4 +1,32 @@ { + "_http_agent": ">= 1.2.11", + "_http_client": ">= 1.2.11", + "_http_common": ">= 1.2.11", + "_http_incoming": ">= 1.2.11", + "_http_outgoing": ">= 1.2.11", + "_http_server": ">= 1.2.11", + "node:_http_agent": ">= 1.2.11", + "node:_http_client": ">= 1.2.11", + "node:_http_common": ">= 1.2.11", + "node:_http_incoming": ">= 1.2.11", + "node:_http_outgoing": ">= 1.2.11", + "node:_http_server": ">= 1.2.11", + "_stream_duplex": ">= 1.1.45", + "_stream_passthrough": ">= 1.1.45", + "_stream_readable": ">= 1.1.45", + "_stream_transform": ">= 1.1.45", + "_stream_wrap": ">= 1.1.45", + "_stream_writable": ">= 1.1.45", + "node:_stream_duplex": ">= 1.1.45", + "node:_stream_passthrough": ">= 1.1.45", + "node:_stream_readable": ">= 1.1.45", + "node:_stream_transform": ">= 1.1.45", + "node:_stream_wrap": ">= 1.1.45", + "node:_stream_writable": ">= 1.1.45", + "_tls_common": ">= 1.4.0", + "_tls_wrap": ">= 1.4.0", + "node:_tls_common": ">= 1.4.0", + "node:_tls_wrap": ">= 1.4.0", "assert": true, "assert/strict": true, "node:assert": true, @@ -40,6 +68,10 @@ "node:http2": ">= 1.0.13", "https": true, "node:https": true, + "inspector": ">= 1.3.7", + "inspector/promises": ">= 1.3.7", + "node:inspector": ">= 1.3.7", + "node:inspector/promises": ">= 1.3.7", "module": true, "node:module": true, "net": true, @@ -60,10 +92,14 @@ "node:punycode": true, "querystring": true, "node:querystring": true, + "node:quic": ">= 1.4.0", "readline": true, "readline/promises": true, "node:readline": true, "node:readline/promises": true, + "repl": ">= 1.4.0", + "node:repl": ">= 1.4.0", + "node:sqlite": ">= 1.4.0", "stream": true, "stream/consumers": true, "stream/promises": true, @@ -82,6 +118,8 @@ "node:timers/promises": true, "tls": true, "node:tls": true, + "trace_events": ">= 1.4.0", + "node:trace_events": ">= 1.4.0", "tty": true, "node:tty": true, "url": true, diff --git a/test/getModules.test.ts b/test/getModules.test.ts index a9529b1..f680846 100644 --- a/test/getModules.test.ts +++ b/test/getModules.test.ts @@ -36,6 +36,8 @@ describe("Module lists checking", () => { }); test("getBunImplementedNodeModules() doesn't return not implemented node modules", () => { expect(getBunImplementedNodeModules("1.0.0")).not.toContain("http2"); + expect(getBunImplementedNodeModules("1.3.14")).not.toContain("node:sqlite"); + expect(getBunImplementedNodeModules("1.4.0")).toContain("node:sqlite"); }); test("getBunBuiltinModules('latest') equals keys of implemented-node-modules.json && bun-modules.json", () => { diff --git a/test/isBunImplementedNodeModule.test.ts b/test/isBunImplementedNodeModule.test.ts index 7b24197..5fe9b3d 100644 --- a/test/isBunImplementedNodeModule.test.ts +++ b/test/isBunImplementedNodeModule.test.ts @@ -9,6 +9,21 @@ describe("Implemented Node modules checking", () => { expect(isBunImplementedNodeModule("http2", "1.0.13")).toBe(true); expect(isBunImplementedNodeModule("node:http2", "1.0.13")).toBe(true); expect(isBunImplementedNodeModule("node:test", "1.2.6")).toBe(true); + expect(isBunImplementedNodeModule("_stream_readable", "1.1.45")).toBe(true); + expect(isBunImplementedNodeModule("node:_stream_readable", "1.1.45")).toBe(true); + expect(isBunImplementedNodeModule("_http_agent", "1.2.11")).toBe(true); + expect(isBunImplementedNodeModule("node:_http_agent", "1.2.11")).toBe(true); + expect(isBunImplementedNodeModule("inspector", "1.3.7")).toBe(true); + expect(isBunImplementedNodeModule("node:inspector", "1.3.7")).toBe(true); + expect(isBunImplementedNodeModule("node:inspector/promises", "1.3.7")).toBe(true); + expect(isBunImplementedNodeModule("_tls_wrap", "1.4.0")).toBe(true); + expect(isBunImplementedNodeModule("node:_tls_common", "1.4.0")).toBe(true); + expect(isBunImplementedNodeModule("repl", "1.4.0")).toBe(true); + expect(isBunImplementedNodeModule("node:repl", "1.4.0")).toBe(true); + expect(isBunImplementedNodeModule("trace_events", "1.4.0")).toBe(true); + expect(isBunImplementedNodeModule("node:trace_events", "1.4.0")).toBe(true); + expect(isBunImplementedNodeModule("node:sqlite", "1.4.0")).toBe(true); + expect(isBunImplementedNodeModule("node:quic", "1.4.0")).toBe(true); }); test("Return false for non-node/not implemented modules", () => { @@ -17,5 +32,29 @@ describe("Implemented Node modules checking", () => { expect(isBunImplementedNodeModule("node:http2", "1.0.0")).toBe(false); expect(isBunImplementedNodeModule("http2", "1.0.0")).toBe(false); expect(isBunImplementedNodeModule("test", "1.2.6")).toBe(false); + expect(isBunImplementedNodeModule("node:sea", "latest")).toBe(false); + }); + + test("Return false for modules implemented in a later Bun version", () => { + expect(isBunImplementedNodeModule("_stream_readable", "1.1.44")).toBe(false); + expect(isBunImplementedNodeModule("node:_stream_readable", "1.1.44")).toBe(false); + expect(isBunImplementedNodeModule("_http_agent", "1.2.10")).toBe(false); + expect(isBunImplementedNodeModule("node:_http_agent", "1.2.10")).toBe(false); + expect(isBunImplementedNodeModule("inspector", "1.3.6")).toBe(false); + expect(isBunImplementedNodeModule("node:inspector", "1.3.6")).toBe(false); + expect(isBunImplementedNodeModule("_tls_wrap", "1.3.14")).toBe(false); + expect(isBunImplementedNodeModule("node:_tls_common", "1.3.14")).toBe(false); + expect(isBunImplementedNodeModule("repl", "1.3.14")).toBe(false); + expect(isBunImplementedNodeModule("node:repl", "1.3.14")).toBe(false); + expect(isBunImplementedNodeModule("trace_events", "1.3.14")).toBe(false); + expect(isBunImplementedNodeModule("node:trace_events", "1.3.14")).toBe(false); + expect(isBunImplementedNodeModule("node:sqlite", "1.3.14")).toBe(false); + expect(isBunImplementedNodeModule("node:quic", "1.3.14")).toBe(false); + }); + + test("Return false for unprefixed names of modules Bun resolves only with the node: prefix", () => { + expect(isBunImplementedNodeModule("sqlite", "latest")).toBe(false); + expect(isBunImplementedNodeModule("quic", "latest")).toBe(false); + expect(isBunImplementedNodeModule("test", "latest")).toBe(false); }); }); From 74312509fdaa4af5079f28a2fdd2c34b3f5f8fa5 Mon Sep 17 00:00:00 2001 From: robobun <117481402+robobun@users.noreply.github.com> Date: Wed, 19 Aug 2026 22:51:55 +0000 Subject: [PATCH 02/12] feat(bun-modules): add `bun:bundle` Bun 1.3.5 added `import { feature } from "bun:bundle"` (oven-sh/bun#25462). The import works with `bun run`, `bun test` and `bun build`, and `@types/bun` declares the module. Bun 1.3.4 fails to resolve it. --- src/assets/bun-modules.json | 1 + test/isBunModule.test.ts | 3 +++ 2 files changed, 4 insertions(+) diff --git a/src/assets/bun-modules.json b/src/assets/bun-modules.json index 9576012..7c1a333 100644 --- a/src/assets/bun-modules.json +++ b/src/assets/bun-modules.json @@ -1,5 +1,6 @@ { "bun": true, + "bun:bundle": ">= 1.3.5", "bun:ffi": true, "bun:jsc": true, "bun:sqlite": true, diff --git a/test/isBunModule.test.ts b/test/isBunModule.test.ts index 7bd7bf1..b6a8f0d 100644 --- a/test/isBunModule.test.ts +++ b/test/isBunModule.test.ts @@ -6,11 +6,14 @@ describe("Bun modules checking", () => { test("Return true for bun", () => { expect(isBunModule("bun")).toBe(true); expect(isBunModule("bun:test")).toBe(true); + expect(isBunModule("bun:bundle", "1.3.5")).toBe(true); + expect(isBunModule("bun:bundle", "latest")).toBe(true); }); test("Return false for non-bun", () => { expect(isBunModule("node:fs")).toBe(false); expect(isBunModule("fs")).toBe(false); expect(isBunModule("bun:not-bun")).toBe(false); + expect(isBunModule("bun:bundle", "1.3.4")).toBe(false); }); }); From ef3150f9c22bb17fa224703b207a8aa0ee3d9116 Mon Sep 17 00:00:00 2001 From: robobun <117481402+robobun@users.noreply.github.com> Date: Wed, 19 Aug 2026 22:52:56 +0000 Subject: [PATCH 03/12] fix(node-modules): remove `async_hooks/async_context` No Bun release resolves this specifier (checked 1.0.0 through 1.3.14 and a 1.4.0 canary build), and Node.js has no such module either. `async_context` is only the name of the Node.js documentation page for `AsyncLocalStorage`, which lives in `async_hooks`. --- src/assets/implemented-node-modules.json | 1 - test/isBunImplementedNodeModule.test.ts | 1 + 2 files changed, 1 insertion(+), 1 deletion(-) diff --git a/src/assets/implemented-node-modules.json b/src/assets/implemented-node-modules.json index 2b3360c..7144a18 100644 --- a/src/assets/implemented-node-modules.json +++ b/src/assets/implemented-node-modules.json @@ -33,7 +33,6 @@ "node:assert/strict": true, "async_hooks": true, "node:async_hooks": true, - "async_hooks/async_context": true, "buffer": true, "node:buffer": true, "child_process": true, diff --git a/test/isBunImplementedNodeModule.test.ts b/test/isBunImplementedNodeModule.test.ts index 5fe9b3d..c35fed4 100644 --- a/test/isBunImplementedNodeModule.test.ts +++ b/test/isBunImplementedNodeModule.test.ts @@ -33,6 +33,7 @@ describe("Implemented Node modules checking", () => { expect(isBunImplementedNodeModule("http2", "1.0.0")).toBe(false); expect(isBunImplementedNodeModule("test", "1.2.6")).toBe(false); expect(isBunImplementedNodeModule("node:sea", "latest")).toBe(false); + expect(isBunImplementedNodeModule("async_hooks/async_context", "latest")).toBe(false); }); test("Return false for modules implemented in a later Bun version", () => { From 2aca4cc809913c4a5456d029cdb736ba9f13f7c3 Mon Sep 17 00:00:00 2001 From: Grigory Date: Thu, 20 Aug 2026 17:50:31 +0500 Subject: [PATCH 04/12] Discard changes to test/isBunModule.test.ts --- test/isBunModule.test.ts | 3 --- 1 file changed, 3 deletions(-) diff --git a/test/isBunModule.test.ts b/test/isBunModule.test.ts index b6a8f0d..7bd7bf1 100644 --- a/test/isBunModule.test.ts +++ b/test/isBunModule.test.ts @@ -6,14 +6,11 @@ describe("Bun modules checking", () => { test("Return true for bun", () => { expect(isBunModule("bun")).toBe(true); expect(isBunModule("bun:test")).toBe(true); - expect(isBunModule("bun:bundle", "1.3.5")).toBe(true); - expect(isBunModule("bun:bundle", "latest")).toBe(true); }); test("Return false for non-bun", () => { expect(isBunModule("node:fs")).toBe(false); expect(isBunModule("fs")).toBe(false); expect(isBunModule("bun:not-bun")).toBe(false); - expect(isBunModule("bun:bundle", "1.3.4")).toBe(false); }); }); From 87b106ece591d9e1ede5191b59164fbe0948cb63 Mon Sep 17 00:00:00 2001 From: Grigory Date: Thu, 20 Aug 2026 18:12:53 +0500 Subject: [PATCH 05/12] Update test for getBunImplementedNodeModules Remove expectation for 'node:sqlite' in version 1.4.0. --- test/getModules.test.ts | 1 - 1 file changed, 1 deletion(-) diff --git a/test/getModules.test.ts b/test/getModules.test.ts index f680846..628ca1b 100644 --- a/test/getModules.test.ts +++ b/test/getModules.test.ts @@ -37,7 +37,6 @@ describe("Module lists checking", () => { test("getBunImplementedNodeModules() doesn't return not implemented node modules", () => { expect(getBunImplementedNodeModules("1.0.0")).not.toContain("http2"); expect(getBunImplementedNodeModules("1.3.14")).not.toContain("node:sqlite"); - expect(getBunImplementedNodeModules("1.4.0")).toContain("node:sqlite"); }); test("getBunBuiltinModules('latest') equals keys of implemented-node-modules.json && bun-modules.json", () => { From ff502d3dad33dd0e525cf07f24312552be87d5f3 Mon Sep 17 00:00:00 2001 From: Grigory Date: Thu, 20 Aug 2026 19:43:58 +0500 Subject: [PATCH 06/12] Modify _tls_common version requirements Updated version requirements for _tls_common and added node:_tls_common. --- src/assets/implemented-node-modules.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/assets/implemented-node-modules.json b/src/assets/implemented-node-modules.json index 7144a18..c9c8875 100644 --- a/src/assets/implemented-node-modules.json +++ b/src/assets/implemented-node-modules.json @@ -23,9 +23,9 @@ "node:_stream_transform": ">= 1.1.45", "node:_stream_wrap": ">= 1.1.45", "node:_stream_writable": ">= 1.1.45", - "_tls_common": ">= 1.4.0", + "_tls_common": ">= 1.2.6", + "node:_tls_common": ">= 1.2.6", "_tls_wrap": ">= 1.4.0", - "node:_tls_common": ">= 1.4.0", "node:_tls_wrap": ">= 1.4.0", "assert": true, "assert/strict": true, From de84d7910377266af2b91d6f54aacfbc0b7267fd Mon Sep 17 00:00:00 2001 From: Grigory Date: Thu, 20 Aug 2026 19:58:37 +0500 Subject: [PATCH 07/12] Refactor tests for Bun implemented Node modules Removed several test cases for modules that are no longer relevant and updated some expected values to reflect changes in implementation. --- test/isBunImplementedNodeModule.test.ts | 38 +++---------------------- 1 file changed, 4 insertions(+), 34 deletions(-) diff --git a/test/isBunImplementedNodeModule.test.ts b/test/isBunImplementedNodeModule.test.ts index c35fed4..b9e4a52 100644 --- a/test/isBunImplementedNodeModule.test.ts +++ b/test/isBunImplementedNodeModule.test.ts @@ -9,21 +9,8 @@ describe("Implemented Node modules checking", () => { expect(isBunImplementedNodeModule("http2", "1.0.13")).toBe(true); expect(isBunImplementedNodeModule("node:http2", "1.0.13")).toBe(true); expect(isBunImplementedNodeModule("node:test", "1.2.6")).toBe(true); - expect(isBunImplementedNodeModule("_stream_readable", "1.1.45")).toBe(true); - expect(isBunImplementedNodeModule("node:_stream_readable", "1.1.45")).toBe(true); - expect(isBunImplementedNodeModule("_http_agent", "1.2.11")).toBe(true); - expect(isBunImplementedNodeModule("node:_http_agent", "1.2.11")).toBe(true); - expect(isBunImplementedNodeModule("inspector", "1.3.7")).toBe(true); - expect(isBunImplementedNodeModule("node:inspector", "1.3.7")).toBe(true); - expect(isBunImplementedNodeModule("node:inspector/promises", "1.3.7")).toBe(true); expect(isBunImplementedNodeModule("_tls_wrap", "1.4.0")).toBe(true); - expect(isBunImplementedNodeModule("node:_tls_common", "1.4.0")).toBe(true); - expect(isBunImplementedNodeModule("repl", "1.4.0")).toBe(true); - expect(isBunImplementedNodeModule("node:repl", "1.4.0")).toBe(true); - expect(isBunImplementedNodeModule("trace_events", "1.4.0")).toBe(true); - expect(isBunImplementedNodeModule("node:trace_events", "1.4.0")).toBe(true); - expect(isBunImplementedNodeModule("node:sqlite", "1.4.0")).toBe(true); - expect(isBunImplementedNodeModule("node:quic", "1.4.0")).toBe(true); + expect(isBunImplementedNodeModule("async_hooks", "latest")).toBe(true); }); test("Return false for non-node/not implemented modules", () => { @@ -31,29 +18,12 @@ describe("Implemented Node modules checking", () => { expect(isBunImplementedNodeModule("node:bun")).toBe(false); expect(isBunImplementedNodeModule("node:http2", "1.0.0")).toBe(false); expect(isBunImplementedNodeModule("http2", "1.0.0")).toBe(false); - expect(isBunImplementedNodeModule("test", "1.2.6")).toBe(false); - expect(isBunImplementedNodeModule("node:sea", "latest")).toBe(false); - expect(isBunImplementedNodeModule("async_hooks/async_context", "latest")).toBe(false); - }); - - test("Return false for modules implemented in a later Bun version", () => { - expect(isBunImplementedNodeModule("_stream_readable", "1.1.44")).toBe(false); - expect(isBunImplementedNodeModule("node:_stream_readable", "1.1.44")).toBe(false); - expect(isBunImplementedNodeModule("_http_agent", "1.2.10")).toBe(false); - expect(isBunImplementedNodeModule("node:_http_agent", "1.2.10")).toBe(false); - expect(isBunImplementedNodeModule("inspector", "1.3.6")).toBe(false); - expect(isBunImplementedNodeModule("node:inspector", "1.3.6")).toBe(false); + expect(isBunImplementedNodeModule("node:test", "1.2.5")).toBe(false); expect(isBunImplementedNodeModule("_tls_wrap", "1.3.14")).toBe(false); - expect(isBunImplementedNodeModule("node:_tls_common", "1.3.14")).toBe(false); - expect(isBunImplementedNodeModule("repl", "1.3.14")).toBe(false); - expect(isBunImplementedNodeModule("node:repl", "1.3.14")).toBe(false); - expect(isBunImplementedNodeModule("trace_events", "1.3.14")).toBe(false); - expect(isBunImplementedNodeModule("node:trace_events", "1.3.14")).toBe(false); - expect(isBunImplementedNodeModule("node:sqlite", "1.3.14")).toBe(false); - expect(isBunImplementedNodeModule("node:quic", "1.3.14")).toBe(false); + expect(isBunImplementedNodeModule("async_hooks/async_context", "latest")).toBe(false); }); - test("Return false for unprefixed names of modules Bun resolves only with the node: prefix", () => { + test("Return false for unprefixed names of modules with mandatory prefix", () => { expect(isBunImplementedNodeModule("sqlite", "latest")).toBe(false); expect(isBunImplementedNodeModule("quic", "latest")).toBe(false); expect(isBunImplementedNodeModule("test", "latest")).toBe(false); From e99169d26ae97e47fee3a4a81c96960f660d3e5e Mon Sep 17 00:00:00 2001 From: Grigory Date: Thu, 20 Aug 2026 20:01:42 +0500 Subject: [PATCH 08/12] avoid using `"latest"` as a version --- test/isBunImplementedNodeModule.test.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/test/isBunImplementedNodeModule.test.ts b/test/isBunImplementedNodeModule.test.ts index b9e4a52..236e98e 100644 --- a/test/isBunImplementedNodeModule.test.ts +++ b/test/isBunImplementedNodeModule.test.ts @@ -10,7 +10,7 @@ describe("Implemented Node modules checking", () => { expect(isBunImplementedNodeModule("node:http2", "1.0.13")).toBe(true); expect(isBunImplementedNodeModule("node:test", "1.2.6")).toBe(true); expect(isBunImplementedNodeModule("_tls_wrap", "1.4.0")).toBe(true); - expect(isBunImplementedNodeModule("async_hooks", "latest")).toBe(true); + expect(isBunImplementedNodeModule("async_hooks", "1.0.0")).toBe(true); }); test("Return false for non-node/not implemented modules", () => { @@ -20,7 +20,7 @@ describe("Implemented Node modules checking", () => { expect(isBunImplementedNodeModule("http2", "1.0.0")).toBe(false); expect(isBunImplementedNodeModule("node:test", "1.2.5")).toBe(false); expect(isBunImplementedNodeModule("_tls_wrap", "1.3.14")).toBe(false); - expect(isBunImplementedNodeModule("async_hooks/async_context", "latest")).toBe(false); + expect(isBunImplementedNodeModule("async_hooks/async_context", "1.0.0")).toBe(false); }); test("Return false for unprefixed names of modules with mandatory prefix", () => { From 66c4e140137a70df34db9bdab76b8cbd0be59f33 Mon Sep 17 00:00:00 2001 From: Grigory Date: Thu, 20 Aug 2026 20:11:57 +0500 Subject: [PATCH 09/12] Discard changes to test/getModules.test.ts --- test/getModules.test.ts | 1 - 1 file changed, 1 deletion(-) diff --git a/test/getModules.test.ts b/test/getModules.test.ts index 628ca1b..a9529b1 100644 --- a/test/getModules.test.ts +++ b/test/getModules.test.ts @@ -36,7 +36,6 @@ describe("Module lists checking", () => { }); test("getBunImplementedNodeModules() doesn't return not implemented node modules", () => { expect(getBunImplementedNodeModules("1.0.0")).not.toContain("http2"); - expect(getBunImplementedNodeModules("1.3.14")).not.toContain("node:sqlite"); }); test("getBunBuiltinModules('latest') equals keys of implemented-node-modules.json && bun-modules.json", () => { From fd6176bf6dd5d687e1e1246dbe866ac3c3a22d6c Mon Sep 17 00:00:00 2001 From: Grigory Date: Thu, 20 Aug 2026 20:55:45 +0500 Subject: [PATCH 10/12] Clean up implemented-node-modules.json Removed outdated dependencies from the implemented-node-modules.json file. --- src/assets/implemented-node-modules.json | 27 ------------------------ 1 file changed, 27 deletions(-) diff --git a/src/assets/implemented-node-modules.json b/src/assets/implemented-node-modules.json index c9c8875..abfd62b 100644 --- a/src/assets/implemented-node-modules.json +++ b/src/assets/implemented-node-modules.json @@ -1,31 +1,4 @@ { - "_http_agent": ">= 1.2.11", - "_http_client": ">= 1.2.11", - "_http_common": ">= 1.2.11", - "_http_incoming": ">= 1.2.11", - "_http_outgoing": ">= 1.2.11", - "_http_server": ">= 1.2.11", - "node:_http_agent": ">= 1.2.11", - "node:_http_client": ">= 1.2.11", - "node:_http_common": ">= 1.2.11", - "node:_http_incoming": ">= 1.2.11", - "node:_http_outgoing": ">= 1.2.11", - "node:_http_server": ">= 1.2.11", - "_stream_duplex": ">= 1.1.45", - "_stream_passthrough": ">= 1.1.45", - "_stream_readable": ">= 1.1.45", - "_stream_transform": ">= 1.1.45", - "_stream_wrap": ">= 1.1.45", - "_stream_writable": ">= 1.1.45", - "node:_stream_duplex": ">= 1.1.45", - "node:_stream_passthrough": ">= 1.1.45", - "node:_stream_readable": ">= 1.1.45", - "node:_stream_transform": ">= 1.1.45", - "node:_stream_wrap": ">= 1.1.45", - "node:_stream_writable": ">= 1.1.45", - "_tls_common": ">= 1.2.6", - "node:_tls_common": ">= 1.2.6", - "_tls_wrap": ">= 1.4.0", "node:_tls_wrap": ">= 1.4.0", "assert": true, "assert/strict": true, From bebf4fc359af4f900515014ada48e2a1a26536d3 Mon Sep 17 00:00:00 2001 From: Grigory Date: Thu, 20 Aug 2026 20:56:06 +0500 Subject: [PATCH 11/12] Remove tests for '_tls_wrap' module Removed tests for the '_tls_wrap' module from both true and false cases. --- test/isBunImplementedNodeModule.test.ts | 2 -- 1 file changed, 2 deletions(-) diff --git a/test/isBunImplementedNodeModule.test.ts b/test/isBunImplementedNodeModule.test.ts index 236e98e..abee6db 100644 --- a/test/isBunImplementedNodeModule.test.ts +++ b/test/isBunImplementedNodeModule.test.ts @@ -9,7 +9,6 @@ describe("Implemented Node modules checking", () => { expect(isBunImplementedNodeModule("http2", "1.0.13")).toBe(true); expect(isBunImplementedNodeModule("node:http2", "1.0.13")).toBe(true); expect(isBunImplementedNodeModule("node:test", "1.2.6")).toBe(true); - expect(isBunImplementedNodeModule("_tls_wrap", "1.4.0")).toBe(true); expect(isBunImplementedNodeModule("async_hooks", "1.0.0")).toBe(true); }); @@ -19,7 +18,6 @@ describe("Implemented Node modules checking", () => { expect(isBunImplementedNodeModule("node:http2", "1.0.0")).toBe(false); expect(isBunImplementedNodeModule("http2", "1.0.0")).toBe(false); expect(isBunImplementedNodeModule("node:test", "1.2.5")).toBe(false); - expect(isBunImplementedNodeModule("_tls_wrap", "1.3.14")).toBe(false); expect(isBunImplementedNodeModule("async_hooks/async_context", "1.0.0")).toBe(false); }); From 550af01bb0dc4375ecce698b49f6f4c35a039583 Mon Sep 17 00:00:00 2001 From: Grigory Date: Thu, 20 Aug 2026 20:56:23 +0500 Subject: [PATCH 12/12] Remove version constraint for node:_tls_wrap Removed version constraint for 'node:_tls_wrap'. --- src/assets/implemented-node-modules.json | 1 - 1 file changed, 1 deletion(-) diff --git a/src/assets/implemented-node-modules.json b/src/assets/implemented-node-modules.json index abfd62b..71fb4c9 100644 --- a/src/assets/implemented-node-modules.json +++ b/src/assets/implemented-node-modules.json @@ -1,5 +1,4 @@ { - "node:_tls_wrap": ">= 1.4.0", "assert": true, "assert/strict": true, "node:assert": true,