graphql 1.13.22 → 2.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (194) hide show
  1. checksums.yaml +4 -4
  2. data/lib/graphql/analysis/ast/query_complexity.rb +1 -1
  3. data/lib/graphql/analysis/ast/query_depth.rb +0 -1
  4. data/lib/graphql/analysis/ast/visitor.rb +1 -1
  5. data/lib/graphql/analysis/ast.rb +0 -10
  6. data/lib/graphql/analysis.rb +0 -7
  7. data/lib/graphql/backtrace/table.rb +0 -18
  8. data/lib/graphql/backtrace/tracer.rb +1 -2
  9. data/lib/graphql/backtrace.rb +2 -8
  10. data/lib/graphql/dig.rb +1 -1
  11. data/lib/graphql/execution/errors.rb +1 -9
  12. data/lib/graphql/execution/interpreter/runtime.rb +6 -13
  13. data/lib/graphql/execution/interpreter.rb +0 -22
  14. data/lib/graphql/execution/lazy.rb +1 -1
  15. data/lib/graphql/execution/lookahead.rb +6 -13
  16. data/lib/graphql/execution/multiplex.rb +50 -107
  17. data/lib/graphql/execution.rb +11 -3
  18. data/lib/graphql/introspection/directive_type.rb +2 -2
  19. data/lib/graphql/introspection/dynamic_fields.rb +3 -8
  20. data/lib/graphql/introspection/entry_points.rb +2 -15
  21. data/lib/graphql/introspection/field_type.rb +1 -1
  22. data/lib/graphql/introspection/schema_type.rb +2 -2
  23. data/lib/graphql/introspection/type_type.rb +5 -5
  24. data/lib/graphql/language/document_from_schema_definition.rb +0 -17
  25. data/lib/graphql/pagination/connections.rb +2 -28
  26. data/lib/graphql/query/context.rb +1 -185
  27. data/lib/graphql/query/input_validation_result.rb +0 -9
  28. data/lib/graphql/query/literal_input.rb +8 -13
  29. data/lib/graphql/query/validation_pipeline.rb +6 -34
  30. data/lib/graphql/query/variable_validation_error.rb +2 -2
  31. data/lib/graphql/query/variables.rb +8 -31
  32. data/lib/graphql/query.rb +5 -34
  33. data/lib/graphql/railtie.rb +0 -104
  34. data/lib/graphql/relay/range_add.rb +0 -4
  35. data/lib/graphql/relay.rb +0 -15
  36. data/lib/graphql/schema/addition.rb +1 -8
  37. data/lib/graphql/schema/argument.rb +1 -25
  38. data/lib/graphql/schema/build_from_definition.rb +0 -1
  39. data/lib/graphql/schema/directive.rb +1 -22
  40. data/lib/graphql/schema/enum.rb +3 -19
  41. data/lib/graphql/schema/enum_value.rb +0 -22
  42. data/lib/graphql/schema/field.rb +22 -220
  43. data/lib/graphql/schema/input_object.rb +11 -57
  44. data/lib/graphql/schema/interface.rb +1 -30
  45. data/lib/graphql/schema/introspection_system.rb +3 -8
  46. data/lib/graphql/schema/late_bound_type.rb +2 -2
  47. data/lib/graphql/schema/list.rb +3 -24
  48. data/lib/graphql/schema/loader.rb +0 -1
  49. data/lib/graphql/schema/member/base_dsl_methods.rb +1 -6
  50. data/lib/graphql/schema/member/build_type.rb +4 -6
  51. data/lib/graphql/schema/member/has_arguments.rb +16 -20
  52. data/lib/graphql/schema/member/has_fields.rb +3 -3
  53. data/lib/graphql/schema/member/has_interfaces.rb +1 -13
  54. data/lib/graphql/schema/member/validates_input.rb +2 -2
  55. data/lib/graphql/schema/member.rb +0 -6
  56. data/lib/graphql/schema/mutation.rb +0 -9
  57. data/lib/graphql/schema/non_null.rb +3 -9
  58. data/lib/graphql/schema/object.rb +0 -40
  59. data/lib/graphql/schema/relay_classic_mutation.rb +17 -28
  60. data/lib/graphql/schema/scalar.rb +1 -16
  61. data/lib/graphql/schema/union.rb +0 -16
  62. data/lib/graphql/schema/warden.rb +3 -12
  63. data/lib/graphql/schema/wrapper.rb +0 -5
  64. data/lib/graphql/schema.rb +106 -945
  65. data/lib/graphql/static_validation/base_visitor.rb +4 -21
  66. data/lib/graphql/static_validation/rules/directives_are_in_valid_locations.rb +12 -12
  67. data/lib/graphql/static_validation/validator.rb +2 -24
  68. data/lib/graphql/static_validation.rb +0 -2
  69. data/lib/graphql/subscriptions/default_subscription_resolve_extension.rb +38 -1
  70. data/lib/graphql/subscriptions/event.rb +1 -1
  71. data/lib/graphql/subscriptions/instrumentation.rb +0 -51
  72. data/lib/graphql/subscriptions.rb +4 -13
  73. data/lib/graphql/tracing/data_dog_tracing.rb +16 -20
  74. data/lib/graphql/tracing/platform_tracing.rb +4 -32
  75. data/lib/graphql/tracing.rb +0 -1
  76. data/lib/graphql/types/relay/connection_behaviors.rb +2 -6
  77. data/lib/graphql/types/relay/default_relay.rb +0 -10
  78. data/lib/graphql/types/relay/node_behaviors.rb +5 -1
  79. data/lib/graphql/types/relay.rb +0 -2
  80. data/lib/graphql/types/string.rb +1 -1
  81. data/lib/graphql/version.rb +1 -1
  82. data/lib/graphql.rb +1 -65
  83. metadata +28 -167
  84. data/lib/graphql/analysis/analyze_query.rb +0 -98
  85. data/lib/graphql/analysis/field_usage.rb +0 -45
  86. data/lib/graphql/analysis/max_query_complexity.rb +0 -26
  87. data/lib/graphql/analysis/max_query_depth.rb +0 -26
  88. data/lib/graphql/analysis/query_complexity.rb +0 -88
  89. data/lib/graphql/analysis/query_depth.rb +0 -43
  90. data/lib/graphql/analysis/reducer_state.rb +0 -48
  91. data/lib/graphql/argument.rb +0 -131
  92. data/lib/graphql/authorization.rb +0 -82
  93. data/lib/graphql/backtrace/legacy_tracer.rb +0 -56
  94. data/lib/graphql/backwards_compatibility.rb +0 -61
  95. data/lib/graphql/base_type.rb +0 -232
  96. data/lib/graphql/boolean_type.rb +0 -2
  97. data/lib/graphql/compatibility/execution_specification/counter_schema.rb +0 -53
  98. data/lib/graphql/compatibility/execution_specification/specification_schema.rb +0 -200
  99. data/lib/graphql/compatibility/execution_specification.rb +0 -436
  100. data/lib/graphql/compatibility/lazy_execution_specification/lazy_schema.rb +0 -111
  101. data/lib/graphql/compatibility/lazy_execution_specification.rb +0 -215
  102. data/lib/graphql/compatibility/query_parser_specification/parse_error_specification.rb +0 -87
  103. data/lib/graphql/compatibility/query_parser_specification/query_assertions.rb +0 -79
  104. data/lib/graphql/compatibility/query_parser_specification.rb +0 -266
  105. data/lib/graphql/compatibility/schema_parser_specification.rb +0 -682
  106. data/lib/graphql/compatibility.rb +0 -5
  107. data/lib/graphql/define/assign_argument.rb +0 -12
  108. data/lib/graphql/define/assign_connection.rb +0 -13
  109. data/lib/graphql/define/assign_enum_value.rb +0 -18
  110. data/lib/graphql/define/assign_global_id_field.rb +0 -11
  111. data/lib/graphql/define/assign_mutation_function.rb +0 -34
  112. data/lib/graphql/define/assign_object_field.rb +0 -42
  113. data/lib/graphql/define/defined_object_proxy.rb +0 -53
  114. data/lib/graphql/define/instance_definable.rb +0 -255
  115. data/lib/graphql/define/no_definition_error.rb +0 -7
  116. data/lib/graphql/define/non_null_with_bang.rb +0 -16
  117. data/lib/graphql/define/type_definer.rb +0 -31
  118. data/lib/graphql/define.rb +0 -31
  119. data/lib/graphql/deprecated_dsl.rb +0 -55
  120. data/lib/graphql/directive/deprecated_directive.rb +0 -2
  121. data/lib/graphql/directive/include_directive.rb +0 -2
  122. data/lib/graphql/directive/skip_directive.rb +0 -2
  123. data/lib/graphql/directive.rb +0 -107
  124. data/lib/graphql/enum_type.rb +0 -133
  125. data/lib/graphql/execution/execute.rb +0 -333
  126. data/lib/graphql/execution/flatten.rb +0 -40
  127. data/lib/graphql/execution/typecast.rb +0 -50
  128. data/lib/graphql/field/resolve.rb +0 -59
  129. data/lib/graphql/field.rb +0 -226
  130. data/lib/graphql/float_type.rb +0 -2
  131. data/lib/graphql/function.rb +0 -128
  132. data/lib/graphql/id_type.rb +0 -2
  133. data/lib/graphql/input_object_type.rb +0 -138
  134. data/lib/graphql/int_type.rb +0 -2
  135. data/lib/graphql/interface_type.rb +0 -72
  136. data/lib/graphql/internal_representation/document.rb +0 -27
  137. data/lib/graphql/internal_representation/node.rb +0 -206
  138. data/lib/graphql/internal_representation/print.rb +0 -51
  139. data/lib/graphql/internal_representation/rewrite.rb +0 -184
  140. data/lib/graphql/internal_representation/scope.rb +0 -88
  141. data/lib/graphql/internal_representation/visit.rb +0 -36
  142. data/lib/graphql/internal_representation.rb +0 -7
  143. data/lib/graphql/list_type.rb +0 -80
  144. data/lib/graphql/non_null_type.rb +0 -71
  145. data/lib/graphql/object_type.rb +0 -130
  146. data/lib/graphql/query/arguments.rb +0 -189
  147. data/lib/graphql/query/arguments_cache.rb +0 -24
  148. data/lib/graphql/query/executor.rb +0 -52
  149. data/lib/graphql/query/serial_execution/field_resolution.rb +0 -92
  150. data/lib/graphql/query/serial_execution/operation_resolution.rb +0 -19
  151. data/lib/graphql/query/serial_execution/selection_resolution.rb +0 -23
  152. data/lib/graphql/query/serial_execution/value_resolution.rb +0 -87
  153. data/lib/graphql/query/serial_execution.rb +0 -40
  154. data/lib/graphql/relay/array_connection.rb +0 -83
  155. data/lib/graphql/relay/base_connection.rb +0 -189
  156. data/lib/graphql/relay/connection_instrumentation.rb +0 -54
  157. data/lib/graphql/relay/connection_resolve.rb +0 -43
  158. data/lib/graphql/relay/connection_type.rb +0 -54
  159. data/lib/graphql/relay/edge.rb +0 -27
  160. data/lib/graphql/relay/edge_type.rb +0 -19
  161. data/lib/graphql/relay/edges_instrumentation.rb +0 -39
  162. data/lib/graphql/relay/global_id_resolve.rb +0 -17
  163. data/lib/graphql/relay/mongo_relation_connection.rb +0 -50
  164. data/lib/graphql/relay/mutation/instrumentation.rb +0 -23
  165. data/lib/graphql/relay/mutation/resolve.rb +0 -56
  166. data/lib/graphql/relay/mutation/result.rb +0 -38
  167. data/lib/graphql/relay/mutation.rb +0 -106
  168. data/lib/graphql/relay/node.rb +0 -39
  169. data/lib/graphql/relay/page_info.rb +0 -7
  170. data/lib/graphql/relay/relation_connection.rb +0 -188
  171. data/lib/graphql/relay/type_extensions.rb +0 -32
  172. data/lib/graphql/scalar_type.rb +0 -91
  173. data/lib/graphql/schema/catchall_middleware.rb +0 -35
  174. data/lib/graphql/schema/default_parse_error.rb +0 -10
  175. data/lib/graphql/schema/default_type_error.rb +0 -17
  176. data/lib/graphql/schema/member/accepts_definition.rb +0 -164
  177. data/lib/graphql/schema/member/cached_graphql_definition.rb +0 -58
  178. data/lib/graphql/schema/member/instrumentation.rb +0 -131
  179. data/lib/graphql/schema/middleware_chain.rb +0 -82
  180. data/lib/graphql/schema/possible_types.rb +0 -44
  181. data/lib/graphql/schema/rescue_middleware.rb +0 -60
  182. data/lib/graphql/schema/timeout_middleware.rb +0 -88
  183. data/lib/graphql/schema/traversal.rb +0 -228
  184. data/lib/graphql/schema/validation.rb +0 -313
  185. data/lib/graphql/static_validation/default_visitor.rb +0 -15
  186. data/lib/graphql/static_validation/no_validate_visitor.rb +0 -10
  187. data/lib/graphql/string_type.rb +0 -2
  188. data/lib/graphql/subscriptions/subscription_root.rb +0 -76
  189. data/lib/graphql/tracing/skylight_tracing.rb +0 -70
  190. data/lib/graphql/types/relay/node_field.rb +0 -24
  191. data/lib/graphql/types/relay/nodes_field.rb +0 -43
  192. data/lib/graphql/union_type.rb +0 -115
  193. data/lib/graphql/upgrader/member.rb +0 -937
  194. data/lib/graphql/upgrader/schema.rb +0 -38
