# Note:
# If eslint does not work in VSCode, please check:
# (1) Whether "@typescript-eslint/eslint-plugin" and "@typescript-eslint/parser"
# are npm installed locally. Should better in the same version.
# (2) Whether "VSCode ESlint extension" is installed.
# (3) If the project folder is not the root folder of your working space, please
# config the "VSCode ESlint extension" in "settings":
# ```json
# "eslint.workingDirectories": [{"mode": "auto"}]
# ```
# Note that it should be "workingDirectories" rather than "WorkingDirectories".

rules:
    # Check the rules in: node_modules/@typescript-eslint/eslint-plugin/README.md
    no-console:
        - 2
        -
            allow:
                - "warn"
                - "error"
    prefer-const: 1
    no-constant-condition: 0
    comma-dangle: 2
    no-debugger: 2
    no-dupe-keys: 2
    no-empty-character-class: 2
    no-ex-assign: 2
    no-extra-boolean-cast: 0
    no-func-assign: 2
    no-inner-declarations: 2
    no-invalid-regexp: 2
    no-negated-in-lhs: 2
    no-obj-calls: 2
    no-sparse-arrays: 2
    no-unreachable: 2
    use-isnan: 2
    valid-typeof: 2
    block-scoped-var: 2
    curly:
        - 2
        - "all"
    eqeqeq:
        - 2
        - "allow-null"
    guard-for-in: 2
    no-else-return: 0
    no-labels:
        - 2
        -
            allowLoop: true
    no-eval: 2
    no-extend-native: 2
    no-extra-bind: 0
    no-implied-eval: 2
    no-iterator: 2
    no-irregular-whitespace: 2
    no-lone-blocks: 2
    no-loop-func: 2
    no-multi-str: 2
    no-native-reassign: 2
    no-new-wrappers: 2
    no-octal: 2
    no-octal-escape: 2
    no-proto: 2
    no-redeclare: 2
    no-self-compare: 2
    no-unneeded-ternary: 2
    no-with: 2
    radix: 2
    wrap-iife:
        - 2
        - "any"
    no-delete-var: 2
    no-dupe-args: 2
    no-duplicate-case: 2
    no-label-var: 2
    no-shadow-restricted-names: 2
    no-undef: 2
    no-undef-init: 2
    "no-use-before-define": 0
    brace-style:
        - 2
        - "stroustrup"
        - {}
    comma-spacing:
        - 2
        -
            before: false
            after: true
    comma-style:
        - 2
        - "last"
    new-parens: 2
    no-array-constructor: 2
    no-multi-spaces:
        - 1
        -
            ignoreEOLComments: true
            exceptions:
                Property: true
    no-new-object: 2
    no-trailing-spaces: 2
    no-extra-parens:
        - 2
        - "functions"
    no-mixed-spaces-and-tabs: 2
    one-var:
        - 2
        - "never"
    operator-linebreak:
        - 2
        - "before"
        -
            overrides:
                "=": "after"
    "quotes":
        - 2
        - "single"
    "semi":
        - 2
        - "always"
    semi-spacing: 2
    keyword-spacing: 2
    key-spacing:
        - 2
        -
            beforeColon: false
            afterColon: true
    "space-before-function-paren":
        - 2
        -
            anonymous: "always"
            named: "never"
    space-before-blocks:
        - 2
        - "always"
    computed-property-spacing:
        - 2
        - "never"
    space-in-parens:
        - 2
        - "never"
    space-unary-ops: 2
    spaced-comment: 0

    max-nested-callbacks:
        - 1
        - 5
    max-depth:
        - 1
        - 6
    max-len:
        - 2
        - 120
        - 4
        -
            ignoreUrls: true
            ignoreComments: true
    max-params:
        - 1
        - 15

    space-infix-ops: 2
    dot-notation:
        - 2
        -
            allowKeywords: true
            allowPattern: "^catch$"

    arrow-spacing: 2
    constructor-super: 2
    no-confusing-arrow:
        - 2
        -
            allowParens: true
    no-class-assign: 2
    no-const-assign: 2
    # no-dupe-class-members: 2
    no-this-before-super: 0
    no-duplicate-imports: 2
    prefer-rest-params: 0
    unicode-bom: 2
    max-statements-per-line: 2

    no-useless-constructor: 0
    indent: ["warn", 4]

    "func-call-spacing": "error"

    "no-unused-vars":
        - 1
        -
            vars: "local"
            args: "none"