diff options
author | Leo Kettmeir <crowlkats@toaxl.com> | 2023-02-07 20:22:46 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-02-07 20:22:46 +0100 |
commit | b4aa1530970f7b9cc4e6f2f27e077852c4e178d3 (patch) | |
tree | 3d008912affe8550692183bd2697a386db5e3c79 /tools/bench/rebootstrap.js | |
parent | 65500f36e870b4ada3996b06aa287e30177d21a3 (diff) |
refactor: Use ES modules for internal runtime code (#17648)
This PR refactors all internal js files (except core) to be written as
ES modules.
`__bootstrap`has been mostly replaced with static imports in form in
`internal:[path to file from repo root]`.
To specify if files are ESM, an `esm` method has been added to
`Extension`, similar to the `js` method.
A new ModuleLoader called `InternalModuleLoader` has been added to
enable the loading of internal specifiers, which is used in all
situations except when a snapshot is only loaded, and not a new one is
created from it.
---------
Co-authored-by: Bartek IwaĆczuk <biwanczuk@gmail.com>
Diffstat (limited to 'tools/bench/rebootstrap.js')
-rw-r--r-- | tools/bench/rebootstrap.js | 27 |
1 files changed, 0 insertions, 27 deletions
diff --git a/tools/bench/rebootstrap.js b/tools/bench/rebootstrap.js deleted file mode 100644 index 0e94285d5..000000000 --- a/tools/bench/rebootstrap.js +++ /dev/null @@ -1,27 +0,0 @@ -// Copyright 2018-2023 the Deno authors. All rights reserved. MIT license. - -import { dirname, fromFileUrl, join } from "../../test_util/std/path/mod.ts"; -import { expandGlobSync } from "../../test_util/std/fs/mod.ts"; - -const ROOT_DIR = join(dirname(fromFileUrl(import.meta.url)), "..", ".."); - -export function rebootstrap(exts) { - [ - "core/00_primordials.js", - ...exts.map((e) => `ext/${e}/*.js`), - ] - .map((pattern) => join(ROOT_DIR, pattern)) - .map((pattern) => [...expandGlobSync(pattern)]) - .flat() - .map((entry) => entry.path) - .forEach((file) => { - Deno.core.evalContext(Deno.readTextFileSync(file), file); - }); - const bootstrap = globalThis.__bootstrap; - delete globalThis.__bootstrap; - // Patch dispatchEvent so we don't crash when MainWorker exits via: - // `window.dispatchEvent(new Event('unload'))` - // which fails since symbols are mangled during rebootstrap - globalThis.dispatchEvent = () => {}; - return bootstrap; -} |