diff options
author | Bartek IwaĆczuk <biwanczuk@gmail.com> | 2024-05-23 22:26:23 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-05-23 23:26:23 +0200 |
commit | 959739f609dddacde3bbe9ecede2f409214fb34c (patch) | |
tree | 04d1776efbd3561205829f78288d26b6e14c3429 /cli/lsp/config.rs | |
parent | 5de30c53239ac74843725d981afc0bb8c45bdf16 (diff) |
FUTURE: initial support for .npmrc file (#23560)
This commit adds initial support for ".npmrc" files.
Currently we only discover ".npmrc" files next to "package.json" files
and discovering these files in user home dir is left for a follow up.
This pass supports "_authToken" and "_auth" configuration
for providing authentication.
LSP support has been left for a follow up PR.
Towards https://github.com/denoland/deno/issues/16105
Diffstat (limited to 'cli/lsp/config.rs')
-rw-r--r-- | cli/lsp/config.rs | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/cli/lsp/config.rs b/cli/lsp/config.rs index 597f45688..89ecb84d8 100644 --- a/cli/lsp/config.rs +++ b/cli/lsp/config.rs @@ -24,6 +24,7 @@ use deno_core::serde_json::json; use deno_core::serde_json::Value; use deno_core::ModuleSpecifier; use deno_lockfile::Lockfile; +use deno_npm::npm_rc::ResolvedNpmRc; use deno_runtime::deno_node::PackageJson; use deno_runtime::fs_util::specifier_to_file_path; use deno_runtime::permissions::PermissionsContainer; @@ -1090,6 +1091,7 @@ pub struct ConfigData { pub vendor_dir: Option<PathBuf>, pub lockfile: Option<Arc<Mutex<Lockfile>>>, pub package_json: Option<Arc<PackageJson>>, + pub npmrc: Option<Arc<ResolvedNpmRc>>, pub import_map: Option<Arc<ImportMap>>, pub import_map_from_settings: bool, watched_files: HashMap<ModuleSpecifier, ConfigWatchedFileType>, @@ -1274,6 +1276,8 @@ impl ConfigData { // Load package.json let mut package_json = None; + // TODO(bartlomieju): support discovering .npmrc + let npmrc = None; if let Ok(path) = specifier_to_file_path(scope) { let path = path.join("package.json"); if let Ok(specifier) = ModuleSpecifier::from_file_path(&path) { @@ -1429,6 +1433,7 @@ impl ConfigData { vendor_dir, lockfile: lockfile.map(Mutex::new).map(Arc::new), package_json: package_json.map(Arc::new), + npmrc: npmrc.map(Arc::new), import_map: import_map.map(Arc::new), import_map_from_settings, watched_files, |