data/lib/graphql.rb CHANGED
@@ -81,27 +81,8 @@ require "graphql/integer_decoding_error"
81
81
  require "graphql/integer_encoding_error"
82
82
  require "graphql/string_encoding_error"
83
83
  require "graphql/date_encoding_error"
84
-
85
- require "graphql/define"
86
- require "graphql/deprecation"
87
- require "graphql/base_type"
88
- require "graphql/object_type"
89
- require "graphql/enum_type"
90
- require "graphql/input_object_type"
91
- require "graphql/interface_type"
92
- require "graphql/list_type"
93
- require "graphql/non_null_type"
94
- require "graphql/union_type"
95
-
96
- require "graphql/argument"
97
- require "graphql/field"
98
84
  require "graphql/type_kinds"
99
-
100
- require "graphql/backwards_compatibility"
101
- require "graphql/scalar_type"
102
-
103
85
  require "graphql/name_validator"
104
-
105
86
  require "graphql/language"
106
87
 
107
88
  require_relative "./graphql/railtie" if defined? Rails::Railtie
@@ -116,15 +97,8 @@ require "graphql/query"
116
97
  require "graphql/types"
117
98
  require "graphql/dataloader"
118
99
  require "graphql/filter"
119
- require "graphql/internal_representation"
120
- require "graphql/directive"
121
100
  require "graphql/static_validation"
