summaryrefslogtreecommitdiff
path: root/.eslintrc.yml
blob: d04a10a91274546d728ac63624c68b708c6ae147 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
env:
  browser: true
  es6: true
extends:
  - airbnb-base
  - prettier
  - plugin:vue/recommended
globals:
  __webpack_public_path__: true
  gl: false
  gon: false
  localStorage: false
parserOptions:
  parser: babel-eslint
plugins:
  - filenames
  - import
  - html
  - promise
settings:
  html/html-extensions:
    - '.html'
    - '.html.raw'
  import/resolver:
    webpack:
      config: './config/webpack.config.js'
rules:
  filenames/match-regex:
    - error
    - '^[a-z0-9_]+$'
  import/no-commonjs: error
  promise/catch-or-return: error
  no-param-reassign:
    - error
    - props: true
      ignorePropertyModificationsFor:
        - 'acc' # for reduce accumulators
        - 'accumulator' # for reduce accumulators
        - 'el' # for DOM elements
        - 'element' # for DOM elements
        - 'state' # for Vuex mutations
  no-underscore-dangle:
    - error
    - allow:
        - __
        - _links
  no-mixed-operators: off
  vue/html-self-closing:
    - error
    - html:
        void: always
        normal: never
        component: always
      svg: always
      math: always
  camelcase:
    - error
    - properties: never
      ignoreDestructuring: true
  # Disabled for now, to make the airbnb-base 12.1.0 -> 13.1.0 update smoother
  no-else-return:
    - error
    - allowElseIf: true
  import/no-useless-path-segments: off
  lines-between-class-members: off
  # Disabled for now, to make the plugin-vue 4.5 -> 5.0 update smoother
  vue/html-closing-bracket-newline: off
  vue/html-closing-bracket-spacing: off
  vue/no-confusing-v-for-v-if: error
  vue/no-unused-components: off
  vue/no-use-v-if-with-v-for: off
  vue/no-v-html: off