diff options
Diffstat (limited to 'cli/tests')
5 files changed, 64 insertions, 0 deletions
diff --git a/cli/tests/integration/npm_tests.rs b/cli/tests/integration/npm_tests.rs index 2dcd9824f..507bddb30 100644 --- a/cli/tests/integration/npm_tests.rs +++ b/cli/tests/integration/npm_tests.rs @@ -534,6 +534,52 @@ itest!(builtin_module_module { http_server: true, }); +itest!(node_modules_dir_require_added_node_modules_folder { + args: + "run --unstable --node-modules-dir -A --quiet $TESTDATA/npm/require_added_nm_folder/main.js", + output: "npm/require_added_nm_folder/main.out", + envs: env_vars(), + http_server: true, + exit_code: 0, + temp_cwd: true, +}); + +itest!(node_modules_dir_with_deps { + args: "run --allow-read --allow-env --unstable --node-modules-dir $TESTDATA/npm/cjs_with_deps/main.js", + output: "npm/cjs_with_deps/main.out", + envs: env_vars(), + http_server: true, + temp_cwd: true, +}); + +#[test] +fn node_modules_dir_cache() { + let _server = http_server(); + + let deno_dir = util::new_deno_dir(); + + let deno = util::deno_cmd_with_deno_dir(&deno_dir) + .current_dir(deno_dir.path()) + .arg("cache") + .arg("--unstable") + .arg("--node-modules-dir") + .arg("--quiet") + .arg(util::testdata_path().join("npm/dual_cjs_esm/main.ts")) + .envs(env_vars()) + .spawn() + .unwrap(); + let output = deno.wait_with_output().unwrap(); + assert!(output.status.success()); + + let node_modules = deno_dir.path().join("node_modules"); + assert!(node_modules + .join( + ".deno/@denotest+dual-cjs-esm@1.0.0/node_modules/@denotest/dual-cjs-esm" + ) + .exists()); + assert!(node_modules.join("@denotest/dual-cjs-esm").exists()); +} + #[test] fn ensure_registry_files_local() { // ensures the registry files all point at local tarballs diff --git a/cli/tests/testdata/npm/registry/@denotest/require-added-nm-folder/1.0.0/index.js b/cli/tests/testdata/npm/registry/@denotest/require-added-nm-folder/1.0.0/index.js new file mode 100644 index 000000000..8c8c4a0fa --- /dev/null +++ b/cli/tests/testdata/npm/registry/@denotest/require-added-nm-folder/1.0.0/index.js @@ -0,0 +1,3 @@ +exports.getValue = () => { + return require(".other-package").get(); +}; diff --git a/cli/tests/testdata/npm/registry/@denotest/require-added-nm-folder/1.0.0/package.json b/cli/tests/testdata/npm/registry/@denotest/require-added-nm-folder/1.0.0/package.json new file mode 100644 index 000000000..718f1eb8c --- /dev/null +++ b/cli/tests/testdata/npm/registry/@denotest/require-added-nm-folder/1.0.0/package.json @@ -0,0 +1,4 @@ +{ + "name": "@denotest/require-added-nm-folder", + "version": "1.0.0" +} diff --git a/cli/tests/testdata/npm/require_added_nm_folder/main.js b/cli/tests/testdata/npm/require_added_nm_folder/main.js new file mode 100644 index 000000000..723b2023a --- /dev/null +++ b/cli/tests/testdata/npm/require_added_nm_folder/main.js @@ -0,0 +1,10 @@ +import { getValue } from "npm:@denotest/require-added-nm-folder"; + +Deno.mkdirSync("./node_modules/.other-package"); +Deno.writeTextFileSync("./node_modules/.other-package/package.json", "{}"); +Deno.writeTextFileSync( + "./node_modules/.other-package/index.js", + "exports.get = () => 5;", +); + +console.log(getValue()); diff --git a/cli/tests/testdata/npm/require_added_nm_folder/main.out b/cli/tests/testdata/npm/require_added_nm_folder/main.out new file mode 100644 index 000000000..7ed6ff82d --- /dev/null +++ b/cli/tests/testdata/npm/require_added_nm_folder/main.out @@ -0,0 +1 @@ +5 |