122
101
  require "graphql/execution"
123
- require "graphql/boolean_type"
124
- require "graphql/float_type"
125
- require "graphql/id_type"
126
- require "graphql/int_type"
127
- require "graphql/string_type"
128
102
  require "graphql/schema/built_in_types"
129
103
  require "graphql/schema/loader"
130
104
  require "graphql/schema/printer"
@@ -132,49 +106,11 @@ require "graphql/introspection"
132
106
  require "graphql/relay"
133
107
 
134
108
  require "graphql/version"
135
- require "graphql/compatibility"
136
- require "graphql/function"
137
109
  require "graphql/subscriptions"
138
110
  require "graphql/parse_error"
139
111
  require "graphql/backtrace"
140
112
 
141
- require "graphql/deprecated_dsl"
142
- require "graphql/authorization"
143
113
  require "graphql/unauthorized_error"
144
114
  require "graphql/unauthorized_field_error"
145
115
  require "graphql/load_application_object_failed_error"
146
- require "graphql/directive/include_directive"
147
- require "graphql/directive/skip_directive"
148
- require "graphql/directive/deprecated_directive"
149
-
150
- module GraphQL
151
- # Ruby has `deprecate_constant`,
152
- # but I don't see a way to give a nice error message in that case,
153
- # so I'm doing this instead.
154
- DEPRECATED_INT_TYPE = INT_TYPE
155
- DEPRECATED_FLOAT_TYPE = FLOAT_TYPE
156
- DEPRECATED_STRING_TYPE = STRING_TYPE
157
- DEPRECATED_BOOLEAN_TYPE = BOOLEAN_TYPE
158
- DEPRECATED_ID_TYPE = ID_TYPE
159
-
160
- remove_const :INT_TYPE
161
- remove_const :FLOAT_TYPE
162
- remove_const :STRING_TYPE
163
- remove_const :BOOLEAN_TYPE
164
- remove_const :ID_TYPE
165
-
166
- def self.const_missing(const_name)
167
- deprecated_const_name = :"DEPRECATED_#{const_name}"
168
- if const_defined?(deprecated_const_name)
169
- deprecated_type = const_get(deprecated_const_name)
170
- deprecated_caller = caller(1, 1).first
171
- # Don't warn about internal uses, like `types.Int`
172
- if !deprecated_caller.include?("lib/graphql")
173
- warn "GraphQL::#{const_name} is deprecated and will be removed in GraphQL-Ruby 2.0, use GraphQL::Types::#{deprecated_type.graphql_name} instead. (from #{deprecated_caller})"
174
- end
175
- deprecated_type
176
- else
177
- super
178
- end
179
- end
180
- end
116
+ require "graphql/deprecation"
metadata CHANGED
@@ -1,29 +1,15 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: graphql
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.13.22
4
+ version: 2.0.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Robert Mosolgo
8
- autorequire:
8
+ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2024-02-28 00:00:00.000000000 Z
11
+ date: 2022-02-09 00:00:00.000000000 Z
12
12
  dependencies:
