TanStack Query comes with its own ESLint plugin. This plugin is used to enforce best practices and to help you avoid common mistakes.
The plugin is a separate package that you need to install:
npm i -D @tanstack/eslint-plugin-query
npm i -D @tanstack/eslint-plugin-query
or
pnpm add -D @tanstack/eslint-plugin-query
pnpm add -D @tanstack/eslint-plugin-query
or
yarn add -D @tanstack/eslint-plugin-query
yarn add -D @tanstack/eslint-plugin-query
or
bun add -D @tanstack/eslint-plugin-query
bun add -D @tanstack/eslint-plugin-query
To enable all of the recommended rules for our plugin, add the following config:
import pluginQuery from '@tanstack/eslint-plugin-query'
export default [
  ...pluginQuery.configs['flat/recommended'],
  // Any other config...
]
import pluginQuery from '@tanstack/eslint-plugin-query'
export default [
  ...pluginQuery.configs['flat/recommended'],
  // Any other config...
]
Alternatively, you can load the plugin and configure only the rules you want to use:
import pluginQuery from '@tanstack/eslint-plugin-query'
export default [
  {
    plugins: {
      '@tanstack/query': pluginQuery,
    },
    rules: {
      '@tanstack/query/exhaustive-deps': 'error',
    },
  },
  // Any other config...
]
import pluginQuery from '@tanstack/eslint-plugin-query'
export default [
  {
    plugins: {
      '@tanstack/query': pluginQuery,
    },
    rules: {
      '@tanstack/query/exhaustive-deps': 'error',
    },
  },
  // Any other config...
]
To enable all of the recommended rules for our plugin, add plugin:@tanstack/query/recommended in extends:
{
  "extends": ["plugin:@tanstack/query/recommended"]
}
{
  "extends": ["plugin:@tanstack/query/recommended"]
}
Alternatively, add @tanstack/query to the plugins section, and configure the rules you want to use:
{
  "plugins": ["@tanstack/query"],
  "rules": {
    "@tanstack/query/exhaustive-deps": "error"
  }
}
{
  "plugins": ["@tanstack/query"],
  "rules": {
    "@tanstack/query/exhaustive-deps": "error"
  }
}