From b4aa1530970f7b9cc4e6f2f27e077852c4e178d3 Mon Sep 17 00:00:00 2001 From: Leo Kettmeir Date: Tue, 7 Feb 2023 20:22:46 +0100 Subject: refactor: Use ES modules for internal runtime code (#17648) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 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 --- ext/webidl/benches/dict.js | 7 ++++++- ext/webidl/benches/dict.rs | 2 +- 2 files changed, 7 insertions(+), 2 deletions(-) (limited to 'ext/webidl/benches') diff --git a/ext/webidl/benches/dict.js b/ext/webidl/benches/dict.js index 353a630eb..b53326de9 100644 --- a/ext/webidl/benches/dict.js +++ b/ext/webidl/benches/dict.js @@ -2,7 +2,10 @@ // deno-lint-ignore-file -const { createDictionaryConverter, converters } = globalThis.__bootstrap.webidl; +import { + converters, + createDictionaryConverter, +} from "internal:ext/webidl/00_webidl.js"; const TextDecodeOptions = createDictionaryConverter( "TextDecodeOptions", @@ -14,6 +17,7 @@ const TextDecodeOptions = createDictionaryConverter( }, ], ); +globalThis.TextDecodeOptions = TextDecodeOptions; // Sanity check { @@ -33,3 +37,4 @@ function handwrittenConverter(V) { } return defaultValue; } +globalThis.handwrittenConverter = handwrittenConverter; diff --git a/ext/webidl/benches/dict.rs b/ext/webidl/benches/dict.rs index e7df8af62..1400a00ed 100644 --- a/ext/webidl/benches/dict.rs +++ b/ext/webidl/benches/dict.rs @@ -11,7 +11,7 @@ fn setup() -> Vec { vec![ deno_webidl::init(), Extension::builder("deno_webidl_bench") - .js(vec![("setup", include_str!("dict.js"))]) + .esm(vec![("internal:setup", include_str!("dict.js"))]) .build(), ] } -- cgit v1.2.3