45 lines
1.4 KiB
YAML
45 lines
1.4 KiB
YAML
parser: "@typescript-eslint/parser"
|
|
env:
|
|
browser: true
|
|
es6: true # Map, etc.
|
|
jest: 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:
|
|
# Sometimes you need to add args to implement a function signature even
|
|
# if they are unused.
|
|
"@typescript-eslint/no-unused-vars": ["error", { "args": "none" }]
|
|
# For overloads.
|
|
no-dupe-class-members: off
|
|
"@typescript-eslint/no-use-before-define": off
|
|
"@typescript-eslint/no-non-null-assertion": off
|
|
"@typescript-eslint/ban-types": off
|
|
"@typescript-eslint/no-var-requires": off
|
|
"@typescript-eslint/explicit-module-boundary-types": off
|
|
"@typescript-eslint/no-explicit-any": off
|
|
eqeqeq: error
|
|
import/order:
|
|
[error, { alphabetize: { order: "asc" }, groups: [["builtin", "external", "internal"], "parent", "sibling"] }]
|
|
no-async-promise-executor: off
|
|
# This isn't a real module, just types, which apparently doesn't resolve.
|
|
import/no-unresolved: [error, { ignore: ["express-serve-static-core"] }]
|
|
|
|
settings:
|
|
# Does not work with CommonJS unfortunately.
|
|
import/ignore:
|
|
- env-paths
|
|
- xdg-basedir
|