From aaf1f246d7ee079da3a51707cc3c8adad8874be3 Mon Sep 17 00:00:00 2001 From: Kid <44045911+kidonng@users.noreply.github.com> Date: Fri, 23 Apr 2021 00:08:12 +0800 Subject: [PATCH] fix(nodejs): Check for `.nvmrc` (#2626) * feat(nodejs): Check for `.nvmrc` * Fix test --- docs/config/README.md | 1 + src/configs/nodejs.rs | 2 +- src/modules/nodejs.rs | 11 +++++++++++ 3 files changed, 13 insertions(+), 1 deletion(-) 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 @@ -170,6 +170,17 @@ mod tests { dir.close() } + #[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()?;