summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ext/node/lib.rs1
-rw-r--r--ext/node/polyfills/_core.ts83
-rw-r--r--ext/node/polyfills/_next_tick.ts3
-rw-r--r--ext/node/polyfills/async_hooks.ts3
-rw-r--r--ext/node/polyfills/child_process.ts3
-rw-r--r--ext/node/polyfills/internal_binding/types.ts2
-rw-r--r--ext/node/polyfills/process.ts2
7 files changed, 8 insertions, 89 deletions
diff --git a/ext/node/lib.rs b/ext/node/lib.rs
index 64a2e083a..65db6e45f 100644
--- a/ext/node/lib.rs
+++ b/ext/node/lib.rs
@@ -269,7 +269,6 @@ deno_core::extension!(deno_node,
"00_globals.js",
"01_require.js",
"02_init.js",
- "_core.ts",
"_events.mjs",
"_fs/_fs_access.ts",
"_fs/_fs_appendFile.ts",
diff --git a/ext/node/polyfills/_core.ts b/ext/node/polyfills/_core.ts
deleted file mode 100644
index af619378f..000000000
--- a/ext/node/polyfills/_core.ts
+++ /dev/null
@@ -1,83 +0,0 @@
-// Copyright 2018-2023 the Deno authors. All rights reserved. MIT license.
-
-// This module provides an interface to `Deno.core`. For environments
-// that don't have access to `Deno.core` some APIs are polyfilled, while
-// some are unavailble and throw on call.
-// Note: deno_std shouldn't use Deno.core namespace. We should minimize these
-// usages.
-
-import { TextEncoder } from "ext:deno_web/08_text_encoding.js";
-
-// deno-lint-ignore no-explicit-any
-let DenoCore: any;
-
-// deno-lint-ignore no-explicit-any
-const { Deno } = globalThis as any;
-
-// @ts-ignore Deno.core is not defined in types
-if (Deno?.[Deno.internal]?.core) {
- // @ts-ignore Deno[Deno.internal].core is not defined in types
- DenoCore = Deno[Deno.internal].core;
-} else if (Deno?.core) {
- // @ts-ignore Deno.core is not defined in types
- DenoCore = Deno.core;
-} else {
- DenoCore = {};
-}
-
-export const core = {
- runMicrotasks: DenoCore.runMicrotasks ?? function () {
- throw new Error(
- "Deno.core.runMicrotasks() is not supported in this environment",
- );
- },
- setHasTickScheduled: DenoCore.setHasTickScheduled ?? function () {
- throw new Error(
- "Deno.core.setHasTickScheduled() is not supported in this environment",
- );
- },
- hasTickScheduled: DenoCore.hasTickScheduled ?? function () {
- throw new Error(
- "Deno.core.hasTickScheduled() is not supported in this environment",
- );
- },
- setNextTickCallback: DenoCore.setNextTickCallback ?? undefined,
- setMacrotaskCallback: DenoCore.setMacrotaskCallback ?? function () {
- throw new Error(
- "Deno.core.setNextTickCallback() is not supported in this environment",
- );
- },
- evalContext: DenoCore.evalContext ??
- function (_code: string, _filename: string) {
- throw new Error(
- "Deno.core.evalContext is not supported in this environment",
- );
- },
- encode: DenoCore.encode ?? function (chunk: string): Uint8Array {
- return new TextEncoder().encode(chunk);
- },
- eventLoopHasMoreWork: DenoCore.eventLoopHasMoreWork ?? function (): boolean {
- return false;
- },
- isProxy: DenoCore.isProxy ?? function (): boolean {
- return false;
- },
- getPromiseDetails: DenoCore.getPromiseDetails ??
- function (_promise: Promise<unknown>): [number, unknown] {
- throw new Error(
- "Deno.core.getPromiseDetails is not supported in this environment",
- );
- },
- setPromiseHooks: DenoCore.setPromiseHooks ?? function () {
- throw new Error(
- "Deno.core.setPromiseHooks is not supported in this environment",
- );
- },
- ops: DenoCore.ops ?? {
- op_napi_open(_filename: string) {
- throw new Error(
- "Node API is not supported in this environment",
- );
- },
- },
-};
diff --git a/ext/node/polyfills/_next_tick.ts b/ext/node/polyfills/_next_tick.ts
index 45e972d6b..fe1b68742 100644
--- a/ext/node/polyfills/_next_tick.ts
+++ b/ext/node/polyfills/_next_tick.ts
@@ -1,11 +1,12 @@
// Copyright 2018-2023 the Deno authors. All rights reserved. MIT license.
// Copyright Joyent, Inc. and other Node contributors.
-import { core } from "ext:deno_node/_core.ts";
import { validateFunction } from "ext:deno_node/internal/validators.mjs";
import { _exiting } from "ext:deno_node/_process/exiting.ts";
import { FixedQueue } from "ext:deno_node/internal/fixed_queue.ts";
+const { core } = globalThis.__bootstrap;
+
interface Tock {
callback: (...args: Array<unknown>) => void;
args: Array<unknown>;
diff --git a/ext/node/polyfills/async_hooks.ts b/ext/node/polyfills/async_hooks.ts
index 8111af73b..d2c939000 100644
--- a/ext/node/polyfills/async_hooks.ts
+++ b/ext/node/polyfills/async_hooks.ts
@@ -5,7 +5,8 @@
// https://github.com/cloudflare/workerd/blob/77fd0ed6ddba184414f0216508fc62b06e716cab/src/workerd/api/node/async-hooks.c++#L9
import { validateFunction } from "ext:deno_node/internal/validators.mjs";
-import { core } from "ext:deno_node/_core.ts";
+
+const { core } = globalThis.__bootstrap;
function assert(cond: boolean) {
if (!cond) throw new Error("Assertion failed");
diff --git a/ext/node/polyfills/child_process.ts b/ext/node/polyfills/child_process.ts
index 5ca760ed0..f731a0bf1 100644
--- a/ext/node/polyfills/child_process.ts
+++ b/ext/node/polyfills/child_process.ts
@@ -2,7 +2,6 @@
// This module implements 'child_process' module of Node.JS API.
// ref: https://nodejs.org/api/child_process.html
-import { core } from "ext:deno_node/_core.ts";
import {
ChildProcess,
ChildProcessOptions,
@@ -44,6 +43,8 @@ import {
kEmptyObject,
} from "ext:deno_node/internal/util.mjs";
+const { core } = globalThis.__bootstrap;
+
const MAX_BUFFER = 1024 * 1024;
type ForkOptions = ChildProcessOptions;
diff --git a/ext/node/polyfills/internal_binding/types.ts b/ext/node/polyfills/internal_binding/types.ts
index 943f5e31d..d03c342ad 100644
--- a/ext/node/polyfills/internal_binding/types.ts
+++ b/ext/node/polyfills/internal_binding/types.ts
@@ -21,7 +21,7 @@
// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE
// USE OR OTHER DEALINGS IN THE SOFTWARE.
-import { core } from "ext:deno_node/_core.ts";
+const { core } = globalThis.__bootstrap;
// https://tc39.es/ecma262/#sec-object.prototype.tostring
const _toString = Object.prototype.toString;
diff --git a/ext/node/polyfills/process.ts b/ext/node/polyfills/process.ts
index eb5a491ae..5e45fecfd 100644
--- a/ext/node/polyfills/process.ts
+++ b/ext/node/polyfills/process.ts
@@ -2,7 +2,7 @@
// Copyright Joyent, Inc. and Node.js contributors. All rights reserved. MIT license.
const internals = globalThis.__bootstrap.internals;
-import { core } from "ext:deno_node/_core.ts";
+const { core } = globalThis.__bootstrap;
import { notImplemented, warnNotImplemented } from "ext:deno_node/_utils.ts";
import { EventEmitter } from "ext:deno_node/events.ts";
import { validateString } from "ext:deno_node/internal/validators.mjs";