summaryrefslogtreecommitdiff
path: root/cli/tests
diff options
context:
space:
mode:
Diffstat (limited to 'cli/tests')
-rw-r--r--cli/tests/integration/npm_tests.rs46
-rw-r--r--cli/tests/testdata/npm/registry/@denotest/require-added-nm-folder/1.0.0/index.js3
-rw-r--r--cli/tests/testdata/npm/registry/@denotest/require-added-nm-folder/1.0.0/package.json4
-rw-r--r--cli/tests/testdata/npm/require_added_nm_folder/main.js10
-rw-r--r--cli/tests/testdata/npm/require_added_nm_folder/main.out1
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