parser: "@typescript-eslint/parser"
env:
  browser: true
  es6: true # Map, etc.
  mocha: true
  node: true

parserOptions:
  ecmaVersion: 2018
  sourceType: module

extends:
  - eslint:recommended
  - plugin:@typescript-eslint/recommended
  - plugin:import/recommended
  - plugin:import/typescript
  - plugin:prettier/recommended
  - prettier # Removes eslint rules that conflict with prettier.
  - prettier/@typescript-eslint # Remove conflicts again.

rules:
  # For overloads.
  no-dupe-class-members: off
  "@typescript-eslint/no-use-before-define": off
  "@typescript-eslint/no-non-null-assertion": off

settings:
  # Does not work with CommonJS unfortunately.
  import/ignore:
    - env-paths
    - xdg-basedir