| # 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" |