snapshot of https://github.com/TanStack/query.git (main, 2026-09-16; blobs > 131072B omitted)
Some checks failed
autofix.ci / autofix (push) Failing after 4s
Release / Release (push) Has been skipped
GitHub Actions Security Analysis / Run zizmor (push) Failing after 2s

This commit is contained in:
upstream-mirror
2026-09-16 01:13:08 +05:00
commit 3a013ccdfe
3570 changed files with 490194 additions and 0 deletions

View File

@@ -0,0 +1,126 @@
---
id: eslint-plugin-query
title: ESLint Plugin Query
---
TanStack Query comes with its own ESLint plugin. This plugin is used to enforce best practices and to help you avoid common mistakes.
## Installation
The plugin is a separate package that you need to install:
```bash
npm i -D @tanstack/eslint-plugin-query
```
or
```bash
pnpm add -D @tanstack/eslint-plugin-query
```
or
```bash
yarn add -D @tanstack/eslint-plugin-query
```
or
```bash
bun add -D @tanstack/eslint-plugin-query
```
## Flat Config (`eslint.config.js`)
### Recommended setup
To enable all of the recommended rules for our plugin, add the following config:
```js
import pluginQuery from '@tanstack/eslint-plugin-query'
export default [
...pluginQuery.configs['flat/recommended'],
// Any other config...
]
```
### Recommended strict setup
The `flat/recommended-strict` config extends `flat/recommended` with additional opinionated rules that enforce best practices more aggressively.
```js
import pluginQuery from '@tanstack/eslint-plugin-query'
export default [
...pluginQuery.configs['flat/recommended-strict'],
// Any other config...
]
```
### Custom setup
Alternatively, you can load the plugin and configure only the rules you want to use:
```js
import pluginQuery from '@tanstack/eslint-plugin-query'
export default [
{
plugins: {
'@tanstack/query': pluginQuery,
},
rules: {
'@tanstack/query/exhaustive-deps': 'error',
},
},
// Any other config...
]
```
## Legacy Config (`.eslintrc`)
### Recommended setup
To enable all of the recommended rules for our plugin, add `plugin:@tanstack/query/recommended` in extends:
```json
{
"extends": ["plugin:@tanstack/query/recommended"]
}
```
### Recommended strict setup
The `recommendedStrict` config extends `recommended` with additional opinionated rules:
```json
{
"extends": ["plugin:@tanstack/query/recommendedStrict"]
}
```
### Custom setup
Alternatively, add `@tanstack/query` to the plugins section, and configure the rules you want to use:
```json
{
"plugins": ["@tanstack/query"],
"rules": {
"@tanstack/query/exhaustive-deps": "error"
}
}
```
## Rules
- [@tanstack/query/exhaustive-deps](./exhaustive-deps.md)
- [@tanstack/query/no-rest-destructuring](./no-rest-destructuring.md)
- [@tanstack/query/stable-query-client](./stable-query-client.md)
- [@tanstack/query/no-unstable-deps](./no-unstable-deps.md)
- [@tanstack/query/infinite-query-property-order](./infinite-query-property-order.md)
- [@tanstack/query/no-void-query-fn](./no-void-query-fn.md)
- [@tanstack/query/mutation-property-order](./mutation-property-order.md)
- [@tanstack/query/prefer-query-options](./prefer-query-options.md)