# Licensed to the Apache Software Foundation (ASF) under one # or more contributor license agreements. See the NOTICE file # distributed with this work for additional information # regarding copyright ownership. The ASF licenses this file # to you under the Apache License, Version 2.0 (the # "License"); you may not use this file except in compliance # with the License. You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, # software distributed under the License is distributed on an # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY # KIND, either express or implied. See the License for the # specific language governing permissions and limitations # under the License. # 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". root: true 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-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": "off" "@typescript-eslint/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": "off" "@typescript-eslint/quotes": - 2 - "single" "semi": "off" "@typescript-eslint/semi": - 2 - "always" semi-spacing: 2 keyword-spacing: 2 key-spacing: - 2 - beforeColon: false afterColon: true "space-before-function-paren": "off" "@typescript-eslint/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: "error" 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-var: 2 no-duplicate-imports: 2 prefer-rest-params: 0 unicode-bom: 2 max-statements-per-line: 2 no-useless-constructor: 0 "func-call-spacing": "off" "@typescript-eslint/func-call-spacing": "error" "no-unused-vars": "off" "@typescript-eslint/no-unused-vars": - 1 - vars: "local" args: "none" # Avoid dangerous usage of globals. "no-restricted-globals": - 2 - "event" - "name" - "length" - "orientation" - "top" - "parent" - "location" - "closed"