13
- - !ruby/object:Gem::Dependency
14
- name: base64
15
- requirement: !ruby/object:Gem::Requirement
16
- requirements:
17
- - - ">="
18
- - !ruby/object:Gem::Version
19
- version: '0'
20
- type: :runtime
21
- prerelease: false
22
- version_requirements: !ruby/object:Gem::Requirement
23
- requirements:
24
- - - ">="
25
- - !ruby/object:Gem::Version
26
- version: '0'
27
13
  - !ruby/object:Gem::Dependency
28
14
  name: benchmark-ips
29
15
  requirement: !ruby/object:Gem::Requirement
@@ -70,72 +56,72 @@ dependencies:
70
56
  name: minitest
71
57
  requirement: !ruby/object:Gem::Requirement
72
58
  requirements:
73
- - - ">="
59
+ - - "~>"
74
60
  - !ruby/object:Gem::Version
75
- version: '0'
61
+ version: 5.9.0
76
62
  type: :development
77
63
  prerelease: false
78
64
  version_requirements: !ruby/object:Gem::Requirement
79
65
  requirements:
80
- - - ">="
66
+ - - "~>"
81
67
  - !ruby/object:Gem::Version
82
- version: '0'
68
+ version: 5.9.0
83
69
  - !ruby/object:Gem::Dependency
84
70
  name: minitest-focus
85
71
  requirement: !ruby/object:Gem::Requirement
86
72
  requirements:
87
- - - ">="
73
+ - - "~>"
88
74
  - !ruby/object:Gem::Version
89
- version: '0'
75
+ version: '1.1'
90
76
  type: :development
91
77
  prerelease: false
92
78
  version_requirements: !ruby/object:Gem::Requirement
93
79
  requirements:
94
- - - ">="
80
+ - - "~>"
95
81
  - !ruby/object:Gem::Version
96
- version: '0'
82
+ version: '1.1'
97
83
  - !ruby/object:Gem::Dependency
98
84
  name: minitest-reporters
99
85
  requirement: !ruby/object:Gem::Requirement
100
86
  requirements:
101
- - - ">="
87
+ - - "~>"
102
88
  - !ruby/object:Gem::Version
103
- version: '0'
89
+ version: '1.0'
104
90
  type: :development
105
91
  prerelease: false
106
92
  version_requirements: !ruby/object:Gem::Requirement
107
93
  requirements:
108
- - - ">="
94
+ - - "~>"
109
95
  - !ruby/object:Gem::Version
110
- version: '0'
96
+ version: '1.0'
111
97
  - !ruby/object:Gem::Dependency
112
- name: rake
98
+ name: racc
113
99
  requirement: !ruby/object:Gem::Requirement
114
100
  requirements:
115
- - - ">="
101
+ - - "~>"
116
102
  - !ruby/object:Gem::Version
117
- version: '0'
103
+ version: '1.4'
118
104
  type: :development
119
105
  prerelease: false
120
106
  version_requirements: !ruby/object:Gem::Requirement
121
107
  requirements:
122
- - - ">="
108
+ - - "~>"
123
109
  - !ruby/object:Gem::Version
124
- version: '0'
110
+ version: '1.4'
125
111
  - !ruby/object:Gem::Dependency
126
- name: rake-compiler
112
+ name: rake
127
113
  requirement: !ruby/object:Gem::Requirement
128
114
  requirements:
129
- - - ">="
115
+ - - "~>"
130
116
  - !ruby/object:Gem::Version
131
- version: '0'
117
+ version: '12'
132
118
  type: :development
133
119
  prerelease: false
134
120
  version_requirements: !ruby/object:Gem::Requirement
135
121
  requirements:
136
- - - ">="
122
+ - - "~>"
137
123
  - !ruby/object:Gem::Version
138
- version: '0'
124
+ version: '12'
139
125
  - !ruby/object:Gem::Dependency
140
126
  name: rubocop
141
127
  requirement: !ruby/object:Gem::Requirement
@@ -150,20 +136,6 @@ dependencies:
150
136
  - - '='
151
137
  - !ruby/object:Gem::Version
152
138
  version: '1.12'
153
- - !ruby/object:Gem::Dependency
154
- name: parser
155
- requirement: !ruby/object:Gem::Requirement
156
- requirements:
157
- - - ">="
158
- - !ruby/object:Gem::Version
159
- version: '0'
160
- type: :development
161
- prerelease: false
162
- version_requirements: !ruby/object:Gem::Requirement
163
- requirements:
164
- - - ">="
165
- - !ruby/object:Gem::Version
166
- version: '0'
167
139
  - !ruby/object:Gem::Dependency
168
140
  name: jekyll
169
141
  requirement: !ruby/object:Gem::Requirement
@@ -305,7 +277,6 @@ files:
305
277
  - lib/generators/graphql/union_generator.rb
