mirror of
https://github.com/discourse/discourse.git
synced 2024-11-25 09:42:07 +08:00
0c52537f10
We like to stay as close as possible to latest with rubocop cause the cops get better. This update required some code changes, specifically the default is to avoid explicit returns where implicit is done Also this renames a few rules
149 lines
2.8 KiB
YAML
149 lines
2.8 KiB
YAML
require:
|
|
- rubocop-discourse
|
|
|
|
AllCops:
|
|
TargetRubyVersion: 2.4
|
|
DisabledByDefault: true
|
|
Exclude:
|
|
- "db/schema.rb"
|
|
- "bundle/**/*"
|
|
- "vendor/**/*"
|
|
- "node_modules/**/*"
|
|
- "public/**/*"
|
|
- "plugins/**/gems/**/*"
|
|
|
|
# Prefer &&/|| over and/or.
|
|
Style/AndOr:
|
|
Enabled: true
|
|
|
|
Style/FrozenStringLiteralComment:
|
|
Enabled: true
|
|
|
|
# Do not use braces for hash literals when they are the last argument of a
|
|
# method call.
|
|
Style/BracesAroundHashParameters:
|
|
Enabled: true
|
|
|
|
# Align `when` with `case`.
|
|
Layout/CaseIndentation:
|
|
Enabled: true
|
|
|
|
# Align comments with method definitions.
|
|
Layout/CommentIndentation:
|
|
Enabled: true
|
|
|
|
# No extra empty lines.
|
|
Layout/EmptyLines:
|
|
Enabled: true
|
|
|
|
# Use Ruby >= 1.9 syntax for hashes. Prefer { a: :b } over { :a => :b }.
|
|
Style/HashSyntax:
|
|
Enabled: true
|
|
|
|
# Two spaces, no tabs (for indentation).
|
|
Layout/IndentationWidth:
|
|
Enabled: true
|
|
|
|
Layout/SpaceAfterColon:
|
|
Enabled: true
|
|
|
|
Layout/SpaceAfterComma:
|
|
Enabled: true
|
|
|
|
Layout/SpaceAroundEqualsInParameterDefault:
|
|
Enabled: true
|
|
|
|
Layout/SpaceAroundKeyword:
|
|
Enabled: true
|
|
|
|
Layout/SpaceAroundOperators:
|
|
Enabled: true
|
|
|
|
Layout/SpaceBeforeFirstArg:
|
|
Enabled: true
|
|
|
|
# Defining a method with parameters needs parentheses.
|
|
Style/MethodDefParentheses:
|
|
Enabled: true
|
|
|
|
# Use `foo {}` not `foo{}`.
|
|
Layout/SpaceBeforeBlockBraces:
|
|
Enabled: true
|
|
|
|
# Use `foo { bar }` not `foo {bar}`.
|
|
Layout/SpaceInsideBlockBraces:
|
|
Enabled: true
|
|
|
|
# Use `{ a: 1 }` not `{a:1}`.
|
|
Layout/SpaceInsideHashLiteralBraces:
|
|
Enabled: true
|
|
|
|
Layout/SpaceInsideParens:
|
|
Enabled: true
|
|
|
|
# Detect hard tabs, no hard tabs.
|
|
Layout/Tab:
|
|
Enabled: true
|
|
|
|
# Blank lines should not have any spaces.
|
|
Layout/TrailingEmptyLines:
|
|
Enabled: true
|
|
|
|
# No trailing whitespace.
|
|
Layout/TrailingWhitespace:
|
|
Enabled: true
|
|
|
|
Lint/Debugger:
|
|
Enabled: true
|
|
|
|
Layout/BlockAlignment:
|
|
Enabled: true
|
|
|
|
# Align `end` with the matching keyword or starting expression except for
|
|
# assignments, where it should be aligned with the LHS.
|
|
Layout/EndAlignment:
|
|
Enabled: true
|
|
EnforcedStyleAlignWith: variable
|
|
|
|
# Use my_method(my_arg) not my_method( my_arg ) or my_method my_arg.
|
|
Lint/RequireParentheses:
|
|
Enabled: true
|
|
|
|
Lint/ShadowingOuterLocalVariable:
|
|
Enabled: true
|
|
|
|
Layout/MultilineMethodCallIndentation:
|
|
Enabled: true
|
|
EnforcedStyle: indented
|
|
|
|
Layout/HashAlignment:
|
|
Enabled: true
|
|
|
|
Bundler/OrderedGems:
|
|
Enabled: false
|
|
|
|
Style/SingleLineMethods:
|
|
Enabled: true
|
|
|
|
Style/Semicolon:
|
|
Enabled: true
|
|
AllowAsExpressionSeparator: true
|
|
|
|
Style/RedundantReturn:
|
|
Enabled: true
|
|
|
|
DiscourseCops/NoChdir:
|
|
Enabled: true
|
|
Exclude:
|
|
- 'spec/**/*' # Specs are run sequentially, so chdir can be used
|
|
- 'plugins/*/spec/**/*'
|
|
|
|
Style/GlobalVars:
|
|
Enabled: true
|
|
Severity: warning
|
|
Exclude:
|
|
- 'lib/tasks/**/*'
|
|
- 'script/**/*'
|
|
- 'spec/**/*.rb'
|
|
- 'plugins/*/spec/**/*'
|