rubocop-graphql 0.14.5 → 0.14.6
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/config/default.yml +0 -2
- data/lib/rubocop/cop/graphql/argument_uniqueness.rb +2 -1
- data/lib/rubocop/cop/graphql/extract_input_type.rb +1 -1
- data/lib/rubocop/cop/graphql/extract_type.rb +1 -1
- data/lib/rubocop/cop/graphql/field_definitions.rb +2 -1
- data/lib/rubocop/cop/graphql/field_hash_key.rb +6 -1
- data/lib/rubocop/cop/graphql/field_method.rb +1 -0
- data/lib/rubocop/cop/graphql/field_uniqueness.rb +2 -1
- data/lib/rubocop/cop/graphql/legacy_dsl.rb +2 -1
- data/lib/rubocop/cop/graphql/object_description.rb +2 -0
- data/lib/rubocop/cop/graphql/ordered_arguments.rb +2 -0
- data/lib/rubocop/cop/graphql/ordered_fields.rb +1 -0
- data/lib/rubocop/cop/graphql/resolver_method_length.rb +2 -1
- data/lib/rubocop/cop/graphql/unused_argument.rb +2 -0
- data/lib/rubocop/graphql/argument/block.rb +1 -0
- data/lib/rubocop/graphql/argument/kwargs.rb +4 -0
- data/lib/rubocop/graphql/argument.rb +3 -0
- data/lib/rubocop/graphql/description_method.rb +2 -0
- data/lib/rubocop/graphql/field/block.rb +1 -0
- data/lib/rubocop/graphql/field/kwargs.rb +6 -0
- data/lib/rubocop/graphql/field.rb +3 -0
- data/lib/rubocop/graphql/node_pattern.rb +3 -0
- data/lib/rubocop/graphql/schema_member.rb +2 -1
- data/lib/rubocop/graphql/sorbet.rb +1 -0
- data/lib/rubocop/graphql/version.rb +1 -1
- metadata +6 -6
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: a7832bf74fe37877eee6544f83cc7625cfa874df93f6b141c07a2c1a628a927f
|
4
|
+
data.tar.gz: c764f2caaf3cbbb685eb944b1a206c4904a484fe000f39a41c40b33846eecc1b
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 9bdb7f16d1b31c795e8d624030e774c3c92ebb1481e4459f229fe135557eb072dbe2920c1cfc2600bb0d768756b338846da6db1b396def061d95ad4d0628e5b0
|
7
|
+
data.tar.gz: d506eade963151227cfa3bf55f7ddf320b281111083ac784807c7c6aa6534a0899a01474d2c80f35c2460d1817b18f033d05ce880be59f477b5fe75cf85ce0e8
|
data/config/default.yml
CHANGED
@@ -80,7 +80,7 @@ module RuboCop
|
|
80
80
|
|
81
81
|
is_field_block = node.block_type? &&
|
82
82
|
node.respond_to?(:method_name) &&
|
83
|
-
node.
|
83
|
+
node.method?(:field)
|
84
84
|
|
85
85
|
return field_name(node.parent) unless is_field_block
|
86
86
|
|
@@ -93,6 +93,7 @@ module RuboCop
|
|
93
93
|
"`#{first_argument.value}`"
|
94
94
|
end
|
95
95
|
|
96
|
+
# @!method argument_declarations(node)
|
96
97
|
def_node_search :argument_declarations, <<~PATTERN
|
97
98
|
(send nil? :argument (:sym _) ...)
|
98
99
|
PATTERN
|
@@ -3,7 +3,7 @@
|
|
3
3
|
module RuboCop
|
4
4
|
module Cop
|
5
5
|
module GraphQL
|
6
|
-
#
|
6
|
+
# Checks consistency of field definitions
|
7
7
|
#
|
8
8
|
# EnforcedStyle supports two modes:
|
9
9
|
#
|
@@ -52,6 +52,7 @@ module RuboCop
|
|
52
52
|
include RuboCop::GraphQL::Sorbet
|
53
53
|
include RuboCop::GraphQL::Heredoc
|
54
54
|
|
55
|
+
# @!method field_kwargs(node)
|
55
56
|
def_node_matcher :field_kwargs, <<~PATTERN
|
56
57
|
(send nil? :field
|
57
58
|
...
|
@@ -28,6 +28,7 @@ module RuboCop
|
|
28
28
|
include RuboCop::GraphQL::NodePattern
|
29
29
|
include RuboCop::Cop::RangeHelp
|
30
30
|
|
31
|
+
# @!method hash_key_to_use(node)
|
31
32
|
def_node_matcher :hash_key_to_use, <<~PATTERN
|
32
33
|
(def
|
33
34
|
_
|
@@ -50,7 +51,7 @@ module RuboCop
|
|
50
51
|
suggested_hash_key_name = hash_key_to_use(method_definition)
|
51
52
|
|
52
53
|
return if suggested_hash_key_name.nil?
|
53
|
-
return if
|
54
|
+
return if conflict?(suggested_hash_key_name)
|
54
55
|
|
55
56
|
add_offense(node, message: message(suggested_hash_key_name)) do |corrector|
|
56
57
|
autocorrect(corrector, node)
|
@@ -59,6 +60,10 @@ module RuboCop
|
|
59
60
|
|
60
61
|
private
|
61
62
|
|
63
|
+
def conflict?(suggested_hash_key_name)
|
64
|
+
RuboCop::GraphQL::Field::CONFLICT_FIELD_NAMES.include?(suggested_hash_key_name.to_sym)
|
65
|
+
end
|
66
|
+
|
62
67
|
def message(hash_key)
|
63
68
|
format(MSG, hash_key: hash_key)
|
64
69
|
end
|
@@ -3,7 +3,7 @@
|
|
3
3
|
module RuboCop
|
4
4
|
module Cop
|
5
5
|
module GraphQL
|
6
|
-
#
|
6
|
+
# Detects duplicate field definitions within
|
7
7
|
# the same type
|
8
8
|
#
|
9
9
|
# @example
|
@@ -66,6 +66,7 @@ module RuboCop
|
|
66
66
|
node.first_argument.value.to_s
|
67
67
|
end
|
68
68
|
|
69
|
+
# @!method field_declarations(node)
|
69
70
|
def_node_search :field_declarations, <<~PATTERN
|
70
71
|
{
|
71
72
|
(send nil? :field (:sym _) ...)
|
@@ -20,6 +20,7 @@ module RuboCop
|
|
20
20
|
#
|
21
21
|
module GraphQL
|
22
22
|
class LegacyDsl < Base
|
23
|
+
# @!method legacy_dsl?(node)
|
23
24
|
def_node_matcher :legacy_dsl?, <<~PATTERN
|
24
25
|
(block
|
25
26
|
(send
|
@@ -33,7 +34,7 @@ module RuboCop
|
|
33
34
|
"Use class-based definitions instead."
|
34
35
|
|
35
36
|
def on_send(node)
|
36
|
-
return unless node.parent.
|
37
|
+
return unless node.parent.block_type?
|
37
38
|
|
38
39
|
add_offense(node.parent) if legacy_dsl?(node.parent)
|
39
40
|
end
|
@@ -26,10 +26,12 @@ module RuboCop
|
|
26
26
|
|
27
27
|
MSG = "Missing type description"
|
28
28
|
|
29
|
+
# @!method has_i18n_description?(node)
|
29
30
|
def_node_matcher :has_i18n_description?, <<~PATTERN
|
30
31
|
(send nil? :description (send (const nil? :I18n) :t ...))
|
31
32
|
PATTERN
|
32
33
|
|
34
|
+
# @!method interface?(node)
|
33
35
|
def_node_matcher :interface?, <<~PATTERN
|
34
36
|
(send nil? :include (const ...))
|
35
37
|
PATTERN
|
@@ -101,10 +101,12 @@ module RuboCop
|
|
101
101
|
previous.source_range.last_line == current.source_range.first_line - 1
|
102
102
|
end
|
103
103
|
|
104
|
+
# @!method argument_declarations_without_blocks(node)
|
104
105
|
def_node_search :argument_declarations_without_blocks, <<~PATTERN
|
105
106
|
(send nil? :argument (:sym _) ...)
|
106
107
|
PATTERN
|
107
108
|
|
109
|
+
# @!method argument_declarations_with_blocks(node)
|
108
110
|
def_node_search :argument_declarations_with_blocks, <<~PATTERN
|
109
111
|
(block
|
110
112
|
(send nil? :argument
|
@@ -3,7 +3,7 @@
|
|
3
3
|
module RuboCop
|
4
4
|
module Cop
|
5
5
|
module GraphQL
|
6
|
-
#
|
6
|
+
# Checks if the length of a resolver method exceeds some maximum value.
|
7
7
|
# Comment lines can optionally be ignored.
|
8
8
|
#
|
9
9
|
# The maximum allowed length is configurable using the Max option.
|
@@ -13,6 +13,7 @@ module RuboCop
|
|
13
13
|
|
14
14
|
MSG = "ResolverMethod has too many lines. [%<total>d/%<max>d]"
|
15
15
|
|
16
|
+
# @!method field_definition(node)
|
16
17
|
def_node_matcher :field_definition, <<~PATTERN
|
17
18
|
(send nil? :field (sym $...) ...)
|
18
19
|
PATTERN
|
@@ -175,10 +175,12 @@ module RuboCop
|
|
175
175
|
node.block_type? || node.lambda_type?
|
176
176
|
end
|
177
177
|
|
178
|
+
# @!method argument_declaration?(node)
|
178
179
|
def_node_matcher :argument_declaration?, <<~PATTERN
|
179
180
|
(send nil? :argument (:sym _) ...)
|
180
181
|
PATTERN
|
181
182
|
|
183
|
+
# @!method resolve_method_definition(node)
|
182
184
|
def_node_search :resolve_method_definition, <<~PATTERN
|
183
185
|
(def :resolve
|
184
186
|
(args ...) ...)
|
@@ -6,6 +6,7 @@ module RuboCop
|
|
6
6
|
class Kwargs
|
7
7
|
extend RuboCop::NodePattern::Macros
|
8
8
|
|
9
|
+
# @!method argument_kwargs(node)
|
9
10
|
def_node_matcher :argument_kwargs, <<~PATTERN
|
10
11
|
(send nil? :argument
|
11
12
|
...
|
@@ -15,14 +16,17 @@ module RuboCop
|
|
15
16
|
)
|
16
17
|
PATTERN
|
17
18
|
|
19
|
+
# @!method description_kwarg?(node)
|
18
20
|
def_node_matcher :description_kwarg?, <<~PATTERN
|
19
21
|
(pair (sym :description) ...)
|
20
22
|
PATTERN
|
21
23
|
|
24
|
+
# @!method loads_kwarg?(node)
|
22
25
|
def_node_matcher :loads_kwarg?, <<~PATTERN
|
23
26
|
(pair (sym :loads) ...)
|
24
27
|
PATTERN
|
25
28
|
|
29
|
+
# @!method as_kwarg?(node)
|
26
30
|
def_node_matcher :as_kwarg?, <<~PATTERN
|
27
31
|
(pair (sym :as) ...)
|
28
32
|
PATTERN
|
@@ -5,14 +5,17 @@ module RuboCop
|
|
5
5
|
class Argument
|
6
6
|
extend RuboCop::NodePattern::Macros
|
7
7
|
|
8
|
+
# @!method argument_description(node)
|
8
9
|
def_node_matcher :argument_description, <<~PATTERN
|
9
10
|
(send nil? :argument _ _ (:str $_) ...)
|
10
11
|
PATTERN
|
11
12
|
|
13
|
+
# @!method argument_name(node)
|
12
14
|
def_node_matcher :argument_name, <<~PATTERN
|
13
15
|
(send nil? :argument (:sym $_) ...)
|
14
16
|
PATTERN
|
15
17
|
|
18
|
+
# @!method argument_as(node)
|
16
19
|
def_node_matcher :argument_as, <<~PATTERN
|
17
20
|
(pair (sym :as) (sym $_))
|
18
21
|
PATTERN
|
@@ -22,10 +22,12 @@ module RuboCop
|
|
22
22
|
|
23
23
|
DESCRIPTION_STRING = "{({str|dstr|const} ...)|(send const ...)|(send ({str|dstr} ...) _)}"
|
24
24
|
|
25
|
+
# @!method description_method_call?(node)
|
25
26
|
def_node_matcher :description_method_call?, <<~PATTERN
|
26
27
|
(send nil? :description #{DESCRIPTION_STRING})
|
27
28
|
PATTERN
|
28
29
|
|
30
|
+
# @!method description_with_block_arg?(node)
|
29
31
|
def_node_matcher :description_with_block_arg?, <<~PATTERN
|
30
32
|
(send (lvar _) {:description= :description} #{DESCRIPTION_STRING})
|
31
33
|
PATTERN
|
@@ -6,6 +6,7 @@ module RuboCop
|
|
6
6
|
class Kwargs
|
7
7
|
extend RuboCop::NodePattern::Macros
|
8
8
|
|
9
|
+
# @!method field_kwargs(node)
|
9
10
|
def_node_matcher :field_kwargs, <<~PATTERN
|
10
11
|
(send nil? :field
|
11
12
|
...
|
@@ -15,22 +16,27 @@ module RuboCop
|
|
15
16
|
)
|
16
17
|
PATTERN
|
17
18
|
|
19
|
+
# @!method resolver_kwarg?(node)
|
18
20
|
def_node_matcher :resolver_kwarg?, <<~PATTERN
|
19
21
|
(pair (sym :resolver) ...)
|
20
22
|
PATTERN
|
21
23
|
|
24
|
+
# @!method method_kwarg?(node)
|
22
25
|
def_node_matcher :method_kwarg?, <<~PATTERN
|
23
26
|
(pair (sym :method) ...)
|
24
27
|
PATTERN
|
25
28
|
|
29
|
+
# @!method hash_key_kwarg?(node)
|
26
30
|
def_node_matcher :hash_key_kwarg?, <<~PATTERN
|
27
31
|
(pair (sym :hash_key) ...)
|
28
32
|
PATTERN
|
29
33
|
|
34
|
+
# @!method description_kwarg?(node)
|
30
35
|
def_node_matcher :description_kwarg?, <<~PATTERN
|
31
36
|
(pair (sym :description) ...)
|
32
37
|
PATTERN
|
33
38
|
|
39
|
+
# @!method resolver_method_option(node)
|
34
40
|
def_node_matcher :resolver_method_option, <<~PATTERN
|
35
41
|
(pair (sym :resolver_method) (sym $...))
|
36
42
|
PATTERN
|
@@ -20,15 +20,18 @@ module RuboCop
|
|
20
20
|
|
21
21
|
def_delegators :@node, :sibling_index, :parent
|
22
22
|
|
23
|
+
# @!method field_name(node)
|
23
24
|
def_node_matcher :field_name, <<~PATTERN
|
24
25
|
(send nil? :field (:sym $_) ...)
|
25
26
|
PATTERN
|
26
27
|
|
28
|
+
# @!method field_with_body_name(node)
|
27
29
|
def_node_matcher :field_with_body_name, <<~PATTERN
|
28
30
|
(block
|
29
31
|
(send nil? :field (:sym $_) ...)...)
|
30
32
|
PATTERN
|
31
33
|
|
34
|
+
# @!method field_description(node)
|
32
35
|
def_node_matcher :field_description, <<~PATTERN
|
33
36
|
(send nil? :field _ _ (:str $_) ...)
|
34
37
|
PATTERN
|
@@ -5,10 +5,12 @@ module RuboCop
|
|
5
5
|
module NodePattern
|
6
6
|
extend RuboCop::NodePattern::Macros
|
7
7
|
|
8
|
+
# @!method field_definition?(node)
|
8
9
|
def_node_matcher :field_definition?, <<~PATTERN
|
9
10
|
(send nil? :field (:sym _) ...)
|
10
11
|
PATTERN
|
11
12
|
|
13
|
+
# @!method field_definition_with_body?(node)
|
12
14
|
def_node_matcher :field_definition_with_body?, <<~PATTERN
|
13
15
|
(block
|
14
16
|
(send nil? :field (:sym _) ...)
|
@@ -16,6 +18,7 @@ module RuboCop
|
|
16
18
|
)
|
17
19
|
PATTERN
|
18
20
|
|
21
|
+
# @!method argument?(node)
|
19
22
|
def_node_matcher :argument?, <<~PATTERN
|
20
23
|
(send nil? :argument (:sym _) ...)
|
21
24
|
PATTERN
|
@@ -5,6 +5,7 @@ module RuboCop
|
|
5
5
|
class SchemaMember
|
6
6
|
extend RuboCop::NodePattern::Macros
|
7
7
|
|
8
|
+
# @!method class_contents(node)
|
8
9
|
def_node_matcher :class_contents, <<~PATTERN
|
9
10
|
(class _ _ $_)
|
10
11
|
PATTERN
|
@@ -16,7 +17,7 @@ module RuboCop
|
|
16
17
|
end
|
17
18
|
|
18
19
|
def find_method_definition(method_name)
|
19
|
-
body.find { |node| node.def_type? && node.method_name
|
20
|
+
body.find { |node| node.def_type? && node.method?(method_name) }
|
20
21
|
end
|
21
22
|
|
22
23
|
def body
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: rubocop-graphql
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.14.
|
4
|
+
version: 0.14.6
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Dmitry Tsepelev
|
8
|
-
autorequire:
|
8
|
+
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2022-08-
|
11
|
+
date: 2022-08-31 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -127,7 +127,7 @@ metadata:
|
|
127
127
|
homepage_uri: https://github.com/DmitryTsepelev/rubocop-graphql
|
128
128
|
source_code_uri: https://github.com/DmitryTsepelev/rubocop-graphql
|
129
129
|
changelog_uri: https://github.com/DmitryTsepelev/rubocop-graphql/blob/master/CHANGELOG.md
|
130
|
-
post_install_message:
|
130
|
+
post_install_message:
|
131
131
|
rdoc_options: []
|
132
132
|
require_paths:
|
133
133
|
- lib
|
@@ -142,8 +142,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
142
142
|
- !ruby/object:Gem::Version
|
143
143
|
version: '0'
|
144
144
|
requirements: []
|
145
|
-
rubygems_version: 3.
|
146
|
-
signing_key:
|
145
|
+
rubygems_version: 3.1.6
|
146
|
+
signing_key:
|
147
147
|
specification_version: 4
|
148
148
|
summary: Automatic performance checking tool for Ruby code.
|
149
149
|
test_files: []
|