From 75209e12f19ca5d4a2a7c9008fba63a487ad8e6a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bartek=20Iwa=C5=84czuk?= Date: Wed, 15 Feb 2023 19:44:52 +0100 Subject: feat: wire up ext/node to the Node compatibility layer (#17785) This PR changes Node.js/npm compatibility layer to use polyfills for built-in Node.js embedded in the snapshot (that are coming from "ext/node" extension). As a result loading `std/node`, either from "https://deno.land/std@/" or from "DENO_NODE_COMPAT_URL" env variable were removed. All code that is imported via "npm:" specifiers now uses code embedded in the snapshot. Several fixes were applied to various modules in "ext/node" to make tests pass. --------- Co-authored-by: Yoshiya Hinosawa Co-authored-by: Divy Srivastava --- ext/node/polyfills/console.ts | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'ext/node/polyfills/console.ts') diff --git a/ext/node/polyfills/console.ts b/ext/node/polyfills/console.ts index bfc9be051..f811f1a86 100644 --- a/ext/node/polyfills/console.ts +++ b/ext/node/polyfills/console.ts @@ -1,6 +1,10 @@ // Copyright 2018-2023 the Deno authors. All rights reserved. MIT license. import { Console } from "internal:deno_node/polyfills/internal/console/constructor.mjs"; +import { windowOrWorkerGlobalScope } from "internal:runtime/js/98_global_scope.js"; +// Don't rely on global `console` because during bootstrapping, it is pointing +// to native `console` object provided by V8. +const console = windowOrWorkerGlobalScope.console.value; export default Object.assign({}, console, { Console }); -- cgit v1.2.3