306
278
  - lib/graphql.rb
307
279
  - lib/graphql/analysis.rb
308
- - lib/graphql/analysis/analyze_query.rb
309
280
  - lib/graphql/analysis/ast.rb
310
281
  - lib/graphql/analysis/ast/analyzer.rb
311
282
  - lib/graphql/analysis/ast/field_usage.rb
@@ -314,66 +285,24 @@ files:
314
285
  - lib/graphql/analysis/ast/query_complexity.rb
315
286
  - lib/graphql/analysis/ast/query_depth.rb
316
287
  - lib/graphql/analysis/ast/visitor.rb
317
- - lib/graphql/analysis/field_usage.rb
318
- - lib/graphql/analysis/max_query_complexity.rb
319
- - lib/graphql/analysis/max_query_depth.rb
320
- - lib/graphql/analysis/query_complexity.rb
321
- - lib/graphql/analysis/query_depth.rb
322
- - lib/graphql/analysis/reducer_state.rb
323
288
  - lib/graphql/analysis_error.rb
324
- - lib/graphql/argument.rb
325
- - lib/graphql/authorization.rb
326
289
  - lib/graphql/backtrace.rb
327
290
  - lib/graphql/backtrace/inspect_result.rb
328
- - lib/graphql/backtrace/legacy_tracer.rb
329
291
  - lib/graphql/backtrace/table.rb
330
292
  - lib/graphql/backtrace/traced_error.rb
331
293
  - lib/graphql/backtrace/tracer.rb
332
- - lib/graphql/backwards_compatibility.rb
333
- - lib/graphql/base_type.rb
334
- - lib/graphql/boolean_type.rb
335
294
  - lib/graphql/coercion_error.rb
336
- - lib/graphql/compatibility.rb
337
- - lib/graphql/compatibility/execution_specification.rb
338
- - lib/graphql/compatibility/execution_specification/counter_schema.rb
339
- - lib/graphql/compatibility/execution_specification/specification_schema.rb
340
- - lib/graphql/compatibility/lazy_execution_specification.rb
341
- - lib/graphql/compatibility/lazy_execution_specification/lazy_schema.rb
342
- - lib/graphql/compatibility/query_parser_specification.rb
343
- - lib/graphql/compatibility/query_parser_specification/parse_error_specification.rb
344
- - lib/graphql/compatibility/query_parser_specification/query_assertions.rb
345
- - lib/graphql/compatibility/schema_parser_specification.rb
346
295
  - lib/graphql/dataloader.rb
347
296
  - lib/graphql/dataloader/null_dataloader.rb
348
297
  - lib/graphql/dataloader/request.rb
349
298
  - lib/graphql/dataloader/request_all.rb
350
299
  - lib/graphql/dataloader/source.rb
351
300
  - lib/graphql/date_encoding_error.rb
352
- - lib/graphql/define.rb
353
- - lib/graphql/define/assign_argument.rb
354
- - lib/graphql/define/assign_connection.rb
355
- - lib/graphql/define/assign_enum_value.rb
356
- - lib/graphql/define/assign_global_id_field.rb
357
- - lib/graphql/define/assign_mutation_function.rb
358
- - lib/graphql/define/assign_object_field.rb
359
- - lib/graphql/define/defined_object_proxy.rb
360
- - lib/graphql/define/instance_definable.rb
361
- - lib/graphql/define/no_definition_error.rb
362
- - lib/graphql/define/non_null_with_bang.rb
363
- - lib/graphql/define/type_definer.rb
364
- - lib/graphql/deprecated_dsl.rb
365
301
  - lib/graphql/deprecation.rb
366
302
  - lib/graphql/dig.rb
367
- - lib/graphql/directive.rb
368
- - lib/graphql/directive/deprecated_directive.rb
369
- - lib/graphql/directive/include_directive.rb
370
- - lib/graphql/directive/skip_directive.rb
371
- - lib/graphql/enum_type.rb
372
303
  - lib/graphql/execution.rb
373
304
  - lib/graphql/execution/directive_checks.rb
374
305
  - lib/graphql/execution/errors.rb
375
- - lib/graphql/execution/execute.rb
376
- - lib/graphql/execution/flatten.rb
377
306
  - lib/graphql/execution/instrumentation.rb
378
307
  - lib/graphql/execution/interpreter.rb
379
308
  - lib/graphql/execution/interpreter/argument_value.rb
@@ -388,26 +317,10 @@ files:
388
317
  - lib/graphql/execution/lazy/resolve.rb
389
318
  - lib/graphql/execution/lookahead.rb
390
319
  - lib/graphql/execution/multiplex.rb
391
- - lib/graphql/execution/typecast.rb
392
320
  - lib/graphql/execution_error.rb
393
- - lib/graphql/field.rb
394
- - lib/graphql/field/resolve.rb
395
321
  - lib/graphql/filter.rb
396
- - lib/graphql/float_type.rb
397
- - lib/graphql/function.rb
398
- - lib/graphql/id_type.rb
399
- - lib/graphql/input_object_type.rb
400
- - lib/graphql/int_type.rb
401
322
  - lib/graphql/integer_decoding_error.rb
402
323
  - lib/graphql/integer_encoding_error.rb
403
- - lib/graphql/interface_type.rb
404
- - lib/graphql/internal_representation.rb
405
- - lib/graphql/internal_representation/document.rb
406
- - lib/graphql/internal_representation/node.rb
407
- - lib/graphql/internal_representation/print.rb
408
- - lib/graphql/internal_representation/rewrite.rb
409
- - lib/graphql/internal_representation/scope.rb
410
- - lib/graphql/internal_representation/visit.rb
411
324
  - lib/graphql/introspection.rb
412
325
  - lib/graphql/introspection/base_object.rb
