summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--cli/tools/registry/pm.rs2
-rw-r--r--tests/specs/install/install_add_dep_existing/__test__.jsonc16
-rw-r--r--tests/specs/install/install_add_dep_existing/install.out4
-rw-r--r--tests/specs/install/install_add_dep_existing/package.json3
-rw-r--r--tests/specs/install/install_add_dep_existing/package.json.out5
-rw-r--r--tests/specs/install/install_add_dev_existing/__test__.jsonc16
-rw-r--r--tests/specs/install/install_add_dev_existing/install.out4
-rw-r--r--tests/specs/install/install_add_dev_existing/package.json3
-rw-r--r--tests/specs/install/install_add_dev_existing/package.json.out5
9 files changed, 58 insertions, 0 deletions
diff --git a/cli/tools/registry/pm.rs b/cli/tools/registry/pm.rs
index f56774e8e..5dc042620 100644
--- a/cli/tools/registry/pm.rs
+++ b/cli/tools/registry/pm.rs
@@ -130,8 +130,10 @@ impl NpmConfig {
fn add(&mut self, selected: SelectedPackage, dev: bool) {
let (name, version) = package_json_dependency_entry(selected);
if dev {
+ self.dependencies.swap_remove(&name);
self.dev_dependencies.insert(name, version);
} else {
+ self.dev_dependencies.swap_remove(&name);
self.dependencies.insert(name, version);
}
}
diff --git a/tests/specs/install/install_add_dep_existing/__test__.jsonc b/tests/specs/install/install_add_dep_existing/__test__.jsonc
new file mode 100644
index 000000000..74c509a57
--- /dev/null
+++ b/tests/specs/install/install_add_dep_existing/__test__.jsonc
@@ -0,0 +1,16 @@
+{
+ "tempDir": true,
+ "steps": [
+ {
+ "args": "install npm:@denotest/esm-basic",
+ "output": "install.out"
+ },
+ {
+ "args": [
+ "eval",
+ "console.log(Deno.readTextFileSync('package.json').trim())"
+ ],
+ "output": "package.json.out"
+ }
+ ]
+}
diff --git a/tests/specs/install/install_add_dep_existing/install.out b/tests/specs/install/install_add_dep_existing/install.out
new file mode 100644
index 000000000..42161f3ae
--- /dev/null
+++ b/tests/specs/install/install_add_dep_existing/install.out
@@ -0,0 +1,4 @@
+Add npm:@denotest/esm-basic@1.0.0
+Download http://localhost:4260/@denotest/esm-basic
+Download http://localhost:4260/@denotest/esm-basic/1.0.0.tgz
+Initialize @denotest/esm-basic@1.0.0
diff --git a/tests/specs/install/install_add_dep_existing/package.json b/tests/specs/install/install_add_dep_existing/package.json
new file mode 100644
index 000000000..d5ca56e00
--- /dev/null
+++ b/tests/specs/install/install_add_dep_existing/package.json
@@ -0,0 +1,3 @@
+{
+ "devDependencies": { "@denotest/esm-basic": "^1.0.0" }
+}
diff --git a/tests/specs/install/install_add_dep_existing/package.json.out b/tests/specs/install/install_add_dep_existing/package.json.out
new file mode 100644
index 000000000..613d98636
--- /dev/null
+++ b/tests/specs/install/install_add_dep_existing/package.json.out
@@ -0,0 +1,5 @@
+{
+ "dependencies": {
+ "@denotest/esm-basic": "^1.0.0"
+ }
+}
diff --git a/tests/specs/install/install_add_dev_existing/__test__.jsonc b/tests/specs/install/install_add_dev_existing/__test__.jsonc
new file mode 100644
index 000000000..e4e2f8a31
--- /dev/null
+++ b/tests/specs/install/install_add_dev_existing/__test__.jsonc
@@ -0,0 +1,16 @@
+{
+ "tempDir": true,
+ "steps": [
+ {
+ "args": "install --dev npm:@denotest/esm-basic",
+ "output": "install.out"
+ },
+ {
+ "args": [
+ "eval",
+ "console.log(Deno.readTextFileSync('package.json').trim())"
+ ],
+ "output": "package.json.out"
+ }
+ ]
+}
diff --git a/tests/specs/install/install_add_dev_existing/install.out b/tests/specs/install/install_add_dev_existing/install.out
new file mode 100644
index 000000000..42161f3ae
--- /dev/null
+++ b/tests/specs/install/install_add_dev_existing/install.out
@@ -0,0 +1,4 @@
+Add npm:@denotest/esm-basic@1.0.0
+Download http://localhost:4260/@denotest/esm-basic
+Download http://localhost:4260/@denotest/esm-basic/1.0.0.tgz
+Initialize @denotest/esm-basic@1.0.0
diff --git a/tests/specs/install/install_add_dev_existing/package.json b/tests/specs/install/install_add_dev_existing/package.json
new file mode 100644
index 000000000..ad8518e79
--- /dev/null
+++ b/tests/specs/install/install_add_dev_existing/package.json
@@ -0,0 +1,3 @@
+{
+ "dependencies": { "@denotest/esm-basic": "^1.0.0" }
+}
diff --git a/tests/specs/install/install_add_dev_existing/package.json.out b/tests/specs/install/install_add_dev_existing/package.json.out
new file mode 100644
index 000000000..866724397
--- /dev/null
+++ b/tests/specs/install/install_add_dev_existing/package.json.out
@@ -0,0 +1,5 @@
+{
+ "devDependencies": {
+ "@denotest/esm-basic": "^1.0.0"
+ }
+}