feat(byonm): support deno run npm:<package> when package is not in package.json (#25981)

Closes https://github.com/denoland/deno/issues/25905
This commit is contained in:
David Sherret 2024-10-02 21:17:39 +01:00 committed by GitHub
parent bbd4ae1bc1
commit cac28b5262
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
20 changed files with 178 additions and 66 deletions

View file

@ -51,6 +51,7 @@ use self::resolvers::NpmPackageFsResolver;
use super::CliNpmResolver;
use super::InnerCliNpmResolverRef;
use super::ResolvePkgFolderFromDenoReqError;
mod cache;
mod registry;
@ -649,9 +650,13 @@ impl CliNpmResolver for ManagedCliNpmResolver {
&self,
req: &PackageReq,
_referrer: &ModuleSpecifier,
) -> Result<PathBuf, AnyError> {
let pkg_id = self.resolve_pkg_id_from_pkg_req(req)?;
self.resolve_pkg_folder_from_pkg_id(&pkg_id)
) -> Result<PathBuf, ResolvePkgFolderFromDenoReqError> {
let pkg_id = self
.resolve_pkg_id_from_pkg_req(req)
.map_err(|err| ResolvePkgFolderFromDenoReqError::Managed(err.into()))?;
self
.resolve_pkg_folder_from_pkg_id(&pkg_id)
.map_err(ResolvePkgFolderFromDenoReqError::Managed)
}
fn check_state_hash(&self) -> Option<u64> {