File: rubocop.yml

package info (click to toggle)
gitlab 17.6.5-19
  • links: PTS, VCS
  • area: main
  • in suites: sid
  • size: 629,368 kB
  • sloc: ruby: 1,915,304; javascript: 557,307; sql: 60,639; xml: 6,509; sh: 4,567; makefile: 1,239; python: 406
file content (149 lines) | stat: -rw-r--r-- 3,369 bytes parent folder | download
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
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
# We need to ignore exclusions defined in parent RuboCop configuration
# (AllCops/Exclude: 'gems/**/*') if RuboCop cop is run within `gems/...`.
# See https://gitlab.com/gitlab-org/gitlab/-/issues/417281
<%
  relative_path = ENV['PWD'].delete_prefix(File.expand_path('../..'))
  RuboCop::ConfigLoader.ignore_parent_exclusion = relative_path.start_with?('/gems/')
%>
---
inherit_gem:
  gitlab-styles:
    - rubocop-default.yml

require:
  - ../../rubocop/rubocop
  - rubocop-rspec

inherit_mode:
  merge:
    - Include
    - Exclude
    - AllowedPatterns

AllCops:
  # The oldest supported Ruby version.
  TargetRubyVersion: 3.1
  SuggestExtensions: false
  NewCops: disable

# This cop doesn't make sense in the context of gems
CodeReuse/ActiveRecord:
  Enabled: false

# This cop doesn't make sense in the context of gems
RSpec/FactoriesInMigrationSpecs:
  Enabled: false

# This cop doesn't make sense in the context of gems
Cop/PutGroupRoutesUnderScope:
  Enabled: false

# This cop doesn't make sense in the context of gems
Cop/PutProjectRoutesUnderScope:
  Enabled: false

Gemspec/AvoidExecutingGit:
  Enabled: true

# We disable this since we support multiple Ruby versions
Gemspec/RequiredRubyVersion:
  Enabled: false

# This cop enforces domain bounded contexts which generally
# are not applicable to gems.
Gitlab/BoundedContexts:
  Enabled: false

# This cop doesn't make sense in the context of gems
Gitlab/DocUrl:
  Enabled: false

# This cop doesn't make sense in the context of gems
Gitlab/EeOnlyClass:
  Enabled: false

# This cop doesn't make sense in the context of gems
Gitlab/NamespacedClass:
  Enabled: false

# This cop doesn't make sense in the context of gems
Gitlab/RSpec/AvoidSetup:
  Enabled: false

# This cop doesn't make sense in the context of gems
Graphql/AuthorizeTypes:
  Enabled: false

Gitlab/Json:
  Enabled: false

# This cop doesn't make sense in the context of gems
Graphql/Descriptions:
  Enabled: false

# This cop doesn't make sense in the context of gems
RSpec/BeforeAll:
  Enabled: false

Naming/FileName:
  Exclude:
    - spec/**/*.rb

# Include behavior not honored. See https://gitlab.com/gitlab-org/gitlab/-/merge_requests/145865/diffs#note_1791901400
Rails/MigrationTimestamp:
  Enabled: false

# This cop doesn't make sense in the context of gems
RSpec/AvoidConditionalStatements:
  Enabled: false

RSpec/ContextWording:
  Prefixes:
  - 'when'
  - 'with'
  - 'without'
  - 'for'
  - 'and'
  - 'on'
  - 'in'
  - 'as'
  - 'if'

# This cop doesn't make sense in the context of gems
RSpec/FeatureCategory:
  Enabled: false

Style/InlineDisableAnnotation:
  Enabled: false

Style/Lambda:
  EnforcedStyle: literal

Style/RegexpLiteralMixedPreserve:
  Enabled: true
  SupportedStyles:
    - slashes
    - percent_r
    - mixed
    - mixed_preserve
  EnforcedStyle: mixed_preserve

# Short-hand Hash syntax does not work prior 3.1.
# See https://gitlab.com/gitlab-org/gitlab/-/issues/435940#note_1703307479
Style/HashSyntax:
  EnforcedShorthandSyntax: never

# This cop doesn't make sense in the context of gems
Migration/EnsureFactoryForTable:
  Enabled: false

# This cop doesn't make sense in the context of gems unless they're
# adding Controller code
Rails/StrongParams:
  Enabled: true
  Include:
    - '**/controllers/**/*'

# This cop doesn't make sense in the context of gems
Gitlab/NoFindInWorkers:
  Enabled: false