Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/rexskz/eslint-plugin-try-catch-failsafe
Make sure to use try-catch to wrap up some dangerous actions (e.g. JSON.parse).
https://github.com/rexskz/eslint-plugin-try-catch-failsafe
catch eslint eslint-plugin failsafe plugin try
Last synced: 23 days ago
JSON representation
Make sure to use try-catch to wrap up some dangerous actions (e.g. JSON.parse).
- Host: GitHub
- URL: https://github.com/rexskz/eslint-plugin-try-catch-failsafe
- Owner: RexSkz
- License: mit
- Created: 2023-01-10T02:51:43.000Z (almost 2 years ago)
- Default Branch: master
- Last Pushed: 2023-02-09T06:25:32.000Z (over 1 year ago)
- Last Synced: 2024-10-01T19:12:49.816Z (about 1 month ago)
- Topics: catch, eslint, eslint-plugin, failsafe, plugin, try
- Language: TypeScript
- Homepage: https://www.npmjs.com/package/eslint-plugin-try-catch-failsafe
- Size: 51.8 KB
- Stars: 9
- Watchers: 2
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# eslint-plugin-try-catch-failsafe
Make sure to use try-catch to wrap up some dangerous actions!
## Installation
Use package manager to install this plugin.
```bash
npm install --save-dev eslint-plugin-try-catch-failsafe
yarn add -D eslint-plugin-try-catch-failsafe
pnpm add -D eslint-plugin-try-catch-failsafe
```## Usage
Add this plugin to your ESLint configuration.
```json
{
"extends": [
"plugin:try-catch-failsafe/default"
]
}
```## Rules
### try-catch-failsafe/json-parse
- **Default**: `error`
- **Fixable**: `false`Make sure to use try-catch to wrap up `JSON.parse`. Notice that the `JSON.parse` in `catch` or `finally` block may also throw an error in JavaScript, so we should wrap them up too.
```js
// ❌ Error
JSON.parse('{"foo": "bar"}');// ❌ Error
try {
// some code that may throw an error
} catch (e) {
JSON.parse('{"foo": "bar"}');
}// ❌ Error
try {
// some code that may throw an error
} finally {
JSON.parse('{"foo": "bar"}');
}// ✅ OK
try {
JSON.parse('{"foo": "bar"}');
} catch (e) {
console.error(e);
}// ✅ OK
try {
// some code that may throw an error
} finally {
try {
JSON.parse('{"foo": "bar"}');
} finally {}
}
```If you are confident that the `JSON.parse` will not throw an error, you can disable this rule.
### try-catch-failsafe/new-url
- **Default**: `error`
- **Fixable**: `false`Make sure to use try-catch to wrap up `new URL()`. Notice that the `new URL()` in `catch` or `finally` block may also throw an error in JavaScript, so we should wrap them up too.
```js
// ❌ Error
new URL('');// ❌ Error
try {
// some code that may throw an error
} catch (e) {
new URL('');
}// ❌ Error
try {
// some code that may throw an error
} finally {
new URL('');
}// ✅ OK
try {
new URL('');
} catch (e) {
console.error(e);
}// ✅ OK
try {
// some code that may throw an error
} finally {
try {
new URL('');
} finally {}
}
```If you are confident that the `new URL()` will not throw an error, you can disable this rule.