rubocop-shopify 2.18.0 → 3.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/README.md +8 -8
- data/config/default.yml +4 -0
- data/lib/rubocop/cop/lint/no_return_in_memoization.rb +98 -0
- data/lib/rubocop/shopify/plugin.rb +30 -0
- data/lib/rubocop/shopify/version.rb +7 -0
- data/lib/rubocop-shopify.rb +6 -0
- data/rubocop.yml +584 -180
- metadata +32 -8
- data/lib/rubocop/shopify/gem_version_string_comparable_backport.rb +0 -28
- data/rubocop-cli.yml +0 -44
metadata
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: rubocop-shopify
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version:
|
|
4
|
+
version: 3.0.1
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Shopify Engineering
|
|
@@ -15,14 +15,34 @@ dependencies:
|
|
|
15
15
|
requirements:
|
|
16
16
|
- - "~>"
|
|
17
17
|
- !ruby/object:Gem::Version
|
|
18
|
-
version: '1.
|
|
18
|
+
version: '1.72'
|
|
19
|
+
- - ">="
|
|
20
|
+
- !ruby/object:Gem::Version
|
|
21
|
+
version: 1.72.1
|
|
19
22
|
type: :runtime
|
|
20
23
|
prerelease: false
|
|
21
24
|
version_requirements: !ruby/object:Gem::Requirement
|
|
22
25
|
requirements:
|
|
23
26
|
- - "~>"
|
|
24
27
|
- !ruby/object:Gem::Version
|
|
25
|
-
version: '1.
|
|
28
|
+
version: '1.72'
|
|
29
|
+
- - ">="
|
|
30
|
+
- !ruby/object:Gem::Version
|
|
31
|
+
version: 1.72.1
|
|
32
|
+
- !ruby/object:Gem::Dependency
|
|
33
|
+
name: lint_roller
|
|
34
|
+
requirement: !ruby/object:Gem::Requirement
|
|
35
|
+
requirements:
|
|
36
|
+
- - ">="
|
|
37
|
+
- !ruby/object:Gem::Version
|
|
38
|
+
version: '0'
|
|
39
|
+
type: :runtime
|
|
40
|
+
prerelease: false
|
|
41
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
42
|
+
requirements:
|
|
43
|
+
- - ">="
|
|
44
|
+
- !ruby/object:Gem::Version
|
|
45
|
+
version: '0'
|
|
26
46
|
description: Gem containing the rubocop.yml config that corresponds to the implementation
|
|
27
47
|
of the Shopify's style guide for Ruby.
|
|
28
48
|
email: gems@shopify.com
|
|
@@ -32,16 +52,20 @@ extra_rdoc_files: []
|
|
|
32
52
|
files:
|
|
33
53
|
- LICENSE.md
|
|
34
54
|
- README.md
|
|
35
|
-
-
|
|
55
|
+
- config/default.yml
|
|
56
|
+
- lib/rubocop-shopify.rb
|
|
57
|
+
- lib/rubocop/cop/lint/no_return_in_memoization.rb
|
|
58
|
+
- lib/rubocop/shopify/plugin.rb
|
|
59
|
+
- lib/rubocop/shopify/version.rb
|
|
36
60
|
- lib/tasks/config.rake
|
|
37
|
-
- rubocop-cli.yml
|
|
38
61
|
- rubocop.yml
|
|
39
62
|
homepage: https://shopify.github.io/ruby-style-guide/
|
|
40
63
|
licenses:
|
|
41
64
|
- MIT
|
|
42
65
|
metadata:
|
|
43
|
-
source_code_uri: https://github.com/Shopify/ruby-style-guide/tree/
|
|
66
|
+
source_code_uri: https://github.com/Shopify/ruby-style-guide/tree/v3.0.1
|
|
44
67
|
allowed_push_host: https://rubygems.org
|
|
68
|
+
default_lint_roller_plugin: RuboCop::Shopify::Plugin
|
|
45
69
|
rdoc_options: []
|
|
46
70
|
require_paths:
|
|
47
71
|
- lib
|
|
@@ -49,14 +73,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
|
49
73
|
requirements:
|
|
50
74
|
- - ">="
|
|
51
75
|
- !ruby/object:Gem::Version
|
|
52
|
-
version: 3.
|
|
76
|
+
version: 3.3.0
|
|
53
77
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
|
54
78
|
requirements:
|
|
55
79
|
- - ">="
|
|
56
80
|
- !ruby/object:Gem::Version
|
|
57
81
|
version: '0'
|
|
58
82
|
requirements: []
|
|
59
|
-
rubygems_version: 3.7
|
|
83
|
+
rubygems_version: 3.6.7
|
|
60
84
|
specification_version: 4
|
|
61
85
|
summary: Shopify's style guide for Ruby.
|
|
62
86
|
test_files: []
|
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
# frozen_string_literal: true
|
|
2
|
-
|
|
3
|
-
# This is true for Ruby 3.2+, so once support for 3.1 is dropped, we can remove this.
|
|
4
|
-
# Until then, some installations may have a recent enough version of RubyGems, but it is not guaranteed.
|
|
5
|
-
return if Gem::Version.new(Gem::VERSION) >= Gem::Version.new("3.5.6")
|
|
6
|
-
|
|
7
|
-
module RuboCop
|
|
8
|
-
module Shopify
|
|
9
|
-
# Backport rubygems/rubygems#5275, so we can compare `Gem::Version`s directly against `String`s.
|
|
10
|
-
#
|
|
11
|
-
# Gem::Version.new("1.2.3") > "1.2"
|
|
12
|
-
#
|
|
13
|
-
# Without this, to support Ruby < 3.2, we would have to create a new `Gem::Version` instance ourselves.
|
|
14
|
-
#
|
|
15
|
-
# Gem::Version.new("1.2.3") > Gem::Version.new("1.2")
|
|
16
|
-
#
|
|
17
|
-
# This would get very verbose in our RuboCop config files.
|
|
18
|
-
module GemVersionStringComparableBackport
|
|
19
|
-
def <=>(other)
|
|
20
|
-
return self <=> self.class.new(other) if (String === other) && self.class.correct?(other)
|
|
21
|
-
|
|
22
|
-
super
|
|
23
|
-
end
|
|
24
|
-
|
|
25
|
-
Gem::Version.prepend(self)
|
|
26
|
-
end
|
|
27
|
-
end
|
|
28
|
-
end
|
data/rubocop-cli.yml
DELETED
|
@@ -1,44 +0,0 @@
|
|
|
1
|
-
inherit_gem:
|
|
2
|
-
rubocop-shopify:
|
|
3
|
-
- rubocop.yml
|
|
4
|
-
|
|
5
|
-
AllCops:
|
|
6
|
-
# We don't always use bundler to make for a faster boot time.
|
|
7
|
-
# In this case we vendor a small number of dependencies we absolutely
|
|
8
|
-
# require. Since they are vendored and 3rd party we do not impose our
|
|
9
|
-
# styleguide on them but they are still in the repo.
|
|
10
|
-
Exclude:
|
|
11
|
-
- 'vendor/**/*'
|
|
12
|
-
|
|
13
|
-
# We disable this at entrypoint.
|
|
14
|
-
# Due to CLI apps being invoked via an entry point,
|
|
15
|
-
# we can exclude this from all files
|
|
16
|
-
Style/FrozenStringLiteralComment:
|
|
17
|
-
Enabled: false
|
|
18
|
-
|
|
19
|
-
# This doesn't take into account retrying from an exception. E.g.:
|
|
20
|
-
# begin
|
|
21
|
-
# retries ||= 0
|
|
22
|
-
# do_a_thing
|
|
23
|
-
# rescue => e
|
|
24
|
-
# retry if (retries += 1) < 3
|
|
25
|
-
# handle_error(e)
|
|
26
|
-
# end
|
|
27
|
-
Lint/SuppressedException:
|
|
28
|
-
Enabled: false
|
|
29
|
-
|
|
30
|
-
# Allow the use of globals which occasionally makes sense in a CLI app
|
|
31
|
-
# As we are not multi-threaded and have a single entry point, this makes it easy to,
|
|
32
|
-
# for example, track process environments to restore at the end of invocation
|
|
33
|
-
Style/GlobalVars:
|
|
34
|
-
Enabled: false
|
|
35
|
-
|
|
36
|
-
# Allow readable block formatting in some weird cases
|
|
37
|
-
# Particularly in something like:
|
|
38
|
-
# Dev::Util.begin do
|
|
39
|
-
# might_raise_if_costly_prep_not_done()
|
|
40
|
-
# end.retry_after(ExpectedError) do
|
|
41
|
-
# costly_prep()
|
|
42
|
-
# end
|
|
43
|
-
Style/MultilineBlockChain:
|
|
44
|
-
Enabled: false
|