You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
docuseal/vendor/bundle/ruby/4.0.0/gems/shakapacker-9.7.0/.rubocop.yml

232 lines
5.9 KiB

require: rubocop-performance
AllCops:
TargetRubyVersion: 2.7
# RuboCop has a bunch of cops enabled by default. This setting tells RuboCop
# to ignore them, so only the ones explicitly set in this file are enabled.
DisabledByDefault: true
Exclude:
- "lib/install/templates/**"
- "vendor/**/*"
- "node_modules/**/*"
- "_actions/**/*"
- "spec/dummy-rspack/**/*"
- "bin/conductor-exec" # Shell script, not Ruby
# Prefer &&/|| over and/or.
Style/AndOr:
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
# In a regular class definition, no empty lines around the body.
Layout/EmptyLinesAroundClassBody:
Enabled: true
# In a regular method definition, no empty lines around the body.
Layout/EmptyLinesAroundMethodBody:
Enabled: true
# In a regular module definition, no empty lines around the body.
Layout/EmptyLinesAroundModuleBody:
Enabled: true
# Use Ruby >= 1.9 syntax for hashes. Prefer { a: :b } over { :a => :b }.
Style/HashSyntax:
Enabled: true
# Method definitions after `private` or `protected` isolated calls need one
# extra level of indentation.
Layout/IndentationConsistency:
Enabled: true
EnforcedStyle: indented_internal_methods
# Detect hard tabs, no hard tabs.
Layout/IndentationStyle:
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
# Check quotes usage according to lint rule below.
Style/StringLiterals:
Enabled: true
EnforcedStyle: double_quotes
# Blank lines should not have any spaces.
Layout/TrailingEmptyLines:
Enabled: true
# No trailing whitespace.
Layout/TrailingWhitespace:
Enabled: true
# Use quotes for string literals when they are enough.
Style/RedundantPercentQ:
Enabled: true
Lint/DeprecatedClassMethods:
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
# Use `bind_call(obj, args, ...)` instead of `bind(obj).call(args, ...)`.
Performance/BindCall:
Enabled: true
# Use `caller(n..n)` instead of `caller`.
Performance/Caller:
Enabled: true
# Use `casecmp` for case comparison.
Performance/Casecmp:
Enabled: true
# Extract Array and Hash literals outside of loops into local variables or constants.
Performance/CollectionLiteralInLoop:
Enabled: true
# Prefer `sort_by(&:foo)` instead of `sort { |a, b| a.foo <=> b.foo }`.
Performance/CompareWithBlock:
Enabled: true
# Use `count` instead of `{select,find_all,filter,reject}...{size,count,length}`.
Performance/Count:
Enabled: true
# Use `delete_prefix` instead of `gsub`.
Performance/DeletePrefix:
Enabled: true
# Use `delete_suffix` instead of `gsub`.
Performance/DeleteSuffix:
Enabled: true
# Use `detect` instead of `select.first`, `find_all.first`, `filter.first`, `select.last`, `find_all.last`, and `filter.last`.
Performance/Detect:
Enabled: true
# Use `str.{start,end}_with?(x, ..., y, ...)` instead of `str.{start,end}_with?(x, ...) || str.{start,end}_with?(y, ...)`.
Performance/DoubleStartEndWith:
Enabled: true
# Use `end_with?` instead of a regex match anchored to the end of a string.
Performance/EndWith:
Enabled: true
# Do not compute the size of statically sized objects except in constants.
Performance/FixedSize:
Enabled: true
# Use `Enumerable#flat_map` instead of `Enumerable#map...Array#flatten(1).
Performance/FlatMap:
Enabled: true
# Use `key?` or `value?` instead of `keys.include?` or `values.include?`.
Performance/InefficientHashSearch:
Enabled: true
# Use `Range#cover?` instead of `Range#include?` (or `Range#member?`).
Performance/RangeInclude:
Enabled: true
# Use `yield` instead of `block.call`.
Performance/RedundantBlockCall:
Enabled: true
# Use `=~` instead of `String#match` or `Regexp#match` in a context where the returned `MatchData` is not needed.
Performance/RedundantMatch:
Enabled: true
# Use Hash#[]=, rather than Hash#merge! with a single key-value pair.
Performance/RedundantMerge:
Enabled: true
# Use `match?` instead of `Regexp#match`, `String#match`, `Symbol#match`, `Regexp#===`, or `=~` when `MatchData` is not used.
Performance/RegexpMatch:
Enabled: true
# Use `reverse_each` instead of `reverse.each`.
Performance/ReverseEach:
Enabled: true
# Use `size` instead of `count` for counting the number of elements in `Array` and `Hash`.
Performance/Size:
Enabled: true
# Use `start_with?` instead of a regex match anchored to the beginning of a string.
Performance/StartWith:
Enabled: true
# Use `tr` instead of `gsub` when you are replacing the same number of characters.
# Use `delete` instead of `gsub` when you are deleting characters.
Performance/StringReplacement:
Enabled: true
# Checks for .times.map calls.
Performance/TimesMap:
Enabled: true
# Use unary plus to get an unfrozen string literal.
Performance/UnfreezeString:
Enabled: true
# Use `URI::DEFAULT_PARSER` instead of `URI::Parser.new`.
Performance/UriDefaultParser:
Enabled: true