229 lines
5.3 KiB
YAML
229 lines
5.3 KiB
YAML
|
|
# 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: 0
|
|
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" |