From ff635551436123022ba3980b39580d53973c80a2 Mon Sep 17 00:00:00 2001 From: Jarred Sumner Date: Sat, 24 Jun 2023 06:02:16 -0700 Subject: Rewrite Bun's runtime CommonJS loader (#3379) * wip changes for CommonJS * this rewrite is almost complete * even more code * wip * Remove usages of `import.meta.require` from builtins * Remove usages of require * Regenerate * :scissors: builtin rewrite commonjs in printer * Use lazy custom getters for import.meta * fixups * Remove depd * ugh * still crashing * fixup undici * comment out import.meta.require.resolve temporarily not a real solution but it stops the crashes * Redo import.meta.primordials * Builtins now have a `builtin://` protocol in source origin * Seems to work? * Finsih getting rid of primordials * switcharoo * No more function * just one more bug * Update launch.json * Implement `require.main` * :scissors: * Bump WebKit * Fixup import cycles * Fixup improt cycles * export more things * Implement `createCommonJSModule` builtin * More exports * regenerate * i broke some stuff * some of these tests work now * We lost the encoding * Sort of fix zlib * Sort of fix util * Update events.js * bump * bump * bump * Fix missing export in fs * fix some bugs with builtin esm modules (stream, worker_threads, events). its not perfect yet. * fix some other internal module bugs * oops * fix some extra require default stuff * uncomment this file but it crsahes on my machine * tidy code here * fixup tls exports * make simdutf happier * Add hasPrefix binding * Add test for `require.main` * Fix CommonJS evaluation order race condition * Make node:http load faster * Add missing exports to tls.js * Use the getter * Regenerate builtins * Fix assertion failure in Bun.write() * revamp dotEnv parser (#3347) - fixes `strings.indexOfAny()` - fixes OOB array access fixes #411 fixes #2823 fixes #3042 * fix tests for `expect()` (#3384) - extend test job time-out for `darwin-aarch64` * `expect().resolves` and `expect().rejects` (#3318) * Move expect and snapshots to their own files * expect().resolves and expect().rejects * Fix promise being added to unhandled rejection list * Handle timeouts in expect() * wip merge * Fix merge issue --------- Co-authored-by: Jarred Sumner Co-authored-by: Jarred Sumner <709451+Jarred-Sumner@users.noreply.github.com> * fixup min/memcopy (#3388) * Fix crash in builtins * Don't attempt to evaluate modules with no source code * Update WebCoreJSBuiltins.cpp * Update WebCoreJSBuiltins.cpp * Update WebCoreJSBuiltins.cpp * Fix crash * cleanup * Fix test cc @paperdave * Fixup Undici * Fix issue in node:http * Create util-deprecate.mjs * Fix several bugs * Use the identifier * Support error.code in `util.deprecate` * make the CJs loader slightly more resilient * Update WebCoreJSBuiltins.cpp * Fix macros --------- Co-authored-by: Jarred Sumner <709451+Jarred-Sumner@users.noreply.github.com> Co-authored-by: dave caruso Co-authored-by: Alex Lam S.L Co-authored-by: Ashcon Partovi Co-authored-by: Ciro Spaciari --- src/js/node/dns.promises.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'src/js/node/dns.promises.js') diff --git a/src/js/node/dns.promises.js b/src/js/node/dns.promises.js index b41cc2b22..8b1aa4e48 100644 --- a/src/js/node/dns.promises.js +++ b/src/js/node/dns.promises.js @@ -1,5 +1,5 @@ // Hardcoded module "node:dns/promises" -const { promises } = import.meta.require("node:dns"); +import { promises } from "node:dns"; export const { lookup, -- cgit v1.2.3 From 0cee640199e1102385d639e8e84707d2f3576967 Mon Sep 17 00:00:00 2001 From: dave caruso Date: Wed, 28 Jun 2023 20:45:18 -0400 Subject: export resolve6 from dns/promises (#3450) --- src/js/node/dns.promises.js | 2 ++ test/js/node/dns/dns.node.mjs | 0 test/js/node/dns/node-dns.test.js | 33 +++++++++++++++++++++++++++++++++ 3 files changed, 35 insertions(+) delete mode 100644 test/js/node/dns/dns.node.mjs (limited to 'src/js/node/dns.promises.js') diff --git a/src/js/node/dns.promises.js b/src/js/node/dns.promises.js index 8b1aa4e48..bcc47faee 100644 --- a/src/js/node/dns.promises.js +++ b/src/js/node/dns.promises.js @@ -6,6 +6,7 @@ export const { lookupService, resolve, resolve4, + resolve6, resolveAny, resolveCname, resolveCaa, @@ -27,6 +28,7 @@ export default { lookupService, resolve, resolve4, + resolve6, resolveAny, resolveCname, resolveCaa, diff --git a/test/js/node/dns/dns.node.mjs b/test/js/node/dns/dns.node.mjs deleted file mode 100644 index e69de29bb..000000000 diff --git a/test/js/node/dns/node-dns.test.js b/test/js/node/dns/node-dns.test.js index 5fb8e0739..5de840146 100644 --- a/test/js/node/dns/node-dns.test.js +++ b/test/js/node/dns/node-dns.test.js @@ -1,5 +1,6 @@ import { expect, test } from "bun:test"; import * as dns from "node:dns"; +import * as dns_promises from "node:dns/promises"; // TODO: test("it exists", () => { @@ -18,6 +19,38 @@ test("it exists", () => { expect(dns.resolveNs).toBeDefined(); expect(dns.resolvePtr).toBeDefined(); expect(dns.resolveCname).toBeDefined(); + + expect(dns.promises).toBeDefined(); + expect(dns.promises.lookup).toBeDefined(); + expect(dns.promises.lookupService).toBeDefined(); + expect(dns.promises.resolve).toBeDefined(); + expect(dns.promises.resolve4).toBeDefined(); + expect(dns.promises.resolve6).toBeDefined(); + expect(dns.promises.resolveSrv).toBeDefined(); + expect(dns.promises.resolveTxt).toBeDefined(); + expect(dns.promises.resolveSoa).toBeDefined(); + expect(dns.promises.resolveNaptr).toBeDefined(); + expect(dns.promises.resolveMx).toBeDefined(); + expect(dns.promises.resolveCaa).toBeDefined(); + expect(dns.promises.resolveNs).toBeDefined(); + expect(dns.promises.resolvePtr).toBeDefined(); + expect(dns.promises.resolveCname).toBeDefined(); + + expect(dns_promises).toBeDefined(); + expect(dns_promises.lookup).toBeDefined(); + expect(dns_promises.lookupService).toBeDefined(); + expect(dns_promises.resolve).toBeDefined(); + expect(dns_promises.resolve4).toBeDefined(); + expect(dns_promises.resolve6).toBeDefined(); + expect(dns_promises.resolveSrv).toBeDefined(); + expect(dns_promises.resolveTxt).toBeDefined(); + expect(dns_promises.resolveSoa).toBeDefined(); + expect(dns_promises.resolveNaptr).toBeDefined(); + expect(dns_promises.resolveMx).toBeDefined(); + expect(dns_promises.resolveCaa).toBeDefined(); + expect(dns_promises.resolveNs).toBeDefined(); + expect(dns_promises.resolvePtr).toBeDefined(); + expect(dns_promises.resolveCname).toBeDefined(); }); // //TODO: use a bun.sh SRV for testing -- cgit v1.2.3