45 lines
1.1 KiB
YAML
45 lines
1.1 KiB
YAML
env:
|
|
browser: true
|
|
es2021: true
|
|
extends: ["airbnb-base", "plugin:prettier/recommended"]
|
|
parserOptions:
|
|
ecmaVersion: latest
|
|
sourceType: module
|
|
rules:
|
|
no-await-in-loop:
|
|
- warn
|
|
radix:
|
|
- error
|
|
- as-needed
|
|
default-param-last:
|
|
- warn
|
|
no-underscore-dangle: "off"
|
|
no-param-reassign:
|
|
- warn
|
|
class-methods-use-this:
|
|
- warn
|
|
no-unused-vars:
|
|
- warn
|
|
no-nested-ternary: "off"
|
|
no-restricted-syntax:
|
|
- warn
|
|
- selector: ForInStatement
|
|
message:
|
|
for..in loops iterate over the entire prototype chain, which is virtually
|
|
never what you want. Use Object.{keys,values,entries}, and iterate over the
|
|
resulting array.
|
|
- selector: LabeledStatement
|
|
message:
|
|
Labels are a form of GOTO; using them makes code confusing and hard to
|
|
maintain and understand.
|
|
- selector: WithStatement
|
|
message:
|
|
"`with` is disallowed in strict mode because it makes code impossible
|
|
to predict and optimize."
|
|
import/extensions:
|
|
- warn
|
|
- always
|
|
settings:
|
|
import/extensions:
|
|
- ".js"
|