diff options
| author | Nathan Whitaker <17734409+nathanwhit@users.noreply.github.com> | 2024-09-06 10:18:13 -0700 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2024-09-06 17:18:13 +0000 |
| commit | 51f5f5789b3b00b327ee7130dc259d24ee631851 (patch) | |
| tree | ab6975ae1a49a3c036e99950947ec987e6d64edd /tests/specs/remove/package_json | |
| parent | f0a3d206422af3177e0f36ed22802c1ccc6f7654 (diff) | |
feat(add): Add npm packages to package.json if present (#25477)
Closes https://github.com/denoland/deno/issues/25321
Ended up being a larger refactoring, since we're now juggling
(potentially) two config files in the same `add`, instead of choosing
one. I don't love the shape of the code, but I think it's good enough
Some smaller side improvements:
- `deno remove` supports `jsonc`
- `deno install --dev` will be a really simple change
- if `deno remove` removes the last import/dependency in the
`imports`/`dependencies`/`devDependencies` field, it removes the field
instead of leaving an empty object
Diffstat (limited to 'tests/specs/remove/package_json')
6 files changed, 41 insertions, 0 deletions
diff --git a/tests/specs/remove/package_json/__test__.jsonc b/tests/specs/remove/package_json/__test__.jsonc new file mode 100644 index 000000000..c51b00d0f --- /dev/null +++ b/tests/specs/remove/package_json/__test__.jsonc @@ -0,0 +1,27 @@ +{ + "tempDir": true, + "steps": [ + { + "args": "remove @denotest/add", + "output": "rm_add.out" + }, + { + "args": [ + "eval", + "console.log(Deno.readTextFileSync('package.json').trim())" + ], + "output": "rm_add_package.json.out" + }, + { + "args": "remove @denotest/esm-basic", + "output": "rm_esm_basic.out" + }, + { + "args": [ + "eval", + "console.log(Deno.readTextFileSync('package.json').trim())" + ], + "output": "rm_esm_basic_package.json.out" + } + ] +} diff --git a/tests/specs/remove/package_json/package.json b/tests/specs/remove/package_json/package.json new file mode 100644 index 000000000..6de96bc20 --- /dev/null +++ b/tests/specs/remove/package_json/package.json @@ -0,0 +1,4 @@ +{ + "dependencies": { "@denotest/add": "^1.0.0" }, + "devDependencies": { "@denotest/esm-basic": "^1.0.0" } +} diff --git a/tests/specs/remove/package_json/rm_add.out b/tests/specs/remove/package_json/rm_add.out new file mode 100644 index 000000000..b98c27bae --- /dev/null +++ b/tests/specs/remove/package_json/rm_add.out @@ -0,0 +1,4 @@ +Removed @denotest/add +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/remove/package_json/rm_add_package.json.out b/tests/specs/remove/package_json/rm_add_package.json.out new file mode 100644 index 000000000..d5ca56e00 --- /dev/null +++ b/tests/specs/remove/package_json/rm_add_package.json.out @@ -0,0 +1,3 @@ +{ + "devDependencies": { "@denotest/esm-basic": "^1.0.0" } +} diff --git a/tests/specs/remove/package_json/rm_esm_basic.out b/tests/specs/remove/package_json/rm_esm_basic.out new file mode 100644 index 000000000..86ad9e28d --- /dev/null +++ b/tests/specs/remove/package_json/rm_esm_basic.out @@ -0,0 +1 @@ +Removed @denotest/esm-basic diff --git a/tests/specs/remove/package_json/rm_esm_basic_package.json.out b/tests/specs/remove/package_json/rm_esm_basic_package.json.out new file mode 100644 index 000000000..2c63c0851 --- /dev/null +++ b/tests/specs/remove/package_json/rm_esm_basic_package.json.out @@ -0,0 +1,2 @@ +{ +} |
