diff --git a/cli/tests/integration/node_unit_tests.rs b/cli/tests/integration/node_unit_tests.rs index b4fdbcf7be..b9a3d4b1ec 100644 --- a/cli/tests/integration/node_unit_tests.rs +++ b/cli/tests/integration/node_unit_tests.rs @@ -73,6 +73,7 @@ util::unit_test_factory!( process_test, querystring_test, readline_test, + repl_test, stream_test, string_decoder_test, timers_test, diff --git a/cli/tests/unit_node/repl_test.ts b/cli/tests/unit_node/repl_test.ts new file mode 100644 index 0000000000..e703d69f8b --- /dev/null +++ b/cli/tests/unit_node/repl_test.ts @@ -0,0 +1,17 @@ +// deno-lint-ignore-file no-undef +// Copyright 2018-2023 the Deno authors. All rights reserved. MIT license. + +import repl from "node:repl"; +import { assert } from "../../../test_util/std/testing/asserts.ts"; + +Deno.test({ + name: "repl module exports", + fn() { + assert(typeof repl.REPLServer !== "undefined"); + assert(typeof repl.start !== "undefined"); + // @ts-ignore not present in declaration files, but libraries depend on it + assert(typeof repl.builtinModules !== "undefined"); + // @ts-ignore not present in declaration files, but libraries depend on it + assert(typeof repl._builtinLibs !== "undefined"); + }, +}); diff --git a/ext/node/lib.rs b/ext/node/lib.rs index ca79c3dceb..40330dc5b0 100644 --- a/ext/node/lib.rs +++ b/ext/node/lib.rs @@ -452,7 +452,6 @@ deno_core::extension!(deno_node, "path/mod.ts", "path/separator.ts", "readline/promises.ts", - "repl.ts", "wasi.ts", "assert.ts" with_specifier "node:assert", "assert/strict.ts" with_specifier "node:assert/strict", @@ -485,6 +484,7 @@ deno_core::extension!(deno_node, "punycode.ts" with_specifier "node:punycode", "querystring.ts" with_specifier "node:querystring", "readline.ts" with_specifier "node:readline", + "repl.ts" with_specifier "node:repl", "stream.ts" with_specifier "node:stream", "stream/consumers.mjs" with_specifier "node:stream/consumers", "stream/promises.mjs" with_specifier "node:stream/promises", diff --git a/ext/node/polyfill.rs b/ext/node/polyfill.rs index fede915a28..7772e3a16a 100644 --- a/ext/node/polyfill.rs +++ b/ext/node/polyfill.rs @@ -55,6 +55,7 @@ generate_builtin_node_module_lists! { "process", "punycode", "querystring", + "repl", "readline", "stream", "stream/consumers", diff --git a/ext/node/polyfills/01_require.js b/ext/node/polyfills/01_require.js index acdf8402ff..092e7490a3 100644 --- a/ext/node/polyfills/01_require.js +++ b/ext/node/polyfills/01_require.js @@ -110,7 +110,7 @@ import process from "node:process"; import querystring from "node:querystring"; import readline from "node:readline"; import readlinePromises from "ext:deno_node/readline/promises.ts"; -import repl from "ext:deno_node/repl.ts"; +import repl from "node:repl"; import stream from "node:stream"; import streamConsumers from "node:stream/consumers"; import streamPromises from "node:stream/promises"; diff --git a/ext/node/polyfills/repl.ts b/ext/node/polyfills/repl.ts index 8a57ce24cd..914071ef7d 100644 --- a/ext/node/polyfills/repl.ts +++ b/ext/node/polyfills/repl.ts @@ -52,11 +52,13 @@ export const builtinModules = [ "worker_threads", "zlib", ]; +export const _builtinLibs = builtinModules; export function start() { notImplemented("repl.start"); } export default { REPLServer, builtinModules, + _builtinLibs, start, };