env:
  browser: true
  commonjs: true
extends: semistandard
root: true
rules:
  # accessor-pairs: error
  # array-bracket-newline: error
  # array-bracket-spacing: 'off'
  # array-callback-return: error
  # array-element-newline: 'off'
  # arrow-body-style: error
  # arrow-parens: error
  # arrow-spacing: error
  # block-scoped-var: error
  # block-spacing:
  #   - error
  #   - always
  # brace-style: 'off'
  # callback-return: error
  camelcase: warn
  # capitalized-comments: 'off'
  # class-methods-use-this: error
  # comma-dangle: error
  # comma-spacing:
  #   - error
  #   - after: true
  #     before: false
  # comma-style:
  #   - error
  #   - last
  # complexity: 'off'
  # computed-property-spacing:
  #   - error
  #   - never
  # consistent-return: error
  # consistent-this: error
  # curly: error
  # default-case: error
  # dot-location: error
  # dot-notation: error
  # eol-last: error
  # eqeqeq: error
  # for-direction: error
  # func-call-spacing: error
  # func-name-matching: error
  # func-names:
  #   - error
  #   - never
  # func-style:
  #   - error
  #   - declaration
  # function-paren-newline: error
  # generator-star-spacing: error
  # getter-return: error
  # global-require: error
  # guard-for-in: error
  # handle-callback-err: error
  # id-blacklist: error
  # id-length: 'off'
  # id-match: error
  indent: 
    - off
    - 2
    - SwitchCase: 0
      VariableDeclarator: 4
  indent-legacy: off
  # init-declarations: 'off'
  # jsx-quotes: error
  # key-spacing: 'off'
  # keyword-spacing: 'off'
  # line-comment-position: 'off'
  linebreak-style:
    - error
    - unix
  # lines-around-comment: error
  # lines-around-directive: error
  # max-depth: 'off'
  # max-len: 'off'
  # max-lines: 'off'
  # max-nested-callbacks: error
  # max-params: error
  # max-statements: 'off'
  # max-statements-per-line: 'off'
  # new-cap: error
  # new-parens: error
  # newline-after-var: 'off'
  # newline-before-return: 'off'
  # newline-per-chained-call: error
  # no-alert: error
  # no-array-constructor: error
  # no-await-in-loop: error
  # no-bitwise: 'off'
  # no-buffer-constructor: error
  # no-caller: error
  # no-catch-shadow: error
  # no-cond-assign:
  #   - error
  #   - except-parens
  # no-confusing-arrow: error
  # no-console: 'off'
  # no-constant-condition:
  #   - error
  #   - checkLoops: false
  # no-continue: 'off'
  no-control-regex: "off"
  # no-div-regex: error
  # no-duplicate-imports: error
  # no-else-return: error
  # no-empty-function: error
  # no-eq-null: error
  # no-eval: error
  # no-extend-native: error
  # no-extra-bind: error
  # no-extra-label: error
  # no-extra-parens: 'off'
  # no-floating-decimal: error
  # no-implicit-coercion: error
  # no-implicit-globals: error
  # no-implied-eval: error
  # no-inline-comments: 'off'
  # no-inner-declarations:
  #   - error
  #   - functions
  # no-invalid-this: error
  # no-iterator: error
  # no-label-var: error
  # no-labels: error
  # no-lone-blocks: error
  # no-lonely-if: 'off'
  # no-loop-func: error
  # no-magic-numbers: 'off'
  # no-mixed-operators: error
  # no-mixed-requires: error
  # no-multi-assign: 'off'
  no-multi-spaces: 
    - error
    - ignoreEOLComments: true
  # no-multi-str: error
  no-multiple-empty-lines: 
    - error
    - max: 3
      maxEOF: 3
      maxBOF: 2
  # no-native-reassign: error
  # no-negated-condition: 'off'
  # no-negated-in-lhs: error
  # no-nested-ternary: error
  # no-new: error
  # no-new-func: error
  # no-new-object: error
  # no-new-require: error
  # no-new-wrappers: error
  # no-octal-escape: error
  # no-param-reassign: 'off'
  # no-path-concat: error
  # no-plusplus: 'off'
  # no-process-env: error
  # no-process-exit: error
  # no-proto: error
  # no-prototype-builtins: error
  # no-restricted-globals: error
  # no-restricted-imports: error
  # no-restricted-modules: error
  # no-restricted-properties: error
  # no-restricted-syntax: error
  # no-return-assign: error
  # no-return-await: error
  # no-script-url: error
  # no-self-compare: error
  # no-sequences: error
  # no-shadow: 'off'
  # no-shadow-restricted-names: error
  # no-spaced-func: error
  # no-sync: error
  # no-tabs: error
  # no-template-curly-in-string: error
  # no-ternary: 'off'
  # no-throw-literal: error
  # no-trailing-spaces: error
  # no-undef-init: error
  # no-undefined: 'off'
  # no-underscore-dangle: error
  # no-unmodified-loop-condition: error
  # no-unneeded-ternary: error
  # no-unused-expressions: error
  # no-use-before-define: error
  # no-useless-call: error
  # no-useless-computed-key: error
  # no-useless-concat: error
  # no-useless-constructor: error
  # no-useless-rename: error
  # no-useless-return: error
  # no-var: 'off'
  # no-void: error
  no-warning-comments: off
  # no-whitespace-before-property: error
  # no-with: error
  # nonblock-statement-body-position: error
  # object-curly-newline: error
  # object-curly-spacing: 'off'
  # object-property-newline:
  #   - error
  #   - allowMultiplePropertiesPerLine: true
  # object-shorthand: error
  # one-var: 'off'
  # one-var-declaration-per-line: 'off'
  # operator-assignment:
  #   - error
  #   - always
  operator-linebreak: 
      - error
      - before
  # padded-blocks: 'off'
  # padding-line-between-statements: error
  # prefer-arrow-callback: error
  # prefer-const: error
  # prefer-destructuring: 'off'
  # prefer-numeric-literals: error
  # prefer-promise-reject-errors: error
  # prefer-reflect: 'off'
  # prefer-rest-params: 'off'
  # prefer-spread: 'off'
  # prefer-template: 'off'
  # quote-props: 'off'
  quotes:
    - warn
    - single
    - avoidEscape: true
      allowTemplateLiterals: true
  # radix:
  #   - error
  #   - always
  # require-await: error
  # require-jsdoc: 'off'
  # rest-spread-spacing: error
  # semi: error
  # semi-spacing:
  #   - error
  #   - after: true
  #     before: false
  # semi-style:
  #   - error
  #   - last
  # sort-imports: error
  # sort-keys: 'off'
  # sort-vars: 'off'
  # space-before-blocks: error
  space-before-function-paren: 
    - error
    - anonymous: always
      named: never
      asyncArrow: always
  # space-in-parens:
  #   - error
  #   - never
  # space-infix-ops: 'off'
  # space-unary-ops: error
  # spaced-comment: 'off'
  # strict:
  #   - error
  #   - never
  # switch-colon-spacing: error
  # symbol-description: error
  # template-curly-spacing: error
  # template-tag-spacing: error
  # unicode-bom:
  #   - error
  #   - never
  # valid-jsdoc: error
  # vars-on-top: 'off'
  # wrap-iife: error
  # wrap-regex: error
  # yield-star-spacing: error
  # yoda:
  #   - error
  #   - never
