以下の4つの config の比較表です。
- eslint:recommended
- eslint-config-standard
- eslint-config-airbnb-base
- eslint-config-google
フレームワークを依らないルールについて比較したいので eslint-config-airbnb から React 関係の plugin を除外した eslint-config-airbnb-base を使用します。
バージョン情報
使用する各パッケージのバージョンは下記の通りです。
- eslint: 7.25.0
- eslint-config-standard: 16.0.2
- eslint-config-airbnb-base: 14.2.1
- eslint-config-google: 0.14.0
- eslint-plugin-import: 2.22.1
- eslint-plugin-node: 11.1.0
- eslint-plugin-promise: 4.3.1
簡易版 (off
, warn
, error
のみ)
Possible Errors
Best Practices
Strict Mode
Rule | eslint:recommended | standard | airbnb-base | |
---|---|---|---|---|
strict | error |
Variables
Rule | eslint:recommended | standard | airbnb-base | |
---|---|---|---|---|
init-declarations | off | |||
no-delete-var | error | error | error | |
no-label-var | error | |||
no-restricted-globals | error | |||
no-shadow | error | |||
no-shadow-restricted-names | error | error | error | |
no-undef | error | error | error | |
no-undef-init | error | error | ||
no-undefined | off | |||
no-unused-vars | error | error | error | error |
no-use-before-define | error | error |
Stylistic Issues
ECMAScript 6
詳細版
Possible Errors
Rule | eslint:recommended | standard | airbnb-base | |
---|---|---|---|---|
for-direction | error | error | ||
getter-return | error | [ "error", { "allowImplicit": true } ] |
||
no-async-promise-executor | error | error | error | |
no-await-in-loop | error | |||
no-compare-neg-zero | error | error | error | |
no-cond-assign | error | error | [ "error", "always" ] |
off |
no-console | warn | |||
no-constant-condition | error | [ "error", { "checkLoops": false } ] |
warn | |
no-control-regex | error | error | error | |
no-debugger | error | error | error | |
no-dupe-args | error | error | error | |
no-dupe-else-if | error | off | ||
no-dupe-keys | error | error | error | |
no-duplicate-case | error | error | error | |
no-empty | error | [ "error", { "allowEmptyCatch": true } ] |
error | |
no-empty-character-class | error | error | error | |
no-ex-assign | error | error | error | |
no-extra-boolean-cast | error | error | error | |
no-extra-parens | [ "error", "functions" ] |
[ "off", "all", { "conditionalAssign": true, "nestedBinaryExpressions": false, "returnAssign": false, "ignoreJSX": "all", "enforceForArrowConditionals": false } ] |
||
no-extra-semi | error | error | ||
no-func-assign | error | error | error | |
no-import-assign | error | error | off | |
no-inner-declarations | error | error | ||
no-invalid-regexp | error | error | error | |
no-irregular-whitespace | error | error | error | error |
no-loss-of-precision | error | off | ||
no-misleading-character-class | error | error | error | |
no-obj-calls | error | error | error | |
no-promise-executor-return | off | |||
no-prototype-builtins | error | error | error | |
no-regex-spaces | error | error | error | |
no-setter-return | error | off | ||
no-sparse-arrays | error | error | error | |
no-template-curly-in-string | error | error | ||
no-unexpected-multiline | error | error | error | error |
no-unreachable | error | error | error | |
no-unreachable-loop | error | [ "off", { "ignore": [] } ] |
||
no-unsafe-finally | error | error | error | |
no-unsafe-negation | error | error | error | |
no-unsafe-optional-chaining | ||||
no-useless-backreference | error | off | ||
require-atomic-updates | off | |||
use-isnan | error | [ "error", { "enforceForSwitchCase": true, "enforceForIndexOf": true } ] |
error | |
valid-typeof | error | [ "error", { "requireStringLiterals": true } ] |
[ "error", { "requireStringLiterals": true } ] |
Best Practices
Rule | eslint:recommended | standard | airbnb-base | |
---|---|---|---|---|
accessor-pairs | [ "error", { "setWithoutGet": true, "enforceForClassMembers": true, "getWithoutSet": false } ] |
off | ||
array-callback-return | [ "error", { "allowImplicit": false, "checkForEach": false } ] |
[ "error", { "allowImplicit": true, "checkForEach": false } ] |
||
block-scoped-var | error | |||
class-methods-use-this | [ "error", { "exceptMethods": [] } ] |
|||
complexity | [ "off", 11 ] |
|||
consistent-return | error | |||
curly | [ "error", "multi-line" ] |
[ "error", "multi-line" ] |
[ "error", "multi-line" ] |
|
default-case | [ "error", { "commentPattern": "^no default$" } ] |
|||
default-case-last | error | off | ||
default-param-last | off | |||
dot-location | [ "error", "property" ] |
[ "error", "property" ] |
||
dot-notation | [ "error", { "allowKeywords": true, "allowPattern": "" } ] |
[ "error", { "allowKeywords": true, "allowPattern": "" } ] |
||
eqeqeq | [ "error", "always", { "null": "ignore" } ] |
[ "error", "always", { "null": "ignore" } ] |
||
grouped-accessor-pairs | off | |||
guard-for-in | error | error | ||
max-classes-per-file | [ "error", 1 ] |
|||
no-alert | warn | |||
no-caller | error | error | error | |
no-case-declarations | error | error | error | |
no-constructor-return | off | |||
no-div-regex | off | |||
no-else-return | [ "error", { "allowElseIf": false } ] |
|||
no-empty-function | [ "error", { "allow": [ "arrowFunctions", "functions", "methods" ] } ] |
|||
no-empty-pattern | error | error | error | |
no-eq-null | off | |||
no-eval | error | error | ||
no-extend-native | error | error | error | |
no-extra-bind | error | error | error | |
no-extra-label | error | |||
no-fallthrough | error | error | error | |
no-floating-decimal | error | error | ||
no-global-assign | error | error | [ "error", { "exceptions": [] } ] |
|
no-implicit-coercion | [ "off", { "boolean": false, "number": true, "string": true, "allow": [] } ] |
|||
no-implicit-globals | off | |||
no-implied-eval | error | error | ||
no-invalid-this | off | error | ||
no-iterator | error | error | ||
no-labels | [ "error", { "allowLoop": false, "allowSwitch": false } ] |
[ "error", { "allowLoop": false, "allowSwitch": false } ] |
||
no-lone-blocks | error | error | ||
no-loop-func | error | |||
no-magic-numbers | [ "off", { "ignore": [], "ignoreArrayIndexes": true, "enforceConst": true, "detectObjects": false } ] |
|||
no-multi-spaces | error | [ "error", { "ignoreEOLComments": false } ] |
error | |
no-multi-str | error | error | error | |
no-new | error | error | ||
no-new-func | error | error | ||
no-new-wrappers | error | error | error | |
no-nonoctal-decimal-escape | ||||
no-octal | error | error | error | |
no-octal-escape | error | error | ||
no-param-reassign | [ "error", { "props": true, "ignorePropertyModificationsFor": [ "acc", "accumulator", "e", "ctx", "context", "req", "request", "res", "response", "$scope", "staticContext" ] } ] |
|||
no-proto | error | error | ||
no-redeclare | error | [ "error", { "builtinGlobals": false } ] |
error | |
no-restricted-properties | [ "error", { "object": "arguments", "property": "callee", "message": "arguments.callee is deprecated" }, { "object": "global", "property": "isFinite", "message": "Please use Number.isFinite instead" }, { "object": "self", "property": "isFinite", "message": "Please use Number.isFinite instead" }, { "object": "window", "property": "isFinite", "message": "Please use Number.isFinite instead" }, { "object": "global", "property": "isNaN", "message": "Please use Number.isNaN instead" }, { "object": "self", "property": "isNaN", "message": "Please use Number.isNaN instead" }, { "object": "window", "property": "isNaN", "message": "Please use Number.isNaN instead" }, { "property": "__defineGetter__", "message": "Please use Object.defineProperty instead." }, { "property": "__defineSetter__", "message": "Please use Object.defineProperty instead." }, { "object": "Math", "property": "pow", "message": "Use the exponentiation operator (**) instead." } ] |
|||
no-return-assign | [ "error", "except-parens" ] |
[ "error", "always" ] |
||
no-return-await | error | |||
no-script-url | error | |||
no-self-assign | error | [ "error", { "props": true } ] |
[ "error", { "props": true } ] |
|
no-self-compare | error | error | ||
no-sequences | error | error | ||
no-throw-literal | error | error | error | |
no-unmodified-loop-condition | error | off | ||
no-unused-expressions | [ "error", { "allowShortCircuit": true, "allowTernary": true, "allowTaggedTemplates": true, "enforceForJSX": false } ] |
[ "error", { "allowShortCircuit": false, "allowTernary": false, "allowTaggedTemplates": false, "enforceForJSX": false } ] |
||
no-unused-labels | error | error | ||
no-useless-call | error | off | ||
no-useless-catch | error | error | error | |
no-useless-concat | error | |||
no-useless-escape | error | error | error | |
no-useless-return | error | error | ||
no-void | error | error | ||
no-warning-comments | [ "off", { "terms": [ "todo", "fixme", "xxx" ], "location": "start" } ] |
|||
no-with | error | error | error | error |
prefer-named-capture-group | off | |||
prefer-promise-reject-errors | error | [ "error", { "allowEmptyReject": true } ] |
error | |
prefer-regex-literals | [ "error", { "disallowRedundantWrapping": true } ] |
off | ||
radix | error | |||
require-await | off | |||
require-unicode-regexp | off | |||
vars-on-top | error | |||
wrap-iife | [ "error", "any", { "functionPrototypeMethods": true } ] |
[ "error", "outside", { "functionPrototypeMethods": false } ] |
||
yoda | [ "error", "never" ] |
error |
Strict Mode
Rule | eslint:recommended | standard | airbnb-base | |
---|---|---|---|---|
strict | [ "error", "never" ] |
Variables
Rule | eslint:recommended | standard | airbnb-base | |
---|---|---|---|---|
init-declarations | off | |||
no-delete-var | error | error | error | |
no-label-var | error | |||
no-restricted-globals | [ "error", { "name": "isFinite", "message": "Use Number.isFinite instead https://github.com/airbnb/javascript#standard-library--isfinite" }, { "name": "isNaN", "message": "Use Number.isNaN instead https://github.com/airbnb/javascript#standard-library--isnan" }, "addEventListener", "blur", "close", "closed", "confirm", "defaultStatus", "defaultstatus", "event", "external", "find", "focus", "frameElement", "frames", "history", "innerHeight", "innerWidth", "length", "location", "locationbar", "menubar", "moveBy", "moveTo", "name", "onblur", "onerror", "onfocus", "onload", "onresize", "onunload", "open", "opener", "opera", "outerHeight", "outerWidth", "pageXOffset", "pageYOffset", "parent", "print", "removeEventListener", "resizeBy", "resizeTo", "screen", "screenLeft", "screenTop", "screenX", "screenY", "scroll", "scrollbars", "scrollBy", "scrollTo", "scrollX", "scrollY", "self", "status", "statusbar", "stop", "toolbar", "top" ] |
|||
no-shadow | error | |||
no-shadow-restricted-names | error | error | error | |
no-undef | error | error | error | |
no-undef-init | error | error | ||
no-undefined | off | |||
no-unused-vars | error | [ "error", { "args": "none", "caughtErrors": "none", "ignoreRestSiblings": true, "vars": "all" } ] |
[ "error", { "vars": "all", "args": "after-used", "ignoreRestSiblings": true } ] |
[ "error", { "args": "none" } ] |
no-use-before-define | [ "error", { "functions": false, "classes": false, "variables": false } ] |
[ "error", { "functions": true, "classes": true, "variables": true } ] |
Stylistic Issues
Rule | eslint:recommended | standard | airbnb-base | |
---|---|---|---|---|
array-bracket-newline | [ "off", "consistent" ] |
off | ||
array-bracket-spacing | [ "error", "never" ] |
[ "error", "never" ] |
[ "error", "never" ] |
|
array-element-newline | [ "off", { "multiline": true, "minItems": 3 } ] |
off | ||
block-spacing | [ "error", "always" ] |
[ "error", "always" ] |
[ "error", "never" ] |
|
brace-style | [ "error", "1tbs", { "allowSingleLine": true } ] |
[ "error", "1tbs", { "allowSingleLine": true } ] |
error | |
camelcase | [ "error", { "allow": [ "^UNSAFE_" ], "properties": "never", "ignoreGlobals": true, "ignoreDestructuring": false, "ignoreImports": false } ] |
[ "error", { "properties": "never", "ignoreDestructuring": false, "ignoreImports": false, "ignoreGlobals": false } ] |
[ "error", { "properties": "never", "ignoreDestructuring": false, "ignoreImports": false, "ignoreGlobals": false } ] |
|
capitalized-comments | [ "off", "never", { "line": { "ignorePattern": ".", "ignoreInlineComments": true, "ignoreConsecutiveComments": true }, "block": { "ignorePattern": ".", "ignoreInlineComments": true, "ignoreConsecutiveComments": true } } ] |
|||
comma-dangle | [ "error", { "arrays": "never", "objects": "never", "imports": "never", "exports": "never", "functions": "never" } ] |
[ "error", { "arrays": "always-multiline", "objects": "always-multiline", "imports": "always-multiline", "exports": "always-multiline", "functions": "always-multiline" } ] |
[ "error", "always-multiline" ] |
|
comma-spacing | [ "error", { "before": false, "after": true } ] |
[ "error", { "before": false, "after": true } ] |
error | |
comma-style | [ "error", "last" ] |
[ "error", "last", { "exceptions": { "ArrayExpression": false, "ArrayPattern": false, "ArrowFunctionExpression": false, "CallExpression": false, "FunctionDeclaration": false, "FunctionExpression": false, "ImportDeclaration": false, "ObjectExpression": false, "ObjectPattern": false, "VariableDeclaration": false, "NewExpression": false } } ] |
error | |
computed-property-spacing | [ "error", "never", { "enforceForClassMembers": true } ] |
[ "error", "never" ] |
error | |
consistent-this | off | |||
eol-last | error | [ "error", "always" ] |
error | |
func-call-spacing | [ "error", "never" ] |
[ "error", "never" ] |
error | |
func-name-matching | [ "off", "always", { "includeCommonJSModuleExports": false, "considerPropertyDescriptor": true } ] |
|||
func-names | warn | |||
func-style | [ "off", "expression" ] |
|||
function-call-argument-newline | [ "off", "consistent" ] |
|||
function-paren-newline | [ "error", "consistent" ] |
|||
id-denylist | off | |||
id-length | off | |||
id-match | off | |||
implicit-arrow-linebreak | [ "error", "beside" ] |
|||
indent | [ "error", 2, { "SwitchCase": 1, "VariableDeclarator": 1, "outerIIFEBody": 1, "MemberExpression": 1, "FunctionDeclaration": { "parameters": 1, "body": 1 }, "FunctionExpression": { "parameters": 1, "body": 1 }, "CallExpression": { "arguments": 1 }, "ArrayExpression": 1, "ObjectExpression": 1, "ImportDeclaration": 1, "flatTernaryExpressions": false, "ignoreComments": false, "ignoredNodes": [ "TemplateLiteral ", "JSXElement", "JSXElement > ", "JSXAttribute", "JSXIdentifier", "JSXNamespacedName", "JSXMemberExpression", "JSXSpreadAttribute", "JSXExpressionContainer", "JSXOpeningElement", "JSXClosingElement", "JSXFragment", "JSXOpeningFragment", "JSXClosingFragment", "JSXText", "JSXEmptyExpression", "JSXSpreadChild" ], "offsetTernaryExpressions": true } ] |
[ "error", 2, { "SwitchCase": 1, "VariableDeclarator": 1, "outerIIFEBody": 1, "FunctionDeclaration": { "parameters": 1, "body": 1 }, "FunctionExpression": { "parameters": 1, "body": 1 }, "CallExpression": { "arguments": 1 }, "ArrayExpression": 1, "ObjectExpression": 1, "ImportDeclaration": 1, "flatTernaryExpressions": false, "ignoredNodes": [ "JSXElement", "JSXElement > *", "JSXAttribute", "JSXIdentifier", "JSXNamespacedName", "JSXMemberExpression", "JSXSpreadAttribute", "JSXExpressionContainer", "JSXOpeningElement", "JSXClosingElement", "JSXFragment", "JSXOpeningFragment", "JSXClosingFragment", "JSXText", "JSXEmptyExpression", "JSXSpreadChild" ], "ignoreComments": false, "offsetTernaryExpressions": false } ] |
[ "error", 2, { "CallExpression": { "arguments": 2 }, "FunctionDeclaration": { "body": 1, "parameters": 2 }, "FunctionExpression": { "body": 1, "parameters": 2 }, "MemberExpression": 2, "ObjectExpression": 1, "SwitchCase": 1, "ignoredNodes": [ "ConditionalExpression" ], "flatTernaryExpressions": false, "offsetTernaryExpressions": false, "ignoreComments": false } ] |
|
jsx-quotes | [ "off", "prefer-double" ] |
|||
key-spacing | [ "error", { "beforeColon": false, "afterColon": true } ] |
[ "error", { "beforeColon": false, "afterColon": true } ] |
error | |
keyword-spacing | [ "error", { "before": true, "after": true } ] |
[ "error", { "before": true, "after": true, "overrides": { "return": { "after": true }, "throw": { "after": true }, "case": { "after": true } } } ] |
error | |
line-comment-position | [ "off", { "position": "above", "ignorePattern": "", "applyDefaultPatterns": true } ] |
|||
linebreak-style | [ "error", "unix" ] |
error | ||
lines-around-comment | off | |||
lines-between-class-members | [ "error", "always", { "exceptAfterSingleLine": true } ] |
[ "error", "always", { "exceptAfterSingleLine": false } ] |
||
max-depth | [ "off", 4 ] |
|||
max-len | [ "error", 100, 2, { "ignoreUrls": true, "ignoreComments": false, "ignoreRegExpLiterals": true, "ignoreStrings": true, "ignoreTemplateLiterals": true } ] |
[ "error", { "code": 80, "tabWidth": 2, "ignoreUrls": true, "ignorePattern": "goog.(module|require)" } ] |
||
max-lines | [ "off", { "max": 300, "skipBlankLines": true, "skipComments": true } ] |
|||
max-lines-per-function | [ "off", { "max": 50, "skipBlankLines": true, "skipComments": true, "IIFEs": true } ] |
|||
max-nested-callbacks | off | |||
max-params | [ "off", 3 ] |
|||
max-statements | [ "off", 10 ] |
|||
max-statements-per-line | [ "off", { "max": 1 } ] |
|||
multiline-comment-style | [ "off", "starred-block" ] |
|||
multiline-ternary | [ "error", "always-multiline" ] |
[ "off", "never" ] |
||
new-cap | [ "error", { "newIsCap": true, "capIsNew": false, "properties": true } ] |
[ "error", { "newIsCap": true, "newIsCapExceptions": [], "capIsNew": false, "capIsNewExceptions": [ "Immutable.Map", "Immutable.Set", "Immutable.List" ], "properties": true } ] |
error | |
new-parens | error | error | ||
newline-per-chained-call | [ "error", { "ignoreChainWithDepth": 4 } ] |
|||
no-array-constructor | error | error | error | |
no-bitwise | error | |||
no-continue | error | |||
no-inline-comments | off | |||
no-lonely-if | error | |||
no-mixed-operators | [ "error", { "groups": [ [ "==", "!=", "===", "!==", ">", ">=", "<", "<=" ], [ "&&", "||" ], [ "in", "instanceof" ] ], "allowSamePrecedence": true } ] |
[ "error", { "groups": [ [ "%", "**" ], [ "%", "+" ], [ "%", "-" ], [ "%", "" ], [ "%", "/" ], [ "/", "" ], [ "&", "|", "<<", ">>", ">>>" ], [ "==", "!=", "===", "!==" ], [ "&&", "||" ] ], "allowSamePrecedence": false } ] |
||
no-mixed-spaces-and-tabs | error | error | error | error |
no-multi-assign | error | |||
no-multiple-empty-lines | [ "error", { "max": 1, "maxEOF": 0 } ] |
[ "error", { "max": 1, "maxBOF": 0, "maxEOF": 0 } ] |
[ "error", { "max": 2 } ] |
|
no-negated-condition | off | |||
no-nested-ternary | error | |||
no-new-object | error | error | error | |
no-plusplus | error | |||
no-restricted-syntax | [ "error", { "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": "ForOfStatement", "message": "iterators/generators require regenerator-runtime, which is too heavyweight for this guide to allow them. Separately, loops should be avoided in favor of array iterations." }, { "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." } ] |
|||
no-tabs | error | error | error | |
no-ternary | off | |||
no-trailing-spaces | error | [ "error", { "skipBlankLines": false, "ignoreComments": false } ] |
error | |
no-underscore-dangle | [ "error", { "allow": [], "allowAfterThis": false, "allowAfterSuper": false, "enforceInMethodNames": true, "allowAfterThisConstructor": false, "allowFunctionParams": true } ] |
|||
no-unneeded-ternary | [ "error", { "defaultAssignment": false } ] |
[ "error", { "defaultAssignment": false } ] |
||
no-whitespace-before-property | error | error | ||
nonblock-statement-body-position | [ "error", "beside", { "overrides": {} } ] |
|||
object-curly-newline | [ "error", { "multiline": true, "consistent": true } ] |
[ "error", { "ObjectExpression": { "minProperties": 4, "multiline": true, "consistent": true }, "ObjectPattern": { "minProperties": 4, "multiline": true, "consistent": true }, "ImportDeclaration": { "minProperties": 4, "multiline": true, "consistent": true }, "ExportDeclaration": { "minProperties": 4, "multiline": true, "consistent": true } } ] |
||
object-curly-spacing | [ "error", "always" ] |
[ "error", "always" ] |
error | |
object-property-newline | [ "error", { "allowMultiplePropertiesPerLine": true, "allowAllPropertiesOnSameLine": false } ] |
[ "error", { "allowAllPropertiesOnSameLine": true, "allowMultiplePropertiesPerLine": false } ] |
||
one-var | [ "error", { "initialized": "never" } ] |
[ "error", "never" ] |
[ "error", { "var": "never", "let": "never", "const": "never" } ] |
|
one-var-declaration-per-line | [ "error", "always" ] |
|||
operator-assignment | [ "error", "always" ] |
|||
operator-linebreak | [ "error", "after", { "overrides": { "?": "before", ":": "before", "|>": "before" } } ] |
[ "error", "before", { "overrides": { "=": "none" } } ] |
[ "error", "after" ] |
|
padded-blocks | [ "error", { "blocks": "never", "switches": "never", "classes": "never" } ] |
[ "error", { "blocks": "never", "classes": "never", "switches": "never" }, { "allowSingleLineBlocks": true } ] |
[ "error", "never" ] |
|
padding-line-between-statements | off | |||
prefer-exponentiation-operator | off | |||
prefer-object-spread | error | |||
quote-props | [ "error", "as-needed" ] |
[ "error", "as-needed", { "keywords": false, "unnecessary": true, "numbers": false } ] |
[ "error", "consistent" ] |
|
quotes | [ "error", "single", { "avoidEscape": true, "allowTemplateLiterals": false } ] |
[ "error", "single", { "avoidEscape": true } ] |
[ "error", "single", { "allowTemplateLiterals": true } ] |
|
semi | [ "error", "never" ] |
[ "error", "always" ] |
error | |
semi-spacing | [ "error", { "before": false, "after": true } ] |
[ "error", { "before": false, "after": true } ] |
error | |
semi-style | [ "error", "last" ] |
|||
sort-keys | [ "off", "asc", { "caseSensitive": false, "natural": true } ] |
|||
sort-vars | off | |||
space-before-blocks | [ "error", "always" ] |
error | error | |
space-before-function-paren | [ "error", "always" ] |
[ "error", { "anonymous": "always", "named": "never", "asyncArrow": "always" } ] |
[ "error", { "asyncArrow": "always", "anonymous": "never", "named": "never" } ] |
|
space-in-parens | [ "error", "never" ] |
[ "error", "never" ] |
||
space-infix-ops | error | error | ||
space-unary-ops | [ "error", { "words": true, "nonwords": false } ] |
[ "error", { "words": true, "nonwords": false, "overrides": {} } ] |
||
spaced-comment | [ "error", "always", { "line": { "markers": [ "*package", "!", "/", ",", "=" ] }, "block": { "balanced": true, "markers": [ "package", "!", ",", ":", "::", "flow-include" ], "exceptions": [ "" ] } } ] |
[ "error", "always", { "line": { "exceptions": [ "-", "+" ], "markers": [ "=", "!", "/" ] }, "block": { "exceptions": [ "-", "+" ], "markers": [ "=", "!", ":", "::" ], "balanced": true } } ] |
[ "error", "always" ] |
|
switch-colon-spacing | [ "error", { "after": true, "before": false } ] |
error | ||
template-tag-spacing | [ "error", "never" ] |
[ "error", "never" ] |
||
unicode-bom | [ "error", "never" ] |
[ "error", "never" ] |
||
wrap-regex | off |
ECMAScript 6
Rule | eslint:recommended | standard | airbnb-base | |
---|---|---|---|---|
arrow-body-style | [ "error", "as-needed", { "requireReturnForObjectLiteral": false } ] |
|||
arrow-parens | [ "error", "always" ] |
[ "error", "always" ] |
||
arrow-spacing | [ "error", { "before": true, "after": true } ] |
[ "error", { "before": true, "after": true } ] |
||
constructor-super | error | error | error | error |
generator-star-spacing | [ "error", { "before": true, "after": true } ] |
[ "error", { "before": false, "after": true } ] |
[ "error", "after" ] |
|
no-class-assign | error | error | error | |
no-confusing-arrow | [ "error", { "allowParens": true } ] |
|||
no-const-assign | error | error | error | |
no-dupe-class-members | error | error | error | |
no-duplicate-imports | off | |||
no-new-symbol | error | error | error | error |
no-restricted-exports | [ "off", { "restrictedNamedExports": [ "default", "then" ] } ] |
|||
no-restricted-imports | [ "off", { "paths": [], "patterns": [] } ] |
|||
no-this-before-super | error | error | error | error |
no-useless-computed-key | error | error | ||
no-useless-constructor | error | error | ||
no-useless-rename | error | [ "error", { "ignoreDestructuring": false, "ignoreImport": false, "ignoreExport": false } ] |
||
no-var | warn | error | error | |
object-shorthand | [ "error", "always", { "ignoreConstructors": false, "avoidQuotes": true } ] |
|||
prefer-arrow-callback | [ "error", { "allowNamedFunctions": false, "allowUnboundThis": true } ] |
|||
prefer-const | [ "error", { "destructuring": "all", "ignoreReadBeforeAssign": false } ] |
[ "error", { "destructuring": "any", "ignoreReadBeforeAssign": true } ] |
[ "error", { "destructuring": "all", "ignoreReadBeforeAssign": false } ] |
|
prefer-destructuring | [ "error", { "VariableDeclarator": { "array": false, "object": true }, "AssignmentExpression": { "array": true, "object": false } }, { "enforceForRenamedProperties": false } ] |
|||
prefer-numeric-literals | error | |||
prefer-rest-params | error | error | ||
prefer-spread | error | error | ||
prefer-template | error | |||
require-yield | error | error | ||
rest-spread-spacing | [ "error", "never" ] |
[ "error", "never" ] |
error | |
sort-imports | [ "off", { "ignoreCase": false, "ignoreDeclarationSort": false, "ignoreMemberSort": false, "memberSyntaxSortOrder": [ "none", "all", "multiple", "single" ] } ] |
|||
symbol-description | error | error | ||
template-curly-spacing | [ "error", "never" ] |
error | ||
yield-star-spacing | [ "error", "both" ] |
[ "error", "after" ] |
[ "error", "after" ] |