Security News
CISA Brings KEV Data to GitHub
CISA's KEV data is now on GitHub, offering easier access, API integration, commit history tracking, and automated updates for security teams and researchers.
handle-cli-error
Advanced tools
Error handler for CLI applications.
#!/usr/bin/env node
import handleCliError from 'handle-cli-error'
const cliMain = function () {
try {
// ...
} catch (error) {
handleCliError(error) // Print `error` then exit the process
}
}
cliMain()
handleCliError(error, {
classes: {
InputError: { exitCode: 1, short: true },
DatabaseError: { exitCode: 2, short: true },
default: { exitCode: 3 },
},
})
npm install handle-cli-error
This package is an ES module and must be loaded using
an import
or import()
statement,
not require()
.
error
any
options
Options?
Return value: undefined
Prints error
on the console (stderr
) then exits the process.
This never throws. Invalid error
s are silently
normalized.
Type: integer
Default: 1
Process exit code.
Note: when passing invalid options
, the exit code is always 125
.
Type: boolean
Default: false
Logs the error
message only, not its stack trace.
This is useful when the error was caused by the user (as opposed to being an internal bug), in which cause the stack trace is not relevant to the user.
Type: boolean
Default: false
Exits the process without logging anything on the console.
Type: integer
(in milliseconds)
Default: 5000
(5 seconds)
The process exits gracefully: it waits for any ongoing tasks (callbacks,
promises, etc.) to complete, up to a specific timeout
.
Special values:
0
: Exits right away, without waiting for ongoing tasksNumber.POSITIVE_INFINITY
: Waits for ongoing tasks forever, without timing
outType: object
Default: {}
Specify different options per error class. The object:
error.name
,
or "default"
(used if no error.name
matches)modern-errors
: Handle errors
like it's 2022 🔮error-custom-class
: Create
one error classerror-class-utils
: Utilities
to properly create error classeserror-serializer
: Convert
errors to/from plain objectsnormalize-exception
:
Normalize exceptions/errorsis-error-instance
: Check if
a value is an Error
instancemerge-error-cause
: Merge an
error with its cause
set-error-class
: Properly
update an error's classset-error-message
: Properly
update an error's messageset-error-props
: Properly
update an error's propertieserror-cause-polyfill
:
Polyfill error.cause
log-process-errors
: Show
some ❤ to Node.js process errorsThe logo background was created by dgim-studio.
For any question, don't hesitate to submit an issue on GitHub.
Everyone is welcome regardless of personal background. We enforce a Code of conduct in order to promote a positive and inclusive environment.
This project was made with ❤️. The simplest way to give back is by starring and sharing it online.
If the documentation is unclear or has a typo, please click on the page's Edit
button (pencil icon) and suggest a correction.
If you would like to help us fix a bug or add a new feature, please check our guidelines. Pull requests are welcome!
2.5.1
package.json
FAQs
💣 Error handler for CLI applications 💥
The npm package handle-cli-error receives a total of 3,480 weekly downloads. As such, handle-cli-error popularity was classified as popular.
We found that handle-cli-error demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
CISA's KEV data is now on GitHub, offering easier access, API integration, commit history tracking, and automated updates for security teams and researchers.
Security News
Opengrep forks Semgrep to preserve open source SAST in response to controversial licensing changes.
Security News
Critics call the Node.js EOL CVE a misuse of the system, sparking debate over CVE standards and the growing noise in vulnerability databases.