plugins:
  - babel

rules:
  array-bracket-spacing:
    - 2
    - always
  arrow-parens:
    - 2
    - as-needed
  arrow-spacing: 2
  babel/generator-star-spacing: 2
  block-spacing: 2
  brace-style: 2
  camelcase:
    - 2
    - properties: never
  comma-dangle:
    - 2
    - always-multiline
  comma-spacing: 2
  comma-style: 2
  computed-property-spacing: 2
  consistent-this: 2
  curly:
    - 2
    - multi
  dot-location:
    - 2
    - property
  func-call-spacing: 2
  import/extensions: 2
  import/imports-first: 2
  import/newline-after-import: 2
  indent:
    - 2
    - tab
    - SwitchCase: 1
  key-spacing: 2
  keyword-spacing: 2
  linebreak-style: 2
  newline-per-chained-call: 2
  no-extra-parens: 1
  no-multi-spaces: 2
  no-trailing-spaces: 2
  no-whitespace-before-property: 2
  object-curly-newline: 2
  object-curly-spacing:
    - 2
    - always
  object-property-newline: 1
  one-var-declaration-per-line: 2
  operator-linebreak:
    - 2
    - before
  quote-props:
    - 2
    - as-needed
  quotes:
    - 2
    - single
    - avoidEscape: true
      allowTemplateLiterals: true
  rest-spread-spacing: 2
  semi:
    - 2
    - never
  semi-spacing: 2
  sort-imports: 2
  space-before-blocks: 2
  space-before-function-paren: 2
  space-in-parens: 2
  space-infix-ops: 2
  space-unary-ops: 2
  spaced-comment: 2
  template-curly-spacing:
    - 2
    - always
  valid-jsdoc: 1
