---
env:
  browser: true
  es6: true
  jest: true
  node: true

extends:
  - "eslint:recommended"

ignorePatterns:
  - "!.*"
  - "**/node_modules/.*"

parser: "@typescript-eslint/parser"

plugins:
  - "@typescript-eslint"

# Don't set the jsonSyntax parser option for JSON, JSON5, and JSONC
# so we can use eslint-plugin-jsonc to automatically fix issues
# in tests, otherwise ESLint reports parsing errors and stops
overrides:
  - files:
      - "*.json"
    extends:
      - plugin:jsonc/recommended-with-json
    parser: jsonc-eslint-parser
  - files:
      - "*.jsonc"
    extends:
      - plugin:jsonc/recommended-with-jsonc
    parser: jsonc-eslint-parser
  - files:
      - "*.json5"
    extends:
      - plugin:jsonc/recommended-with-json5
    parser: jsonc-eslint-parser
  - files:
      - "*.jsx"
      - "*.tsx"
    extends:
      - plugin:react/recommended