[BUG] Un-deprecating a package returns EUSAGE error
Nobody has claimed this yet.
- Dominant language
- JavaScript
- Stars
- 10.1k
- Forks
- 4.7k
- Avg merge
- 2d 2h
- Merged PRs (30d)
- 19
Description
Is there an existing issue for this?
- I have searched the existing issues
This issue exists in the latest npm version
- I am using the latest npm
Current Behavior
When trying to un-deprecate certain versions of my @kipper/base module, there is an error saying there is a usage error, despite following the guidelines on the docs page:
To un-deprecate a package, specify an empty string ("") for the message argument. Note that you must use double quotes with no space between them to format an empty string.
From here
My command:
npm deprecate @kipper/base@0.2.0 ""
The output:
npm ERR! code EUSAGE
npm ERR!
npm ERR! Deprecate a version of a package
npm ERR!
npm ERR! Usage:
npm ERR! npm deprecate <pkg>[@<version>] <message>
npm ERR!
npm ERR! Options:
npm ERR! [--registry <registry>] [--otp <otp>]
npm ERR!
npm ERR! Run "npm help deprecate" for more info
npm ERR! A complete log of this run can be found in:
npm ERR! C:\Users\Luna\AppData\Local\npm-cache\_logs\2022-04-28T15_31_41_080Z-debug-0.log
Full verbose log:
33 verbose stack Error:
33 verbose stack Deprecate a version of a package
33 verbose stack
33 verbose stack Usage:
33 verbose stack npm deprecate <pkg>[@<version>] <message>
33 verbose stack
33 verbose stack Options:
33 verbose stack [--registry <registry>] [--otp <otp>]
33 verbose stack
33 verbose stack Run "npm help deprecate" for more info
33 verbose stack at Deprecate.usageError (C:\Users\Luna\AppData\Roaming\npm\node_modules\npm\lib\base-command.js:88:26)
33 verbose stack at Deprecate.exec (C:\Users\Luna\AppData\Roaming\npm\node_modules\npm\lib\commands\deprecate.js:37:18)
33 verbose stack at Npm.exec (C:\Users\Luna\AppData\Roaming\npm\node_modules\npm\lib\npm.js:169:29)
33 verbose stack at async module.exports (C:\Users\Luna\AppData\Roaming\npm\node_modules\npm\lib\cli.js:78:5)
34 verbose cwd C:\Users\Luna
35 verbose Windows_NT 10.0.19043
36 verbose node v16.13.0
37 verbose npm v8.8.0
38 error code EUSAGE
39 error
39 error Deprecate a version of a package
39 error
39 error Usage:
39 error npm deprecate <pkg>[@<version>] <message>
39 error
39 error Options:
39 error [--registry <registry>] [--otp <otp>]
39 error
39 error Run "npm help deprecate" for more info
40 verbose exit 1
41 timing npm Completed in 49ms
42 verbose code 1
43 error A complete log of this run can be found in:
43 error C:\Users\Luna\AppData\Local\npm-cache\_logs\2022-04-28T15_31_41_080Z-debug-0.log
Expected Behavior
The command should execute properly and un-deprecate the package.
Steps To Reproduce
- Login into npm using
npm login - Run
npm deprecate PACKAGE@VERSION ""
Environment
- npm: 8.8.0
- Node.js: 16.13.0
- OS Name: Windows
- System Model Name: Custom
- npm config:
; "builtin" config from C:\Users\Luna\AppData\Roaming\npm\node_modules\npm\npmrc
prefix = "C:\\Users\\Luna\\AppData\\Roaming\\npm"
; "global" config from C:\Users\Luna\AppData\Roaming\npm\etc\npmrc
; python = "C:\\Users\\Luna\\.windows-build-tools\\python27\\python.exe" ; overridden by user
; "user" config from C:\Users\Luna\.npmrc
@kipper:registry = "https://registry.npmjs.org/"
//registry.npmjs.org/:_authToken = (protected)
python = "C:\\Users\\Luna\\.windows-build-tools\\python27\\python.exe"
scope = "@kipper"
; node bin location = C:\Program Files\nodejs\node.exe
; node version = v16.13.0
; npm local prefix = C:\Users\Luna
; npm version = 8.8.0
; cwd = C:\Users\Luna
; HOME = C:\Users\Luna
; Run `npm config ls -l` to show all defaults.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start at lib/commands/deprecate.js, where the verbose stack identifies the failing exec path, and reproduce the command with an empty message argument. Trace how the command validates its arguments, then verify that npm deprecate PACKAGE@VERSION "" completes successfully and removes the deprecation.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- javascript, nodejs
- Domain
- cli
- Issue type
- Bug
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 48/100