eslint-plugin-react-web-api
Version:
ESLint React's ESLint plugin for interacting with Web APIs
68 lines (56 loc) • 2.66 kB
Markdown
# eslint-plugin-react-web-api
ESLint React's ESLint plugin for React to interact with Web APIs.
## Install
```sh
# npm
npm install --save-dev eslint-plugin-react-web-api
```
## Setup
```js
// eslint.config.js
// @ts-check
import js from "@eslint/js";
import reactWebApi from "eslint-plugin-react-web-api";
import tseslint from "typescript-eslint";
export default tseslint.config({
files: ["**/*.ts", "**/*.tsx"],
extends: [
js.configs.recommended,
tseslint.configs.recommended,
reactWebApi.configs.recommended,
],
languageOptions: {
parser: tseslint.parser,
parserOptions: {
projectService: true,
tsconfigRootDir: import.meta.dirname,
},
},
rules: {
// Put rules you want to override here
"react-web-api/no-leaked-event-listener": "warn",
},
});
```
## Rules
<https://eslint-react.xyz/docs/rules/overview#web-api-rules>
## Rules to be implemented
| Rule | Description |
| :-------------------------------------- | :-------------------------------------------- |
| `no-leaked-idle-callback` | Prevents leaked `requestIdleCallback` |
| `no-leaked-animation-frame` | Prevents leaked `requestAnimationFrame` |
| `no-leaked-event-source` | Prevents leaked `EventSource` |
| `no-leaked-intersection-observer` | Prevents leaked `IntersectionObserver` |
| `no-leaked-mutation-observer` | Prevents leaked `MutationObserver` |
| `no-leaked-performance-observer` | Prevents leaked `PerformanceObserver` |
| `no-leaked-websocket` | Prevents leaked `WebSocket` |
| `no-leaked-broadcast-channel` | Prevents leaked `BroadcastChannel` |
| `no-leaked-geolocation` | Prevents leaked `Geolocation.watchPosition()` |
| `no-leaked-absolute-orientation-sensor` | Prevents leaked `AbsoluteOrientationSensor` |
| `no-leaked-relative-accelerometer` | Prevents leaked `Accelerometer` |
| `no-leaked-ambient-light-sensor` | Prevents leaked `AmbientLightSensor` |
| `no-leaked-gravity-sensor` | Prevents leaked `GravitySensor` |
| `no-leaked-gyroscope` | Prevents leaked `Gyroscope` |
| `no-leaked-linear-acceleration-sensor` | Prevents leaked `LinearAccelerationSensor` |
| `no-leaked-magnetometer` | Prevents leaked `Magnetometer` |
| `no-leaked-orientation-sensor` | Prevents leaked `OrientationSensor` |