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/url/internal.d.ts | 20 +++++++------------- 1 file changed, 7 insertions(+), 13 deletions(-) (limited to 'ext/url/internal.d.ts') diff --git a/ext/url/internal.d.ts b/ext/url/internal.d.ts index 7065c432f..b8a2a000a 100644 --- a/ext/url/internal.d.ts +++ b/ext/url/internal.d.ts @@ -1,20 +1,14 @@ // Copyright 2018-2023 the Deno authors. All rights reserved. MIT license. -// deno-lint-ignore-file no-var - /// /// -declare namespace globalThis { - declare namespace __bootstrap { - declare var url: { - URL: typeof URL; - URLSearchParams: typeof URLSearchParams; - parseUrlEncoded(bytes: Uint8Array): [string, string][]; - }; +declare module "internal:ext/url/00_url.js" { + const URL: typeof URL; + const URLSearchParams: typeof URLSearchParams; + function parseUrlEncoded(bytes: Uint8Array): [string, string][]; +} - declare var urlPattern: { - URLPattern: typeof URLPattern; - }; - } +declare module "internal:ext/url/01_urlpattern.js" { + const URLPattern: typeof URLPattern; } -- cgit v1.2.3