eslint-plugin-exception-handling
v1.5.2
Published
💣 Lints unhandled functions that might throw errors. For JavaScript/TypeScript eslint.
Downloads
7,352
Maintainers
Readme
| no-unhandled | might-throw | use-error-cause | | --------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------- | | | | |
Installation
yarn add -D eslint-plugin-exception-handling
npm i -D eslint-plugin-exception-handling
pnpm add -D eslint-plugin-exception-handling
Usage
Sample eslint.config.js
:
For TypeScript:
// @ts-check
import eslint from "@eslint/js";
import tseslint from "typescript-eslint";
import { plugin as ex } from "eslint-plugin-exception-handling";
export default tseslint.config(
eslint.configs.recommended,
...tseslint.configs.recommended,
{ plugins: { ex }, rules: { "ex/no-unhandled": "error" } }
);
For JavaScript:
import globals from "globals";
import pluginJs from "@eslint/js";
import { plugin as ex } from "eslint-plugin-exception-handling";
export default [
{ files: ["**/*.js"], languageOptions: { sourceType: "commonjs" } },
{ languageOptions: { globals: globals.browser } },
pluginJs.configs.recommended,
{ plugins: { ex } },
{ rules: { "ex/no-unhandled": "error" } },
];
Limitations & Caveats
- This plugin only checks for functions that might throw exceptions. It does not check for functions that might return a rejected promise.
- Currently, only user-defined functions are checked. This means that built-in functions that might throw exceptions are not yet linted. I'm working on a feature for that, but it's quite a grind to list all the built-in functions that might throw exceptions. If you want to help feel free to open a PR.
Rules
| Name | Description |
| :----------------------------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| might-throw | Warns about function calls that might throw exceptions. |
| no-unhandled | Warns about function calls that might throw exceptions and are not handled at all further up the stack. |
| use-error-cause | On Error
re-thrown, forces the use of cause
property in order to preserve stack traces. See: Error: cause |