mistadikay/react-auto-fetching-example

View on GitHub
.eslintrc

Summary

Maintainability
Test Coverage
---
  parser: babel-eslint
  plugins:
    - babel
    - react

  env:
    es6: true
    node: true
    browser: true

  ecmaFeatures:
    modules: true
    jsx: true

  rules:

    # Possible Errors
    comma-dangle:
      - 2
      - never
    no-cond-assign: 2
    no-console: 1
    no-constant-condition: 2
    no-control-regex: 1
    no-debugger: 2
    no-dupe-args: 2
    no-dupe-keys: 2
    no-duplicate-case: 2
    no-empty: 2
    no-empty-character-class: 2
    no-ex-assign: 2
    no-extra-boolean-cast: 2
    no-extra-parens:
      - 2
      - functions
    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-reserved-keys: 0 # ?
    no-sparse-arrays: 2
    no-unreachable: 2
    use-isnan: 2
    valid-jsdoc: 0 # fuck off
    valid-typeof: 2

    # Best Practices
    accessor-pairs:
      - 1
      - setWithoutGet: true
    block-scoped-var: 0
    complexity: 0  # todo
    consistent-return: 0
    curly: 2
    default-case: 0
    dot-notation: 2
    dot-location: 0
    eqeqeq: 2
    guard-for-in: 2
    no-alert: 2
    no-caller: 2
    no-div-regex: 0
    no-else-return: 2
    no-empty-label: 2
    no-eq-null: 2
    no-eval: 2
    no-extend-native: 2
    no-extra-bind: 2
    no-fallthrough: 2
    no-floating-decimal: 2
    no-implicit-coercion:
      - 2
      - boolean: true
        number: true
        string: true
    no-implied-eval: 2
    no-invalid-this: 2
    no-iterator: 2
    no-labels: 2
    no-lone-blocks: 2
    no-loop-func: 2
    no-multi-spaces: 2
    no-multi-str: 2
    no-native-reassign: 2
    no-new: 2
    no-new-func: 2
    no-new-wrappers: 2
    no-octal: 2
    no-octal-escape: 2
    no-param-reassign: 1 # ?
    no-process-env: 0
    no-proto: 2
    no-redeclare: 2
    no-return-assign: 2
    no-script-url: 2
    no-self-compare: 2
    no-sequences: 2
    no-throw-literal: 2
    no-unused-expressions: 0 # ? (chai)
    no-useless-call: 2
    no-void: 2
    no-warning-comments: 0
    no-with: 2
    radix: 2
    vars-on-top: 2
    wrap-iife: 2
    yoda: 2
    no-unexpected-multiline: 1

    # Strict Mode
    strict:
      - 2
      - never

    # Variables
    init-declarations: 1
    no-catch-shadow: 2
    no-delete-var: 2
    no-label-var: 2
    no-shadow: 2
    no-shadow-restricted-names: 2
    no-undef: 2
    no-undef-init: 2
    no-undefined: 2
    no-unused-vars:
      - 1
      - args: none
    no-use-before-define:
      - 2
      - nofunc

    # Node.js
    callback-return:
      - 1
      -
        - callback
        - done
    handle-callback-err: 2
    no-mixed-requires: 2
    no-new-require: 2
    no-path-concat: 2
    no-process-exit: 2
    no-restricted-modules: 0
    no-sync: 1 # ?

    # Stylistic Issues
    array-bracket-spacing:
      - 2
      - always
      - singleValue: true
        objectsInArrays: true
        arraysInArrays: true
    block-spacing:
      - 2
      - always
    indent:
      - 2
      - 4
      - SwitchCase: 1
    brace-style:
      - 2
      - 1tbs
      - allowSingleLine: false
    camelcase: 0 # ?
    comma-spacing:
      - 2
      - before: false
        after: true
    comma-style:
      - 2
      - last
    computed-property-spacing: 0 # ?
    consistent-this:
      - 2
      - self
    eol-last: 2
    func-names: 0
    func-style: 0 # ?
    id-length:
      - 2
      - min: 2
        max: 35
        exceptions:
          - "i"
          - "e"
    lines-around-comment: 0
    key-spacing:
      - 2
      - beforeColon: false
        afterColon: true
    linebreak-style:
      - 2
      - unix
    max-nested-callbacks: # ?
      - 1
      - 3
    new-cap: 0
    new-parens: 2
    newline-after-var: 1 # ?
    no-array-constructor: 2
    no-continue: 0
    no-inline-comments: 0
    no-lonely-if: 2
    no-mixed-spaces-and-tabs: 2
    no-multiple-empty-lines:
      - 2
      - max: 2
    no-nested-ternary: 2
    no-new-object: 2
    no-spaced-func: 2
    no-ternary: 0
    no-trailing-spaces: 2
    no-underscore-dangle: 0
    no-unneeded-ternary: 2
    object-curly-spacing:
      - 2
      - always
    one-var: 0
    operator-assignment:
      - 2
      - always
    operator-linebreak:
      - 2
      - after
    padded-blocks: 0
    quote-props:
      - 2
      - as-needed
    id-match: 0
    quotes:
      - 2
      - single
    semi:
      - 2
      - always
    semi-spacing:
      - 2
      - before: false
        after: true
    sort-vars: 0
    space-after-keywords:
      - 2
      - always
    space-before-blocks:
      - 2
      - always
    space-before-function-paren: 0
    space-in-parens:
      - 2
      - never
    space-infix-ops: 2
    space-return-throw-case: 2
    space-unary-ops:
      - 2
      - words: true
        nonwords: false
    spaced-comment:
      - 1
      - always
      - exceptions:
        - "*"
    wrap-regex: 0

    # ECMAScript 6
    arrow-parens: 0
    arrow-spacing: 2
    constructor-super: 2
    generator-star-spacing: 0
    no-class-assign: 2
    no-const-assign: 2
    no-dupe-class-members: 2
    no-this-before-super: 2
    no-var: 2
    object-shorthand: 0
    prefer-arrow-callback: 0
    prefer-const: 2
    prefer-spread: 1
    prefer-reflect: 0 # todo
    prefer-template: 0
    require-yield: 1

    # Legacy
    max-depth: 0 # ?
    max-len:
      - 1
      - 100
      - 4
      - ignoreComments: true
        ignoreUrls: true
        # ignorePattern: "^\\s*var\\s.+=\\s*require\\s*\\(" todo https://github.com/eslint/eslint/blob/master/docs/rules/max-len.md

    max-params:
      - 1
      - 4
    max-statements: 0 # ?
    no-bitwise: 2
    no-plusplus: 0

    # Babel
    babel/object-shorthand:
      - 1
      - always
    babel/generator-star-spacing:
      - 2
      - after

    # React
    react/display-name: 2
    react/jsx-boolean-value: 2
    react/jsx-no-duplicate-props: 2
    react/jsx-no-undef: 2
    react/jsx-quotes:
      - 2
      - single
    react/jsx-sort-prop-types: 0
    react/jsx-sort-props: 0
    react/jsx-uses-react: 2
    react/jsx-uses-vars: 2
    react/no-danger: 1
    react/no-did-mount-set-state: 2
    react/no-did-update-set-state: 2
    react/no-multi-comp: 2
    react/no-unknown-property: 1
    react/prop-types: 0
    react/react-in-jsx-scope: 2
    react/require-extension: 0
    react/self-closing-comp: 2
    react/sort-comp: 1
    react/wrap-multilines: 2