diff options
Diffstat (limited to 'cli/tests/integration/npm_tests.rs')
-rw-r--r-- | cli/tests/integration/npm_tests.rs | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/cli/tests/integration/npm_tests.rs b/cli/tests/integration/npm_tests.rs index dc3aa7b11..40214315a 100644 --- a/cli/tests/integration/npm_tests.rs +++ b/cli/tests/integration/npm_tests.rs @@ -1880,3 +1880,34 @@ fn binary_package_with_optional_dependencies() { } } } + +#[test] +pub fn node_modules_dir_config_file() { + let test_context = TestContextBuilder::for_npm().use_temp_cwd().build(); + let temp_dir = test_context.temp_dir(); + let node_modules_dir = temp_dir.path().join("node_modules"); + let rm_node_modules = || std::fs::remove_dir_all(&node_modules_dir).unwrap(); + + temp_dir.write("deno.json", r#"{ "nodeModulesDir": true }"#); + temp_dir.write("main.ts", "import 'npm:@denotest/esm-basic';"); + + let deno_cache_cmd = test_context.new_command().args("cache --quiet main.ts"); + deno_cache_cmd.run(); + + assert!(node_modules_dir.exists()); + rm_node_modules(); + temp_dir.write("deno.json", r#"{ "nodeModulesDir": false }"#); + + deno_cache_cmd.run(); + assert!(!node_modules_dir.exists()); + + temp_dir.write("package.json", r#"{}"#); + deno_cache_cmd.run(); + assert!(!node_modules_dir.exists()); + + test_context + .new_command() + .args("cache --quiet --node-modules-dir main.ts") + .run(); + assert!(node_modules_dir.exists()); +} |