summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKid <44045911+kidonng@users.noreply.github.com>2021-04-23 00:08:12 +0800
committerGitHub <noreply@github.com>2021-04-22 12:08:12 -0400
commitaaf1f246d7ee079da3a51707cc3c8adad8874be3 (patch)
tree742aa514e9f56ebaebb98f56a64091e9d076ced0
parentabe19c712d13bbcd14c918c96b2c7af24d8a37dd (diff)
fix(nodejs): Check for `.nvmrc` (#2626)
* feat(nodejs): Check for `.nvmrc` * Fix test
-rw-r--r--docs/config/README.md1
-rw-r--r--src/configs/nodejs.rs2
-rw-r--r--src/modules/nodejs.rs11
3 files changed, 13 insertions, 1 deletions
diff --git a/docs/config/README.md b/docs/config/README.md
index 3d93396f0..063bd5a9d 100644
--- a/docs/config/README.md
+++ b/docs/config/README.md
@@ -1863,6 +1863,7 @@ By default the module will be shown if any of the following conditions are met:
- The current directory contains a `package.json` file
- The current directory contains a `.node-version` file
+- The current directory contains a `.nvmrc` file
- The current directory contains a `node_modules` directory
- The current directory contains a file with the `.js`, `.mjs` or `.cjs` extension
- The current directory contains a file with the `.ts` extension
diff --git a/src/configs/nodejs.rs b/src/configs/nodejs.rs
index 6d905069f..fbafc7f50 100644
--- a/src/configs/nodejs.rs
+++ b/src/configs/nodejs.rs
@@ -26,7 +26,7 @@ impl<'a> Default for NodejsConfig<'a> {
disabled: false,
not_capable_style: "bold red",
detect_extensions: vec!["js", "mjs", "cjs", "ts"],
- detect_files: vec!["package.json", ".node-version"],
+ detect_files: vec!["package.json", ".node-version", ".nvmrc"],
detect_folders: vec!["node_modules"],
}
}
diff --git a/src/modules/nodejs.rs b/src/modules/nodejs.rs
index 1bcfbdda3..b48e5d83c 100644
--- a/src/modules/nodejs.rs
+++ b/src/modules/nodejs.rs
@@ -171,6 +171,17 @@ mod tests {
}
#[test]
+ fn folder_with_nvmrc() -> io::Result<()> {
+ let dir = tempfile::tempdir()?;
+ File::create(dir.path().join(".nvmrc"))?.sync_all()?;
+
+ let actual = ModuleRenderer::new("nodejs").path(dir.path()).collect();
+ let expected = Some(format!("via {}", Color::Green.bold().paint(" v12.0.0 ")));
+ assert_eq!(expected, actual);
+ dir.close()
+ }
+
+ #[test]
fn folder_with_js_file() -> io::Result<()> {
let dir = tempfile::tempdir()?;
File::create(dir.path().join("index.js"))?.sync_all()?;