---
  plugins:
    - react
  ecmaFeatures:
    arrowFunctions: true
    classes: true
    defaultParams: true
    destructuring: true
    jsx: true
    modules: true
    objectLiteralComputedProperties: true
    objectLiteralShorthandMethods: true
    objectLiteralShorthandProperties: true
    restParams: true
    spread: true
    superInFunctions: true
  rules:
    # es6
    arrow-parens: 2
    arrow-spacing: 2
    constructor-super: 2
    no-class-assign: 2
    no-const-assign: 2
    no-dupe-class-members: 2
    no-this-before-super: 2
    no-var: 0
    object-shorthand: [2, methods]
    prefer-arrow-callback: 2
    prefer-const: 0
    prefer-spread: 2
    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: [2, 2]
    react/jsx-indent-props: [2, 2]
    react/jsx-key: 2
    react/jsx-no-duplicate-props: 2
    react/jsx-no-literals: 0
    react/jsx-no-undef: 2
    react/jsx-pascal-case: 2
    react/jsx-uses-react: 2
    react/jsx-uses-vars: 2
    react/no-deprecated: 2
    react/no-unknown-property: 2
    react/prefer-es6-class: [2, never]
    react/prop-types: 0
    react/react-in-jsx-scope: 2
    react/self-closing-comp: 2
    react/sort-comp: 0
  env:
    browser: true
    node: false
  globals:
    app: false
