From f055a1e13e0d07ebf5b23e6e623f726c7d5bf54b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bartek=20Iwa=C5=84czuk?= Date: Fri, 28 Nov 2025 11:56:56 +0100 Subject: [PATCH] feat(install): don't require npm: prefix --- cli/tools/pm/mod.rs | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/cli/tools/pm/mod.rs b/cli/tools/pm/mod.rs index 240ae35996078d..ebdce30f89543b 100644 --- a/cli/tools/pm/mod.rs +++ b/cli/tools/pm/mod.rs @@ -1,5 +1,6 @@ // Copyright 2018-2025 the Deno authors. MIT license. +use std::borrow::Cow; use std::path::Path; use std::path::PathBuf; use std::sync::Arc; @@ -454,8 +455,14 @@ pub async fn add( let mut package_reqs = Vec::with_capacity(add_flags.packages.len()); for entry_text in add_flags.packages.iter() { + let text = + if !entry_text.starts_with("npm:") && !entry_text.starts_with("jsr:") { + Cow::Owned(format!("npm:{}", entry_text)) + } else { + Cow::Borrowed(entry_text) + }; let req = AddRmPackageReq::parse( - entry_text, + &text, add_flags.default_registry.map(|r| r.into()), ) .with_context(|| format!("Failed to parse package: {}", entry_text))?;