summaryrefslogtreecommitdiff
path: root/cli/tools/registry
diff options
context:
space:
mode:
authorDavid Sherret <dsherret@users.noreply.github.com>2024-06-26 17:24:10 -0400
committerGitHub <noreply@github.com>2024-06-26 21:24:10 +0000
commit0da01c0ca6b537f74be32126e567bdfc2c73ed16 (patch)
treeef29d32cffb03a975a58c16827b0691dda50a5b3 /cli/tools/registry
parent86e0292733d6d08bf338b68fd50863aef17b1e44 (diff)
refactor: move PackageJson to deno_config (#24348)
Diffstat (limited to 'cli/tools/registry')
-rw-r--r--cli/tools/registry/pm.rs6
-rw-r--r--cli/tools/registry/unfurl.rs15
2 files changed, 12 insertions, 9 deletions
diff --git a/cli/tools/registry/pm.rs b/cli/tools/registry/pm.rs
index 40493c6bf..4fdc02550 100644
--- a/cli/tools/registry/pm.rs
+++ b/cli/tools/registry/pm.rs
@@ -50,7 +50,7 @@ impl DenoConfigFormat {
enum DenoOrPackageJson {
Deno(deno_config::ConfigFile, DenoConfigFormat),
- Npm(deno_node::PackageJson, Option<FmtOptionsConfig>),
+ Npm(Arc<deno_node::PackageJson>, Option<FmtOptionsConfig>),
}
impl DenoOrPackageJson {
@@ -306,8 +306,8 @@ pub async fn add(flags: Flags, add_flags: AddFlags) -> Result<(), AnyError> {
.await
.context("Failed to update configuration file")?;
- // TODO(bartlomieju): we should now cache the imports from the deno.json.
-
+ // clear the previously cached package.json from memory before reloading it
+ deno_node::PackageJsonThreadLocalCache::clear();
// make a new CliFactory to pick up the updated config file
let cli_factory = CliFactory::from_flags(flags)?;
// cache deps
diff --git a/cli/tools/registry/unfurl.rs b/cli/tools/registry/unfurl.rs
index bc3272835..36bff64bb 100644
--- a/cli/tools/registry/unfurl.rs
+++ b/cli/tools/registry/unfurl.rs
@@ -305,7 +305,6 @@ fn to_range(
mod tests {
use std::sync::Arc;
- use crate::args::package_json::get_local_package_json_version_reqs;
use crate::args::PackageJsonDepsProvider;
use super::*;
@@ -316,7 +315,6 @@ mod tests {
use deno_runtime::deno_fs::RealFs;
use deno_runtime::deno_node::PackageJson;
use import_map::ImportMapWithDiagnostics;
- use indexmap::IndexMap;
use pretty_assertions::assert_eq;
use test_util::testdata_path;
@@ -349,13 +347,18 @@ mod tests {
});
let ImportMapWithDiagnostics { import_map, .. } =
import_map::parse_from_value(deno_json_url, value).unwrap();
- let mut package_json = PackageJson::empty(cwd.join("package.json"));
- package_json.dependencies =
- Some(IndexMap::from([("chalk".to_string(), "5".to_string())]));
+ let package_json = PackageJson::load_from_value(
+ cwd.join("package.json"),
+ json!({
+ "dependencies": {
+ "chalk": 5
+ }
+ }),
+ );
let mapped_resolver = MappedSpecifierResolver::new(
Some(Arc::new(import_map)),
Arc::new(PackageJsonDepsProvider::new(Some(
- get_local_package_json_version_reqs(&package_json),
+ package_json.resolve_local_package_json_version_reqs(),
))),
);