From 98e8e2f8bc685675b305e5cc596571801a8e0160 Mon Sep 17 00:00:00 2001 From: Nathan Whitaker <17734409+nathanwhit@users.noreply.github.com> Date: Sat, 7 Sep 2024 02:22:27 -0700 Subject: feat(add/install): Flag to add dev dependency to package.json (#25495) ``` deno install --dev npm:chalk ``` Adds to `devDependencies` if a `package.json` is present, otherwise it just adds to `imports` in `deno.json` --- tests/specs/add/dev/__test__.jsonc | 39 ++++++++++++++++++++++ tests/specs/add/dev/add.out | 4 +++ tests/specs/add/dev/deno.json | 3 ++ tests/specs/add/dev/deno.json.out | 6 ++++ tests/specs/add/dev/package.json | 3 ++ tests/specs/add/dev/package.json.out | 3 ++ tests/specs/install/install_add_dev/__test__.jsonc | 16 +++++++++ tests/specs/install/install_add_dev/install.out | 4 +++ tests/specs/install/install_add_dev/package.json | 3 ++ .../specs/install/install_add_dev/package.json.out | 3 ++ 10 files changed, 84 insertions(+) create mode 100644 tests/specs/add/dev/__test__.jsonc create mode 100644 tests/specs/add/dev/add.out create mode 100644 tests/specs/add/dev/deno.json create mode 100644 tests/specs/add/dev/deno.json.out create mode 100644 tests/specs/add/dev/package.json create mode 100644 tests/specs/add/dev/package.json.out create mode 100644 tests/specs/install/install_add_dev/__test__.jsonc create mode 100644 tests/specs/install/install_add_dev/install.out create mode 100644 tests/specs/install/install_add_dev/package.json create mode 100644 tests/specs/install/install_add_dev/package.json.out (limited to 'tests') diff --git a/tests/specs/add/dev/__test__.jsonc b/tests/specs/add/dev/__test__.jsonc new file mode 100644 index 000000000..706674d2a --- /dev/null +++ b/tests/specs/add/dev/__test__.jsonc @@ -0,0 +1,39 @@ +{ + "tempDir": true, + "tests": { + "package_json": { + "steps": [ + { + "args": "add --dev npm:@denotest/esm-basic", + "output": "add.out" + }, + { + "args": [ + "eval", + "console.log(Deno.readTextFileSync('package.json').trim())" + ], + "output": "package.json.out" + } + ] + }, + "deno_json": { + "steps": [ + { + "args": ["eval", "Deno.removeSync('package.json')"], + "output": "" + }, + { + "args": "add --dev npm:@denotest/esm-basic", + "output": "add.out" + }, + { + "args": [ + "eval", + "console.log(Deno.readTextFileSync('deno.json').trim())" + ], + "output": "deno.json.out" + } + ] + } + } +} diff --git a/tests/specs/add/dev/add.out b/tests/specs/add/dev/add.out new file mode 100644 index 000000000..42161f3ae --- /dev/null +++ b/tests/specs/add/dev/add.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/add/dev/deno.json b/tests/specs/add/dev/deno.json new file mode 100644 index 000000000..fde86a1ef --- /dev/null +++ b/tests/specs/add/dev/deno.json @@ -0,0 +1,3 @@ +{ + "nodeModulesDir": "manual" +} diff --git a/tests/specs/add/dev/deno.json.out b/tests/specs/add/dev/deno.json.out new file mode 100644 index 000000000..5ae172669 --- /dev/null +++ b/tests/specs/add/dev/deno.json.out @@ -0,0 +1,6 @@ +{ + "nodeModulesDir": "manual", + "imports": { + "@denotest/esm-basic": "npm:@denotest/esm-basic@^1.0.0" + } +} diff --git a/tests/specs/add/dev/package.json b/tests/specs/add/dev/package.json new file mode 100644 index 000000000..d5ca56e00 --- /dev/null +++ b/tests/specs/add/dev/package.json @@ -0,0 +1,3 @@ +{ + "devDependencies": { "@denotest/esm-basic": "^1.0.0" } +} diff --git a/tests/specs/add/dev/package.json.out b/tests/specs/add/dev/package.json.out new file mode 100644 index 000000000..d5ca56e00 --- /dev/null +++ b/tests/specs/add/dev/package.json.out @@ -0,0 +1,3 @@ +{ + "devDependencies": { "@denotest/esm-basic": "^1.0.0" } +} diff --git a/tests/specs/install/install_add_dev/__test__.jsonc b/tests/specs/install/install_add_dev/__test__.jsonc new file mode 100644 index 000000000..e4e2f8a31 --- /dev/null +++ b/tests/specs/install/install_add_dev/__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/install.out b/tests/specs/install/install_add_dev/install.out new file mode 100644 index 000000000..42161f3ae --- /dev/null +++ b/tests/specs/install/install_add_dev/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/package.json b/tests/specs/install/install_add_dev/package.json new file mode 100644 index 000000000..d5ca56e00 --- /dev/null +++ b/tests/specs/install/install_add_dev/package.json @@ -0,0 +1,3 @@ +{ + "devDependencies": { "@denotest/esm-basic": "^1.0.0" } +} diff --git a/tests/specs/install/install_add_dev/package.json.out b/tests/specs/install/install_add_dev/package.json.out new file mode 100644 index 000000000..d5ca56e00 --- /dev/null +++ b/tests/specs/install/install_add_dev/package.json.out @@ -0,0 +1,3 @@ +{ + "devDependencies": { "@denotest/esm-basic": "^1.0.0" } +} -- cgit v1.2.3