summaryrefslogtreecommitdiff
path: root/cli/npm
diff options
context:
space:
mode:
Diffstat (limited to 'cli/npm')
-rw-r--r--cli/npm/mod.rs10
1 files changed, 10 insertions, 0 deletions
diff --git a/cli/npm/mod.rs b/cli/npm/mod.rs
index 0e5c07914..bdbc5aca3 100644
--- a/cli/npm/mod.rs
+++ b/cli/npm/mod.rs
@@ -76,6 +76,7 @@ pub struct GlobalNpmPackageResolver {
cache: NpmCache,
resolution: Arc<NpmResolution>,
registry_url: Url,
+ unstable: bool,
}
impl GlobalNpmPackageResolver {
@@ -83,11 +84,13 @@ impl GlobalNpmPackageResolver {
dir: &DenoDir,
reload: bool,
cache_setting: CacheSetting,
+ unstable: bool,
) -> Result<Self, AnyError> {
Ok(Self::from_cache(
NpmCache::from_deno_dir(dir, cache_setting.clone())?,
reload,
cache_setting,
+ unstable,
))
}
@@ -95,6 +98,7 @@ impl GlobalNpmPackageResolver {
cache: NpmCache,
reload: bool,
cache_setting: CacheSetting,
+ unstable: bool,
) -> Self {
let api = NpmRegistryApi::new(cache.clone(), reload, cache_setting);
let registry_url = api.base_url().to_owned();
@@ -104,6 +108,7 @@ impl GlobalNpmPackageResolver {
cache,
resolution,
registry_url,
+ unstable,
}
}
@@ -117,6 +122,11 @@ impl GlobalNpmPackageResolver {
&self,
packages: Vec<NpmPackageReq>,
) -> Result<(), AnyError> {
+ if !self.unstable && !packages.is_empty() {
+ bail!(
+ "Unstable use of npm specifiers. The --unstable flag must be provided."
+ )
+ }
self.resolution.add_package_reqs(packages).await
}