175 lines
4.3 KiB
Plaintext
175 lines
4.3 KiB
Plaintext
---
|
|
plugins:
|
|
- react
|
|
ecmaFeatures:
|
|
arrowFunctions: true
|
|
classes: true
|
|
defaultParams: true
|
|
destructuring: true
|
|
jsx: true
|
|
objectLiteralComputedProperties: true
|
|
objectLiteralShorthandMethods: true
|
|
objectLiteralShorthandProperties: true
|
|
restParams: true
|
|
spread: true
|
|
superInFunctions: true
|
|
rules:
|
|
# possible errors
|
|
comma-dangle: 2
|
|
no-cond-assign: 2
|
|
no-console: 2
|
|
no-constant-condition: 2
|
|
no-debugger: 2
|
|
no-dupe-args: 2
|
|
no-dupe-keys: 2
|
|
no-duplicate-case: 2
|
|
no-empty-character-class: 2
|
|
no-ex-assign: 2
|
|
no-extra-boolean-cast: 2
|
|
no-extra-parens: 0
|
|
no-extra-semi: 2
|
|
no-func-assign: 2
|
|
no-inner-declarations: 2
|
|
no-invalid-regexp: 2
|
|
no-irregular-whitespace: 2
|
|
no-negated-in-lhs: 2
|
|
no-obj-calls: 2
|
|
no-regex-spaces: 2
|
|
no-sparse-arrays: 2
|
|
no-unexpected-multiline: 2
|
|
no-unreachable: 2
|
|
use-isnan: 2
|
|
valid-typeof: 2
|
|
|
|
# best practices
|
|
block-scoped-var: 2
|
|
complexity: 0
|
|
consistent-return: 0
|
|
dot-location: [2, property]
|
|
dot-notation: 2
|
|
no-alert: 2
|
|
no-caller: 2
|
|
no-else-return: 0
|
|
no-empty-label: 2
|
|
no-empty-pattern: 2
|
|
no-eq-null: 2
|
|
no-eval: 2
|
|
no-implied-eval: 2
|
|
no-extend-native: 2
|
|
no-extra-bind: 2
|
|
no-fallthrough: 2
|
|
no-floating-decimal: 2
|
|
no-lone-blocks: 2
|
|
no-loop-func: 2
|
|
no-multi-spaces: 2
|
|
no-native-reassign: 2
|
|
no-new-wrappers: 2
|
|
no-new-func: 2
|
|
no-new: 2
|
|
no-octal-escape: 2
|
|
no-octal: 2
|
|
no-param-reassign: 0
|
|
no-proto: 2
|
|
no-redeclare: 2
|
|
no-return-assign: 2
|
|
no-script-url: 0
|
|
no-self-compare: 2
|
|
no-sequences: 2
|
|
no-throw-literal: 2
|
|
no-unused-expressions: 2
|
|
no-useless-call: 2
|
|
no-with: 2
|
|
radix: 0
|
|
yoda: 2
|
|
|
|
# strict mode
|
|
strict: 2
|
|
|
|
# variables
|
|
no-delete-var: 2
|
|
no-shadow-restricted-names: 2
|
|
no-undef-init: 2
|
|
no-undef: 2
|
|
no-unused-vars: 2
|
|
no-use-before-define: 2
|
|
|
|
# stylistic issues
|
|
array-bracket-spacing: [2, never]
|
|
brace-style: [2, 1tbs, {allowSingleLine: true}]
|
|
camelcase: [2, {properties: never}]
|
|
comma-style: [2, last]
|
|
comma-spacing: [2, {before: false, after: true}]
|
|
computed-property-spacing: [2, never]
|
|
eol-last: 2
|
|
id-length: [0, {min: 2, exceptions: ['$', '_', 'e']}]
|
|
id-match: [2, '^([A-Za-z\d_$]+)$', {properties: true}]
|
|
jsx-quotes: [2, prefer-single]
|
|
key-spacing: [2, {beforeColon: false, afterColon: true}]
|
|
linebreak-style: [2, unix]
|
|
max-nested-callbacks: [0, 5]
|
|
new-cap: [2, {newIsCap: true, capIsNew: false}]
|
|
no-array-constructor: 2
|
|
no-new-object: 2
|
|
no-lonely-if: 2
|
|
no-multiple-empty-lines: [2, {max: 1}]
|
|
no-spaced-func: 2
|
|
no-unneeded-ternary: 2
|
|
object-curly-spacing: 2
|
|
operator-linebreak: [0, after, {overrides: {':': null}}]
|
|
padded-blocks: [2, never]
|
|
quote-props: [2, as-needed]
|
|
quotes: [2, single, avoid-escape]
|
|
semi-spacing: [2, {before: false, after: true}]
|
|
semi: [2, always]
|
|
space-after-keywords: [2, always]
|
|
space-before-blocks: [2, always]
|
|
space-before-function-paren: [2, never]
|
|
space-before-keywords: [2, always]
|
|
space-in-parens: [2, never]
|
|
space-infix-ops: 2
|
|
space-return-throw-case: 2
|
|
space-unary-ops: [2, {words: true, nonwords: false}]
|
|
spaced-comment: [0, always]
|
|
|
|
# es6
|
|
arrow-parens: [2, always]
|
|
arrow-spacing: [2, {before: true, after: true}]
|
|
constructor-super: 2
|
|
#no-arrow-condition: 2
|
|
no-class-assign: 2
|
|
no-const-assign: 2
|
|
no-dupe-class-members: 2
|
|
no-this-before-super: 2
|
|
no-var: 0
|
|
object-shorthand: 0
|
|
prefer-arrow-callback: 0
|
|
prefer-const: 0
|
|
prefer-spread: 0
|
|
prefer-template: 0
|
|
|
|
# react
|
|
react/jsx-boolean-value: [2, never]
|
|
react/jsx-closing-bracket-location: [2, {nonEmpty: false, selfClosing: line-aligned}]
|
|
react/jsx-curly-spacing: [2, never]
|
|
react/jsx-indent-props: [2, 4]
|
|
react/jsx-key: 2
|
|
react/jsx-no-duplicate-props: 2
|
|
react/jsx-no-literals: 0
|
|
react/jsx-no-undef: 2
|
|
react/jsx-uses-react: 2
|
|
react/jsx-uses-vars: 2
|
|
react/no-unknown-property: 2
|
|
react/prop-types: 0
|
|
react/react-in-jsx-scope: 2
|
|
react/self-closing-comp: 2
|
|
react/sort-comp: 0
|
|
env:
|
|
browser: true
|
|
node: true
|
|
mocha: true
|
|
amd: true
|
|
globals:
|
|
app: false
|
|
assert: false
|
|
sinon: false
|