413
326
  - lib/graphql/introspection/directive_location_enum.rb
@@ -438,11 +351,8 @@ files:
438
351
  - lib/graphql/language/sanitized_printer.rb
439
352
  - lib/graphql/language/token.rb
440
353
  - lib/graphql/language/visitor.rb
441
- - lib/graphql/list_type.rb
442
354
  - lib/graphql/load_application_object_failed_error.rb
443
355
  - lib/graphql/name_validator.rb
444
- - lib/graphql/non_null_type.rb
445
- - lib/graphql/object_type.rb
446
356
  - lib/graphql/pagination.rb
447
357
  - lib/graphql/pagination/active_record_relation_connection.rb
448
358
  - lib/graphql/pagination/array_connection.rb
@@ -453,20 +363,12 @@ files:
453
363
  - lib/graphql/pagination/sequel_dataset_connection.rb
454
364
  - lib/graphql/parse_error.rb
455
365
  - lib/graphql/query.rb
456
- - lib/graphql/query/arguments.rb
457
- - lib/graphql/query/arguments_cache.rb
458
366
  - lib/graphql/query/context.rb
459
- - lib/graphql/query/executor.rb
460
367
  - lib/graphql/query/fingerprint.rb
461
368
  - lib/graphql/query/input_validation_result.rb
462
369
  - lib/graphql/query/literal_input.rb
463
370
  - lib/graphql/query/null_context.rb
464
371
  - lib/graphql/query/result.rb
465
- - lib/graphql/query/serial_execution.rb
466
- - lib/graphql/query/serial_execution/field_resolution.rb
467
- - lib/graphql/query/serial_execution/operation_resolution.rb
468
- - lib/graphql/query/serial_execution/selection_resolution.rb
469
- - lib/graphql/query/serial_execution/value_resolution.rb
470
372
  - lib/graphql/query/validation_pipeline.rb
471
373
  - lib/graphql/query/variable_validation_error.rb
472
374
  - lib/graphql/query/variables.rb
@@ -474,31 +376,12 @@ files:
474
376
  - lib/graphql/rake_task.rb
475
377
  - lib/graphql/rake_task/validate.rb
476
378
  - lib/graphql/relay.rb
477
- - lib/graphql/relay/array_connection.rb
478
- - lib/graphql/relay/base_connection.rb
479
- - lib/graphql/relay/connection_instrumentation.rb
480
- - lib/graphql/relay/connection_resolve.rb
481
- - lib/graphql/relay/connection_type.rb
482
- - lib/graphql/relay/edge.rb
483
- - lib/graphql/relay/edge_type.rb
484
- - lib/graphql/relay/edges_instrumentation.rb
485
- - lib/graphql/relay/global_id_resolve.rb
486
- - lib/graphql/relay/mongo_relation_connection.rb
487
- - lib/graphql/relay/mutation.rb
488
- - lib/graphql/relay/mutation/instrumentation.rb
489
- - lib/graphql/relay/mutation/resolve.rb
490
- - lib/graphql/relay/mutation/result.rb
491
- - lib/graphql/relay/node.rb
492
- - lib/graphql/relay/page_info.rb
493
379
  - lib/graphql/relay/range_add.rb
494
- - lib/graphql/relay/relation_connection.rb
495
- - lib/graphql/relay/type_extensions.rb
496
380
  - lib/graphql/rubocop.rb
497
381
  - lib/graphql/rubocop/graphql/base_cop.rb
498
382
  - lib/graphql/rubocop/graphql/default_null_true.rb
499
383
  - lib/graphql/rubocop/graphql/default_required_true.rb
500
384
  - lib/graphql/runtime_type_error.rb
501
- - lib/graphql/scalar_type.rb
502
385
  - lib/graphql/schema.rb
503
386
  - lib/graphql/schema/addition.rb
504
387
  - lib/graphql/schema/argument.rb
@@ -508,9 +391,6 @@ files:
508
391
  - lib/graphql/schema/build_from_definition/resolve_map.rb
509
392
  - lib/graphql/schema/build_from_definition/resolve_map/default_resolve.rb
510
393
  - lib/graphql/schema/built_in_types.rb
511
- - lib/graphql/schema/catchall_middleware.rb
512
- - lib/graphql/schema/default_parse_error.rb
513
- - lib/graphql/schema/default_type_error.rb
514
394
  - lib/graphql/schema/directive.rb
515
395
  - lib/graphql/schema/directive/deprecated.rb
516
396
  - lib/graphql/schema/directive/feature.rb
@@ -534,10 +414,8 @@ files:
534
414
  - lib/graphql/schema/list.rb
535
415
  - lib/graphql/schema/loader.rb
536
416
  - lib/graphql/schema/member.rb
537
- - lib/graphql/schema/member/accepts_definition.rb
538
417
  - lib/graphql/schema/member/base_dsl_methods.rb
539
418
  - lib/graphql/schema/member/build_type.rb
540
- - lib/graphql/schema/member/cached_graphql_definition.rb
541
419
  - lib/graphql/schema/member/graphql_type_names.rb
542
420
  - lib/graphql/schema/member/has_arguments.rb
543
421
  - lib/graphql/schema/member/has_ast_node.rb
@@ -548,32 +426,25 @@ files:
548
426
  - lib/graphql/schema/member/has_path.rb
549
427
  - lib/graphql/schema/member/has_unresolved_type_error.rb
550
428
  - lib/graphql/schema/member/has_validators.rb
551
- - lib/graphql/schema/member/instrumentation.rb
552
429
  - lib/graphql/schema/member/relay_shortcuts.rb
553
430
  - lib/graphql/schema/member/scoped.rb
554
431
  - lib/graphql/schema/member/type_system_helpers.rb
