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

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

parser: "@typescript-eslint/parser"

plugins:
  - "@typescript-eslint"

overrides:
  # JSON files
  - files:
      - "*.json"
    extends:
      - plugin:jsonc/recommended-with-json
    parser: jsonc-eslint-parser
    parserOptions:
      jsonSyntax: JSON

  # JSONC files
  - files:
      - "*.jsonc"
    extends:
      - plugin:jsonc/recommended-with-jsonc
    parser: jsonc-eslint-parser
    parserOptions:
      jsonSyntax: JSONC

  # JSON5 files
  - files:
      - "*.json5"
    extends:
      - plugin:jsonc/recommended-with-json5
    parser: jsonc-eslint-parser
    parserOptions:
      jsonSyntax: JSON5