repo_description: 🤖 Powerful asynchronous state management, server-state utilities and data fetching for the web. TS/JS, React Query, Solid Query, Svelte Query and Vue Query.
repo_topics: async cache data fetch graphql hooks query react rest solid stale stale-while-revalidate svelte typescript update vue
code: // @ts-check
  
  // @ts-ignore Needed due to moduleResolution Node vs Bundler
  import { tanstackConfig } from '@tanstack/eslint-config'
  import pluginCspell from '@cspell/eslint-plugin'
  import vitest from '@vitest/eslint-plugin'
  
  export default [
    ...tanstackConfig,
    {
      name: 'tanstack/temp',
      plugins: {
        cspell: pluginCspell,
      },
      rules: {
        'cspell/spellchecker': [
          'warn',
          {
            cspell: {
              words: [
                'Promisable', // Our public interface
                'TSES', // @typescript-eslint package's interface
                'codemod', // We support our codemod
                'combinate', // Library name
                'datatag', // Query options tagging
                'extralight', // Our public interface
                'jscodeshift',
                'refetches', // Query refetch operations
                'retryer', // Our public interface
                'solidjs', // Our target framework
                'tabular-nums', // https://developer.mozilla.org/en-US/docs/Web/CSS/font-variant-numeric
                'tanstack', // Our package scope
                'todos', // Too general word to be caught as error
                'tsqd', // Our public interface (TanStack Query Devtools shorthand)
                'tsup', // We use tsup as builder
                'typecheck', // Field of vite.config.ts
                'vue-demi', // dependency of @tanstack/vue-query
                'ɵkind', // Angular specific
                'ɵproviders', // Angular specific
              ],
            },
          },
        ],
        '@typescript-eslint/no-empty-function': 'off',
        '@typescript-eslint/no-unsafe-function-type': 'off',
        'no-case-declarations': 'off',
        'prefer-const': 'off',
      },
    },
    {
      files: ['**/*.spec.ts*', '**/*.test.ts*', '**/*.test-d.ts*'],
      plugins: { vitest },
      rules: {
        ...vitest.configs.recommended.rules,
        'vitest/no-standalone-expect': [
          'error',
          {
            additionalTestBlockFunctions: ['testIf'],
          },
        ],
      },
      settings: { vitest: { typecheck: true } },
    },
  ]
  