555
432
  - lib/graphql/schema/member/validates_input.rb
556
- - lib/graphql/schema/middleware_chain.rb
557
433
  - lib/graphql/schema/mutation.rb
558
434
  - lib/graphql/schema/non_null.rb
559
435
  - lib/graphql/schema/null_mask.rb
560
436
  - lib/graphql/schema/object.rb
561
- - lib/graphql/schema/possible_types.rb
562
437
  - lib/graphql/schema/printer.rb
563
438
  - lib/graphql/schema/relay_classic_mutation.rb
564
- - lib/graphql/schema/rescue_middleware.rb
565
439
  - lib/graphql/schema/resolver.rb
566
440
  - lib/graphql/schema/resolver/has_payload_type.rb
567
441
  - lib/graphql/schema/scalar.rb
568
442
  - lib/graphql/schema/subscription.rb
569
443
  - lib/graphql/schema/timeout.rb
570
- - lib/graphql/schema/timeout_middleware.rb
571
- - lib/graphql/schema/traversal.rb
572
444
  - lib/graphql/schema/type_expression.rb
573
445
  - lib/graphql/schema/type_membership.rb
574
446
  - lib/graphql/schema/union.rb
575
447
  - lib/graphql/schema/unique_within_type.rb
576
- - lib/graphql/schema/validation.rb
577
448
  - lib/graphql/schema/validator.rb
578
449
  - lib/graphql/schema/validator/allow_blank_validator.rb
579
450
  - lib/graphql/schema/validator/allow_null_validator.rb
@@ -588,12 +459,10 @@ files:
588
459
  - lib/graphql/static_validation.rb
589
460
  - lib/graphql/static_validation/all_rules.rb
590
461
  - lib/graphql/static_validation/base_visitor.rb
591
- - lib/graphql/static_validation/default_visitor.rb
592
462
  - lib/graphql/static_validation/definition_dependencies.rb
593
463
  - lib/graphql/static_validation/error.rb
594
464
  - lib/graphql/static_validation/interpreter_visitor.rb
595
465
  - lib/graphql/static_validation/literal_validator.rb
596
- - lib/graphql/static_validation/no_validate_visitor.rb
597
466
  - lib/graphql/static_validation/rules/argument_literals_are_compatible.rb
598
467
  - lib/graphql/static_validation/rules/argument_literals_are_compatible_error.rb
599
468
  - lib/graphql/static_validation/rules/argument_names_are_unique.rb
@@ -657,7 +526,6 @@ files:
657
526
  - lib/graphql/static_validation/validation_timeout_error.rb
658
527
  - lib/graphql/static_validation/validator.rb
659
528
  - lib/graphql/string_encoding_error.rb
660
- - lib/graphql/string_type.rb
661
529
  - lib/graphql/subscriptions.rb
662
530
  - lib/graphql/subscriptions/action_cable_subscriptions.rb
663
531
  - lib/graphql/subscriptions/broadcast_analyzer.rb
@@ -665,7 +533,6 @@ files:
665
533
  - lib/graphql/subscriptions/event.rb
666
534
  - lib/graphql/subscriptions/instrumentation.rb
667
535
  - lib/graphql/subscriptions/serialize.rb
668
- - lib/graphql/subscriptions/subscription_root.rb
669
536
  - lib/graphql/tracing.rb
670
537
  - lib/graphql/tracing/active_support_notifications_tracing.rb
671
538
  - lib/graphql/tracing/appoptics_tracing.rb
@@ -677,7 +544,6 @@ files:
677
544
  - lib/graphql/tracing/prometheus_tracing.rb
678
545
  - lib/graphql/tracing/prometheus_tracing/graphql_collector.rb
679
546
  - lib/graphql/tracing/scout_tracing.rb
680
- - lib/graphql/tracing/skylight_tracing.rb
681
547
  - lib/graphql/tracing/statsd_tracing.rb
682
548
  - lib/graphql/type_kinds.rb
683
549
  - lib/graphql/types.rb
@@ -699,17 +565,12 @@ files:
699
565
  - lib/graphql/types/relay/has_nodes_field.rb
700
566
  - lib/graphql/types/relay/node.rb
701
567
  - lib/graphql/types/relay/node_behaviors.rb
702
- - lib/graphql/types/relay/node_field.rb
703
- - lib/graphql/types/relay/nodes_field.rb
704
568
  - lib/graphql/types/relay/page_info.rb
705
569
  - lib/graphql/types/relay/page_info_behaviors.rb
706
570
  - lib/graphql/types/string.rb
707
571
  - lib/graphql/unauthorized_error.rb
708
572
  - lib/graphql/unauthorized_field_error.rb
709
- - lib/graphql/union_type.rb
710
573
  - lib/graphql/unresolved_type_error.rb
711
- - lib/graphql/upgrader/member.rb
712
- - lib/graphql/upgrader/schema.rb
713
574
  - lib/graphql/version.rb
714
575
  - readme.md
715
576
  homepage: https://github.com/rmosolgo/graphql-ruby
@@ -721,7 +582,7 @@ metadata:
721
582
  source_code_uri: https://github.com/rmosolgo/graphql-ruby
722
583
  bug_tracker_uri: https://github.com/rmosolgo/graphql-ruby/issues
723
584
  mailing_list_uri: https://tinyletter.com/graphql-ruby
724
- post_install_message:
585
+ post_install_message:
725
586
  rdoc_options: []
726
587
  require_paths:
727
588
  - lib
@@ -736,8 +597,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
736
597
  - !ruby/object:Gem::Version
737
598
  version: '0'
738
599
  requirements: []
739
- rubygems_version: 3.5.3
740
- signing_key:
600
+ rubygems_version: 3.1.6
601
+ signing_key:
741
602
  specification_version: 4
