From 06bd9e9e1640150f98857a74fea0cc1a3b3386a7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bartek=20Iwa=C5=84czuk?= Date: Fri, 11 Nov 2022 18:20:13 +0100 Subject: fix(npm): disable npm specifiers in import.meta.resolve() (#16599) --- core/bindings.rs | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) (limited to 'core') diff --git a/core/bindings.rs b/core/bindings.rs index 82cce7102..a28618571 100644 --- a/core/bindings.rs +++ b/core/bindings.rs @@ -363,8 +363,14 @@ fn import_meta_resolve( let module_map = module_map_rc.borrow(); module_map.loader.clone() }; - match loader.resolve(&specifier.to_rust_string_lossy(scope), &referrer, false) - { + let specifier_str = specifier.to_rust_string_lossy(scope); + + if specifier_str.starts_with("npm:") { + throw_type_error(scope, "\"npm:\" specifiers are currently not supported in import.meta.resolve()"); + return; + } + + match loader.resolve(&specifier_str, &referrer, false) { Ok(resolved) => { let resolved_val = serde_v8::to_v8(scope, resolved.as_str()).unwrap(); rv.set(resolved_val); -- cgit v1.2.3