graphql 1.12.13 → 1.12.14
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.
Potentially problematic release.
This version of graphql might be problematic. Click here for more details.
- checksums.yaml +4 -4
- data/lib/graphql/backtrace/tracer.rb +6 -3
- data/lib/graphql/cop/nullability.rb +28 -0
- data/lib/graphql/cop/resolve_methods.rb +28 -0
- data/lib/graphql/query.rb +1 -1
- data/lib/graphql/schema.rb +8 -0
- data/lib/graphql/schema/build_from_definition.rb +8 -2
- data/lib/graphql/schema/member/build_type.rb +1 -0
- data/lib/graphql/version.rb +1 -1
- metadata +4 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 74f73ae15eae0c31b63558b5d038091006422534ebee13cafe25b0fe07d1349a
|
4
|
+
data.tar.gz: c6f454d12ae887420e98f4e0563d74d7bedfa350d6b6dcd66beedd43e9cd5f5a
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 333b8424cc0c6cf3caccf68b27a66bd555311255a83fd336b8ccd569edf6ab4020bb3459b7ce1c0ab26542f003cd12e7c3d312d8ea45c6c2d52fe81a94471536
|
7
|
+
data.tar.gz: e31d1e33bd7da992d866749f53fe05e417ac27ee6488d0bd7d5cf0e7316e57c6bec6154f496e09eb87eb830b8540eb1ecebde1384f50d7deb41244fdc07dc5b9
|
@@ -15,10 +15,13 @@ module GraphQL
|
|
15
15
|
# No query context yet
|
16
16
|
nil
|
17
17
|
when "validate", "analyze_query", "execute_query", "execute_query_lazy"
|
18
|
-
query = metadata[:query] || metadata[:queries].first
|
19
18
|
push_key = []
|
20
|
-
|
21
|
-
|
19
|
+
if (query = metadata[:query]) || ((queries = metadata[:queries]) && (query = queries.first))
|
20
|
+
push_data = query
|
21
|
+
multiplex = query.multiplex
|
22
|
+
elsif (multiplex = metadata[:multiplex])
|
23
|
+
push_data = multiplex.queries.first
|
24
|
+
end
|
22
25
|
when "execute_field", "execute_field_lazy"
|
23
26
|
query = metadata[:query] || raise(ArgumentError, "Add `legacy: true` to use GraphQL::Backtrace without the interpreter runtime.")
|
24
27
|
multiplex = query.multiplex
|
@@ -0,0 +1,28 @@
|
|
1
|
+
require "rubocop"
|
2
|
+
|
3
|
+
module GraphQL
|
4
|
+
module Cop
|
5
|
+
class Nullability < RuboCop::Cop::Base
|
6
|
+
extend AutoCorrector
|
7
|
+
|
8
|
+
NEEDLESS_NULL_FALSE = <<-ERR
|
9
|
+
`null: false` is the default, it can be removed.
|
10
|
+
ERR
|
11
|
+
|
12
|
+
NEEDLESS_REQUIRED_TRUE = <<-ERR
|
13
|
+
`required: true` is the default, it can be removed.
|
14
|
+
ERR
|
15
|
+
|
16
|
+
def on_send(node)
|
17
|
+
recv, method_name, args = *node
|
18
|
+
if recv.nil?
|
19
|
+
if method_name == :field
|
20
|
+
|
21
|
+
elsif method_name == :argument
|
22
|
+
|
23
|
+
end
|
24
|
+
end
|
25
|
+
end
|
26
|
+
end
|
27
|
+
end
|
28
|
+
end
|
@@ -0,0 +1,28 @@
|
|
1
|
+
require "rubocop"
|
2
|
+
|
3
|
+
module GraphQL
|
4
|
+
module Cop
|
5
|
+
class ResolveMethods < RuboCop::Cop::Base
|
6
|
+
extend AutoCorrector
|
7
|
+
|
8
|
+
NEEDLESS_NULL_FALSE = <<-ERR
|
9
|
+
`null: false` is the default, it can be removed.
|
10
|
+
ERR
|
11
|
+
|
12
|
+
NEEDLESS_REQUIRED_TRUE = <<-ERR
|
13
|
+
`required: true` is the default, it can be removed.
|
14
|
+
ERR
|
15
|
+
|
16
|
+
def on_send(node)
|
17
|
+
recv, method_name, args = *node
|
18
|
+
if recv.nil?
|
19
|
+
if method_name == :field
|
20
|
+
|
21
|
+
elsif method_name == :argument
|
22
|
+
|
23
|
+
end
|
24
|
+
end
|
25
|
+
end
|
26
|
+
end
|
27
|
+
end
|
28
|
+
end
|
data/lib/graphql/query.rb
CHANGED
@@ -270,7 +270,7 @@ module GraphQL
|
|
270
270
|
# @return [String, nil] Returns nil if the query is invalid.
|
271
271
|
def sanitized_query_string(inline_variables: true)
|
272
272
|
with_prepared_ast {
|
273
|
-
|
273
|
+
schema.sanitized_printer.new(self, inline_variables: inline_variables).sanitized_query_string
|
274
274
|
}
|
275
275
|
end
|
276
276
|
|
data/lib/graphql/schema.rb
CHANGED
@@ -1631,6 +1631,14 @@ module GraphQL
|
|
1631
1631
|
find_inherited_value(:multiplex_analyzers, EMPTY_ARRAY) + own_multiplex_analyzers
|
1632
1632
|
end
|
1633
1633
|
|
1634
|
+
def sanitized_printer(new_sanitized_printer = nil)
|
1635
|
+
if new_sanitized_printer
|
1636
|
+
@own_sanitized_printer = new_sanitized_printer
|
1637
|
+
else
|
1638
|
+
@own_sanitized_printer || GraphQL::Language::SanitizedPrinter
|
1639
|
+
end
|
1640
|
+
end
|
1641
|
+
|
1634
1642
|
# Execute a query on itself.
|
1635
1643
|
# @see {Query#initialize} for arguments.
|
1636
1644
|
# @return [Hash] query result, ready to be serialized as JSON
|
@@ -47,10 +47,16 @@ module GraphQL
|
|
47
47
|
# _while_ building the schema.
|
48
48
|
# It will dig for a type if it encounters a custom type. This could be a problem if there are cycles.
|
49
49
|
directive_type_resolver = nil
|
50
|
-
directive_type_resolver = build_resolve_type(
|
50
|
+
directive_type_resolver = build_resolve_type(types, directives, ->(type_name) {
|
51
51
|
types[type_name] ||= begin
|
52
52
|
defn = document.definitions.find { |d| d.respond_to?(:name) && d.name == type_name }
|
53
|
-
|
53
|
+
if defn
|
54
|
+
build_definition_from_node(defn, directive_type_resolver, default_resolve)
|
55
|
+
elsif (built_in_defn = GraphQL::Schema::BUILT_IN_TYPES[type_name])
|
56
|
+
built_in_defn
|
57
|
+
else
|
58
|
+
raise "No definition for #{type_name.inspect} found in schema document or built-in types. Add a definition for it or remove it."
|
59
|
+
end
|
54
60
|
end
|
55
61
|
})
|
56
62
|
|
data/lib/graphql/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: graphql
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.12.
|
4
|
+
version: 1.12.14
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Robert Mosolgo
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2021-
|
11
|
+
date: 2021-07-22 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: benchmark-ips
|
@@ -318,6 +318,8 @@ files:
|
|
318
318
|
- lib/graphql/compatibility/query_parser_specification/parse_error_specification.rb
|
319
319
|
- lib/graphql/compatibility/query_parser_specification/query_assertions.rb
|
320
320
|
- lib/graphql/compatibility/schema_parser_specification.rb
|
321
|
+
- lib/graphql/cop/nullability.rb
|
322
|
+
- lib/graphql/cop/resolve_methods.rb
|
321
323
|
- lib/graphql/dataloader.rb
|
322
324
|
- lib/graphql/dataloader/null_dataloader.rb
|
323
325
|
- lib/graphql/dataloader/request.rb
|