742
603
  summary: A GraphQL language and runtime for Ruby
743
604
  test_files: []
@@ -1,98 +0,0 @@
1
- # frozen_string_literal: true
2
- module GraphQL
3
- module Analysis
4
- module_function
5
-
6
- def use(schema_class)
7
- schema = schema_class.is_a?(Class) ? schema_class : schema_class.target
8
- schema.analysis_engine = self
9
- end
10
-
11
- # @return [void]
12
- def analyze_multiplex(multiplex, analyzers)
13
- multiplex.trace("analyze_multiplex", { multiplex: multiplex }) do
14
- reducer_states = analyzers.map { |r| ReducerState.new(r, multiplex) }
15
- query_results = multiplex.queries.map do |query|
16
- if query.valid?
17
- analyze_query(query, query.analyzers, multiplex_states: reducer_states)
18
- else
19
- []
20
- end
21
- end
22
-
23
- multiplex_results = reducer_states.map(&:finalize_reducer)
24
- multiplex_errors = analysis_errors(multiplex_results)
25
-
26
- multiplex.queries.each_with_index do |query, idx|
27
- query.analysis_errors = multiplex_errors + analysis_errors(query_results[idx])
28
- end
29
- end
30
- nil
31
- end
32
-
33
- # Visit `query`'s internal representation, calling `analyzers` along the way.
34
- #
35
- # - First, query analyzers are filtered down by calling `.analyze?(query)`, if they respond to that method
36
- # - Then, query analyzers are initialized by calling `.initial_value(query)`, if they respond to that method.
37
- # - Then, they receive `.call(memo, visit_type, irep_node)`, where visit type is `:enter` or `:leave`.
38
- # - Last, they receive `.final_value(memo)`, if they respond to that method.
39
- #
40
- # It returns an array of final `memo` values in the order that `analyzers` were passed in.
41
- #
42
- # @param query [GraphQL::Query]
43
- # @param analyzers [Array<#call>] Objects that respond to `#call(memo, visit_type, irep_node)`
44
- # @return [Array<Any>] Results from those analyzers
45
- def analyze_query(query, analyzers, multiplex_states: [])
46
- GraphQL::Deprecation.warn "Legacy analysis will be removed in GraphQL-Ruby 2.0, please upgrade to AST Analysis: https://graphql-ruby.org/queries/ast_analysis.html (schema: #{query.schema})"
47
-
48
- query.trace("analyze_query", { query: query }) do
49
- analyzers_to_run = analyzers.select do |analyzer|
50
- if analyzer.respond_to?(:analyze?)
51
- analyzer.analyze?(query)
52
- else
53
- true
54
- end
55
- end
56
-
57
- reducer_states = analyzers_to_run.map { |r| ReducerState.new(r, query) } + multiplex_states
58
-
59
- irep = query.internal_representation
60
-
61
- irep.operation_definitions.each do |name, op_node|
62
- reduce_node(op_node, reducer_states)
63
- end
64
-
65
- reducer_states.map(&:finalize_reducer)
66
- end
67
- end
68
-
69
- private
70
-
71
- module_function
72
-
73
- # Enter the node, visit its children, then leave the node.
74
- def reduce_node(irep_node, reducer_states)
75
- visit_analyzers(:enter, irep_node, reducer_states)
76
-
77
- irep_node.typed_children.each do |type_defn, children|
78
- children.each do |name, child_irep_node|
79
- reduce_node(child_irep_node, reducer_states)
80
- end
81
- end
82
-
83
- visit_analyzers(:leave, irep_node, reducer_states)
84
- end
85
-
86
- def visit_analyzers(visit_type, irep_node, reducer_states)
87
- reducer_states.each do |reducer_state|
88
- next_memo = reducer_state.call(visit_type, irep_node)
89
-
90
- reducer_state.memo = next_memo
91
- end
92
- end
93
-
94
- def analysis_errors(results)
95
- results.flatten.select { |r| r.is_a?(GraphQL::AnalysisError) }
96
- end
97
- end
98
- end
@@ -1,45 +0,0 @@
1
- # frozen_string_literal: true
2
- module GraphQL
3
- module Analysis
4
- # A query reducer for tracking both field usage and deprecated field usage.
5
- #
6
- # @example Logging field usage and deprecated field usage
7
- # Schema.query_analyzers << GraphQL::Analysis::FieldUsage.new { |query, used_fields, used_deprecated_fields|
8
- # puts "Used GraphQL fields: #{used_fields.join(', ')}"
9
- # puts "Used deprecated GraphQL fields: #{used_deprecated_fields.join(', ')}"
10
- # }
11
- # Schema.execute(query_str)
12
- # # Used GraphQL fields: Cheese.id, Cheese.fatContent, Query.cheese
13
- # # Used deprecated GraphQL fields: Cheese.fatContent
14
- #
15
- class FieldUsage
16
- def initialize(&block)
17
- @field_usage_handler = block
18
- end
19
-
20
- def initial_value(query)
21
- {
22
- query: query,
23
- used_fields: Set.new,
24
- used_deprecated_fields: Set.new
25
- }
26
- end
27
-
28
- def call(memo, visit_type, irep_node)
29
- if irep_node.ast_node.is_a?(GraphQL::Language::Nodes::Field) && visit_type == :leave
30
- field = "#{irep_node.owner_type.name}.#{irep_node.definition.name}"
31
- memo[:used_fields] << field
32
- if irep_node.definition.deprecation_reason
33
- memo[:used_deprecated_fields] << field
34
- end
35
- end
36
-
37
- memo
38
- end
39
-
40
- def final_value(memo)
41
- @field_usage_handler.call(memo[:query], memo[:used_fields].to_a, memo[:used_deprecated_fields].to_a)
42
- end
43
- end
44
- end
45
- end