From d9b130410b78face988e2fa5c3939e3584bc02f7 Mon Sep 17 00:00:00 2001 From: VishnuJin <45007338+VishnuJin@users.noreply.github.com> Date: Tue, 4 Jan 2022 00:40:17 +0530 Subject: feat(compat) preload Node.js built-in modules in global vars REPL (#13127) This commit adds preloading of built-in Node.js modules in the REPL if running with "deno repl --compat --unstable". --- cli/compat/mod.rs | 15 +++++++++++++++ 1 file changed, 15 insertions(+) (limited to 'cli/compat/mod.rs') diff --git a/cli/compat/mod.rs b/cli/compat/mod.rs index 4ed02dfe7..401e1ab40 100644 --- a/cli/compat/mod.rs +++ b/cli/compat/mod.rs @@ -140,3 +140,18 @@ pub(crate) fn add_global_require( fn escape_for_single_quote_string(text: &str) -> String { text.replace(r"\", r"\\").replace("'", r"\'") } + +pub fn setup_builtin_modules( + js_runtime: &mut JsRuntime, +) -> Result<(), AnyError> { + let mut script = String::new(); + for module in SUPPORTED_MODULES { + // skipping the modules that contains '/' as they are not available in NodeJS repl as well + if !module.contains('/') { + script = format!("{}const {} = require('{}');\n", script, module, module); + } + } + + js_runtime.execute_script("setup_node_builtins.js", &script)?; + Ok(()) +} -- cgit v1.2.3