summaryrefslogtreecommitdiff
path: root/.eslintrc.yml
blob: 7ec7abca2e44fa892ecc34a585f5e3227aad43c3 (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
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
extends:
  - plugin:@gitlab/default
  - plugin:@gitlab/i18n
  - plugin:no-jquery/slim
  - plugin:no-jquery/deprecated-3.4
  - ./tooling/eslint-config/conditionally_ignore_ee.js
globals:
  __webpack_public_path__: true
  gl: false
  gon: false
  localStorage: false
  IS_EE: false
plugins:
  - no-jquery
settings:
  import/resolver:
    webpack:
      config: './config/webpack.config.js'
rules:
  import/no-commonjs: error
  import/no-default-export: off
  no-underscore-dangle:
    - error
    - allow:
        - __
        - _links
  import/no-unresolved:
    - error
  # Disabled for now, to make the airbnb-base 12.1.0 -> 13.1.0 update smoother
  no-else-return:
    - error
    - allowElseIf: true
  lines-between-class-members: off
  # Disabled for now, to make the plugin-vue 4.5 -> 5.0 update smoother
  vue/no-confusing-v-for-v-if: error
  vue/no-use-v-if-with-v-for: off
  vue/no-v-html: error
  vue/use-v-on-exact: off
  # all offenses of no-jquery/no-animate-toggle are false positives ( $toast.show() )
  no-jquery/no-animate-toggle: off
  no-jquery/no-event-shorthand: off
  no-jquery/no-serialize: error
  promise/always-return: off
  promise/no-callback-in-promise: off
  '@gitlab/no-global-event-off': error
  no-param-reassign:
    - error
    - props: true
      ignorePropertyModificationsFor:
        - acc
        - accumulator
        - el
        - element
        - state
      ignorePropertyModificationsForRegex:
        - '^draft'
  import/order:
    - error
    - groups:
        - builtin
        - external
        - internal
        - parent
        - sibling
        - index
      pathGroups:
        - pattern: ~/**
          group: internal
        - pattern: emojis/**
          group: internal
        - pattern: '{ee_,}empty_states/**'
          group: internal
        - pattern: '{ee_,}icons/**'
          group: internal
        - pattern: '{ee_,}images/**'
          group: internal
        - pattern: vendor/**
          group: internal
        - pattern: shared_queries/**
          group: internal
        - pattern: '{ee_,}spec/**'
          group: internal
        - pattern: '{ee_,}jest/**'
          group: internal
        - pattern: ee_else_ce/**
          group: internal
        - pattern: ee/**
          group: internal
        - pattern: ee_component/**
          group: internal
        - pattern: '{test_,}helpers/**'
          group: internal
        - pattern: test_fixtures/**
          group: internal
      alphabetize:
        order: asc
overrides:
  - files:
      - '**/spec/**/*'
    rules:
      '@gitlab/require-i18n-strings': off
      '@gitlab/no-runtime-template-compiler': off
  - files:
      - 'config/**/*'
      - 'scripts/**/*'
      - '*.config.js'
      - '*.config.*.js'
    rules:
      '@gitlab/require-i18n-strings': off
      import/no-extraneous-dependencies: off
      import/no-commonjs: off
      import/no-nodejs-modules: off
      filenames/match-regex: off
      no-console: off