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/assert.js | 45 ++++++--------------------------------------- 1 file changed, 6 insertions(+), 39 deletions(-) (limited to 'src/js/node/assert.js') diff --git a/src/js/node/assert.js b/src/js/node/assert.js index 3cf158f57..ba4df43cc 100644 --- a/src/js/node/assert.js +++ b/src/js/node/assert.js @@ -1,43 +1,12 @@ // Hardcoded module "node:assert" -var { Bun } = import.meta.primordials; +var { Bun } = globalThis[Symbol.for("Bun.lazy")]("primordials"); +import util from "node:util"; + var isDeepEqual = Bun.deepEquals; -var __create = Object.create; -var __defProp = Object.defineProperty; -var __getOwnPropDesc = Object.getOwnPropertyDescriptor; -var __getOwnPropNames = Object.getOwnPropertyNames; -var __getProtoOf = Object.getPrototypeOf, - __hasOwnProp = Object.prototype.hasOwnProperty; -var __markAsModule = target => __defProp(target, "__esModule", { value: !0 }); var __commonJS = (cb, mod) => function () { return mod || (0, cb[Object.keys(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports; }; -var __reExport = (target, module2, desc) => { - if ((module2 && typeof module2 == "object") || typeof module2 == "function") - for (let key of __getOwnPropNames(module2)) - !__hasOwnProp.call(target, key) && - key !== "default" && - __defProp(target, key, { - get: () => module2[key], - enumerable: !(desc = __getOwnPropDesc(module2, key)) || desc.enumerable, - }); - return target; - }, - __toModule = module2 => - __reExport( - __markAsModule( - __defProp( - module2 != null ? __create(__getProtoOf(module2)) : {}, - "default", - module2 && module2.__esModule && "default" in module2 - ? { get: () => module2.default, enumerable: !0 } - : { value: module2, enumerable: !0 }, - ), - ), - module2, - ); - -var require = path => import.meta.require(path); // assert/build/internal/errors.js var require_errors = __commonJS({ @@ -175,7 +144,6 @@ var require_errors = __commonJS({ "ERR_INVALID_ARG_VALUE", function (name, value) { var reason = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : "is invalid"; - util === void 0 && (util = require("util")); var inspected = util.inspect(value); return ( inspected.length > 128 && (inspected = "".concat(inspected.slice(0, 128), "...")), @@ -387,8 +355,7 @@ var require_assertion_error = __commonJS({ _typeof(obj) ); } - var _require = require("util"), - inspect = _require.inspect, + var inspect = util.inspect, _require2 = require_errors(), ERR_INVALID_ARG_TYPE = _require2.codes.ERR_INVALID_ARG_TYPE; function endsWith(str, search, this_len) { @@ -871,9 +838,9 @@ var require_assert = __commonJS({ ERR_INVALID_RETURN_VALUE = _require$codes.ERR_INVALID_RETURN_VALUE, ERR_MISSING_ARGS = _require$codes.ERR_MISSING_ARGS, AssertionError = require_assertion_error(), - _require2 = require("util"), + _require2 = util, inspect = _require2.inspect, - _require$types = require("util").types, + _require$types = util.types, isPromise = _require$types.isPromise, isRegExp = _require$types.isRegExp, objectAssign = Object.assign, -- cgit v1.2.3