graphql 1.11.12 → 1.12.0

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.

Files changed (124) hide show
  1. checksums.yaml +4 -4
  2. data/lib/generators/graphql/install_generator.rb +5 -5
  3. data/lib/generators/graphql/relay_generator.rb +63 -0
  4. data/lib/generators/graphql/templates/base_connection.erb +8 -0
  5. data/lib/generators/graphql/templates/base_edge.erb +8 -0
  6. data/lib/generators/graphql/templates/node_type.erb +9 -0
  7. data/lib/generators/graphql/templates/object.erb +1 -1
  8. data/lib/generators/graphql/templates/query_type.erb +1 -3
  9. data/lib/generators/graphql/templates/schema.erb +8 -35
  10. data/lib/graphql/analysis/analyze_query.rb +7 -0
  11. data/lib/graphql/analysis/ast/visitor.rb +9 -1
  12. data/lib/graphql/analysis/ast.rb +11 -2
  13. data/lib/graphql/backtrace/legacy_tracer.rb +56 -0
  14. data/lib/graphql/backtrace/table.rb +22 -2
  15. data/lib/graphql/backtrace/tracer.rb +40 -9
  16. data/lib/graphql/backtrace.rb +28 -19
  17. data/lib/graphql/backwards_compatibility.rb +1 -0
  18. data/lib/graphql/compatibility/execution_specification.rb +1 -0
  19. data/lib/graphql/compatibility/lazy_execution_specification.rb +2 -0
  20. data/lib/graphql/compatibility/query_parser_specification.rb +2 -0
  21. data/lib/graphql/compatibility/schema_parser_specification.rb +2 -0
  22. data/lib/graphql/dataloader/null_dataloader.rb +21 -0
  23. data/lib/graphql/dataloader/request.rb +24 -0
  24. data/lib/graphql/dataloader/request_all.rb +22 -0
  25. data/lib/graphql/dataloader/source.rb +93 -0
  26. data/lib/graphql/dataloader.rb +197 -0
  27. data/lib/graphql/define/assign_global_id_field.rb +1 -1
  28. data/lib/graphql/define/instance_definable.rb +32 -2
  29. data/lib/graphql/define/type_definer.rb +5 -5
  30. data/lib/graphql/deprecated_dsl.rb +5 -0
  31. data/lib/graphql/enum_type.rb +2 -0
  32. data/lib/graphql/execution/errors.rb +4 -0
  33. data/lib/graphql/execution/execute.rb +7 -0
  34. data/lib/graphql/execution/interpreter/arguments.rb +51 -14
  35. data/lib/graphql/execution/interpreter/handles_raw_value.rb +0 -7
  36. data/lib/graphql/execution/interpreter/runtime.rb +210 -124
  37. data/lib/graphql/execution/interpreter.rb +10 -6
  38. data/lib/graphql/execution/multiplex.rb +20 -6
  39. data/lib/graphql/function.rb +4 -0
  40. data/lib/graphql/input_object_type.rb +2 -0
  41. data/lib/graphql/interface_type.rb +3 -1
  42. data/lib/graphql/language/document_from_schema_definition.rb +50 -23
  43. data/lib/graphql/language/nodes.rb +0 -5
  44. data/lib/graphql/language/visitor.rb +0 -1
  45. data/lib/graphql/object_type.rb +2 -0
  46. data/lib/graphql/pagination/connection.rb +5 -1
  47. data/lib/graphql/pagination/connections.rb +6 -16
  48. data/lib/graphql/query/context.rb +4 -0
  49. data/lib/graphql/query/serial_execution.rb +1 -0
  50. data/lib/graphql/query/validation_pipeline.rb +1 -1
  51. data/lib/graphql/query.rb +2 -0
  52. data/lib/graphql/relay/base_connection.rb +7 -0
  53. data/lib/graphql/relay/connection_instrumentation.rb +4 -4
  54. data/lib/graphql/relay/connection_type.rb +1 -1
  55. data/lib/graphql/relay/mutation.rb +1 -0
  56. data/lib/graphql/relay/node.rb +3 -0
  57. data/lib/graphql/relay/type_extensions.rb +2 -0
  58. data/lib/graphql/scalar_type.rb +2 -0
  59. data/lib/graphql/schema/argument.rb +30 -10
  60. data/lib/graphql/schema/build_from_definition.rb +145 -58
  61. data/lib/graphql/schema/directive/flagged.rb +57 -0
  62. data/lib/graphql/schema/directive.rb +76 -0
  63. data/lib/graphql/schema/enum.rb +3 -0
  64. data/lib/graphql/schema/enum_value.rb +13 -7
  65. data/lib/graphql/schema/field/connection_extension.rb +3 -2
  66. data/lib/graphql/schema/field.rb +28 -10
  67. data/lib/graphql/schema/input_object.rb +36 -28
  68. data/lib/graphql/schema/interface.rb +1 -0
  69. data/lib/graphql/schema/member/base_dsl_methods.rb +1 -0
  70. data/lib/graphql/schema/member/build_type.rb +3 -3
  71. data/lib/graphql/schema/member/has_arguments.rb +24 -6
  72. data/lib/graphql/schema/member/has_deprecation_reason.rb +25 -0
  73. data/lib/graphql/schema/member/has_directives.rb +98 -0
  74. data/lib/graphql/schema/member/has_validators.rb +31 -0
  75. data/lib/graphql/schema/member/type_system_helpers.rb +1 -1
  76. data/lib/graphql/schema/member.rb +4 -0
  77. data/lib/graphql/schema/object.rb +11 -0
  78. data/lib/graphql/schema/printer.rb +5 -4
  79. data/lib/graphql/schema/resolver/has_payload_type.rb +2 -0
  80. data/lib/graphql/schema/resolver.rb +7 -0
  81. data/lib/graphql/schema/subscription.rb +19 -1
  82. data/lib/graphql/schema/timeout_middleware.rb +2 -0
  83. data/lib/graphql/schema/validation.rb +2 -0
  84. data/lib/graphql/schema/validator/exclusion_validator.rb +31 -0
  85. data/lib/graphql/schema/validator/format_validator.rb +49 -0
  86. data/lib/graphql/schema/validator/inclusion_validator.rb +33 -0
  87. data/lib/graphql/schema/validator/length_validator.rb +57 -0
  88. data/lib/graphql/schema/validator/numericality_validator.rb +71 -0
  89. data/lib/graphql/schema/validator/required_validator.rb +68 -0
  90. data/lib/graphql/schema/validator.rb +163 -0
  91. data/lib/graphql/schema.rb +72 -49
  92. data/lib/graphql/static_validation/base_visitor.rb +0 -3
  93. data/lib/graphql/static_validation/rules/fields_will_merge.rb +4 -4
  94. data/lib/graphql/static_validation/rules/fragments_are_finite.rb +2 -2
  95. data/lib/graphql/static_validation/validation_context.rb +1 -6
  96. data/lib/graphql/static_validation/validator.rb +12 -14
  97. data/lib/graphql/subscriptions.rb +17 -20
  98. data/lib/graphql/tracing/appoptics_tracing.rb +3 -1
  99. data/lib/graphql/tracing/platform_tracing.rb +3 -1
  100. data/lib/graphql/tracing/skylight_tracing.rb +1 -1
  101. data/lib/graphql/tracing.rb +2 -2
  102. data/lib/graphql/types/relay/base_connection.rb +2 -92
  103. data/lib/graphql/types/relay/base_edge.rb +2 -35
  104. data/lib/graphql/types/relay/connection_behaviors.rb +123 -0
  105. data/lib/graphql/types/relay/default_relay.rb +27 -0
  106. data/lib/graphql/types/relay/edge_behaviors.rb +42 -0
  107. data/lib/graphql/types/relay/has_node_field.rb +41 -0
  108. data/lib/graphql/types/relay/has_nodes_field.rb +41 -0
  109. data/lib/graphql/types/relay/node.rb +2 -4
  110. data/lib/graphql/types/relay/node_behaviors.rb +15 -0
  111. data/lib/graphql/types/relay/node_field.rb +1 -19
  112. data/lib/graphql/types/relay/nodes_field.rb +1 -19
  113. data/lib/graphql/types/relay/page_info.rb +2 -14
  114. data/lib/graphql/types/relay/page_info_behaviors.rb +25 -0
  115. data/lib/graphql/types/relay.rb +11 -3
  116. data/lib/graphql/union_type.rb +2 -0
  117. data/lib/graphql/upgrader/member.rb +1 -0
  118. data/lib/graphql/upgrader/schema.rb +1 -0
  119. data/lib/graphql/version.rb +1 -1
  120. data/lib/graphql.rb +38 -4
  121. metadata +34 -9
  122. data/lib/graphql/types/relay/base_field.rb +0 -22
  123. data/lib/graphql/types/relay/base_interface.rb +0 -29
  124. data/lib/graphql/types/relay/base_object.rb +0 -26
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.11.12
4
+ version: 1.12.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: 2025-03-17 00:00:00.000000000 Z
11
+ date: 2021-01-20 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: benchmark-ips
@@ -334,8 +334,11 @@ files:
334
334
  - lib/generators/graphql/loader_generator.rb
335
335
  - lib/generators/graphql/mutation_generator.rb
336
336
  - lib/generators/graphql/object_generator.rb
337
+ - lib/generators/graphql/relay_generator.rb
337
338
  - lib/generators/graphql/scalar_generator.rb
338
339
  - lib/generators/graphql/templates/base_argument.erb
340
+ - lib/generators/graphql/templates/base_connection.erb
341
+ - lib/generators/graphql/templates/base_edge.erb
339
342
  - lib/generators/graphql/templates/base_enum.erb
340
343
  - lib/generators/graphql/templates/base_field.erb
341
344
  - lib/generators/graphql/templates/base_input_object.erb
@@ -350,6 +353,7 @@ files:
350
353
  - lib/generators/graphql/templates/loader.erb
351
354
  - lib/generators/graphql/templates/mutation.erb
352
355
  - lib/generators/graphql/templates/mutation_type.erb
356
+ - lib/generators/graphql/templates/node_type.erb
353
357
  - lib/generators/graphql/templates/object.erb
354
358
  - lib/generators/graphql/templates/query_type.erb
355
359
  - lib/generators/graphql/templates/scalar.erb
@@ -379,6 +383,7 @@ files:
379
383
  - lib/graphql/authorization.rb
380
384
  - lib/graphql/backtrace.rb
381
385
  - lib/graphql/backtrace/inspect_result.rb
386
+ - lib/graphql/backtrace/legacy_tracer.rb
382
387
  - lib/graphql/backtrace/table.rb
383
388
  - lib/graphql/backtrace/traced_error.rb
384
389
  - lib/graphql/backtrace/tracer.rb
@@ -396,6 +401,11 @@ files:
396
401
  - lib/graphql/compatibility/query_parser_specification/parse_error_specification.rb
397
402
  - lib/graphql/compatibility/query_parser_specification/query_assertions.rb
398
403
  - lib/graphql/compatibility/schema_parser_specification.rb
404
+ - lib/graphql/dataloader.rb
405
+ - lib/graphql/dataloader/null_dataloader.rb
406
+ - lib/graphql/dataloader/request.rb
407
+ - lib/graphql/dataloader/request_all.rb
408
+ - lib/graphql/dataloader/source.rb
399
409
  - lib/graphql/define.rb
400
410
  - lib/graphql/define/assign_argument.rb
401
411
  - lib/graphql/define/assign_connection.rb
@@ -555,6 +565,7 @@ files:
555
565
  - lib/graphql/schema/directive.rb
556
566
  - lib/graphql/schema/directive/deprecated.rb
557
567
  - lib/graphql/schema/directive/feature.rb
568
+ - lib/graphql/schema/directive/flagged.rb
558
569
  - lib/graphql/schema/directive/include.rb
559
570
  - lib/graphql/schema/directive/skip.rb
560
571
  - lib/graphql/schema/directive/transform.rb
@@ -581,9 +592,12 @@ files:
581
592
  - lib/graphql/schema/member/graphql_type_names.rb
582
593
  - lib/graphql/schema/member/has_arguments.rb
583
594
  - lib/graphql/schema/member/has_ast_node.rb
595
+ - lib/graphql/schema/member/has_deprecation_reason.rb
596
+ - lib/graphql/schema/member/has_directives.rb
584
597
  - lib/graphql/schema/member/has_fields.rb
585
598
  - lib/graphql/schema/member/has_path.rb
586
599
  - lib/graphql/schema/member/has_unresolved_type_error.rb
600
+ - lib/graphql/schema/member/has_validators.rb
587
601
  - lib/graphql/schema/member/instrumentation.rb
588
602
  - lib/graphql/schema/member/relay_shortcuts.rb
589
603
  - lib/graphql/schema/member/scoped.rb
@@ -610,6 +624,13 @@ files:
610
624
  - lib/graphql/schema/union.rb
611
625
  - lib/graphql/schema/unique_within_type.rb
612
626
  - lib/graphql/schema/validation.rb
627
+ - lib/graphql/schema/validator.rb
628
+ - lib/graphql/schema/validator/exclusion_validator.rb
629
+ - lib/graphql/schema/validator/format_validator.rb
630
+ - lib/graphql/schema/validator/inclusion_validator.rb
631
+ - lib/graphql/schema/validator/length_validator.rb
632
+ - lib/graphql/schema/validator/numericality_validator.rb
633
+ - lib/graphql/schema/validator/required_validator.rb
613
634
  - lib/graphql/schema/warden.rb
614
635
  - lib/graphql/schema/wrapper.rb
615
636
  - lib/graphql/static_validation.rb
@@ -716,13 +737,17 @@ files:
716
737
  - lib/graphql/types/relay.rb
717
738
  - lib/graphql/types/relay/base_connection.rb
718
739
  - lib/graphql/types/relay/base_edge.rb
719
- - lib/graphql/types/relay/base_field.rb
720
- - lib/graphql/types/relay/base_interface.rb
721
- - lib/graphql/types/relay/base_object.rb
740
+ - lib/graphql/types/relay/connection_behaviors.rb
741
+ - lib/graphql/types/relay/default_relay.rb
742
+ - lib/graphql/types/relay/edge_behaviors.rb
743
+ - lib/graphql/types/relay/has_node_field.rb
744
+ - lib/graphql/types/relay/has_nodes_field.rb
722
745
  - lib/graphql/types/relay/node.rb
746
+ - lib/graphql/types/relay/node_behaviors.rb
723
747
  - lib/graphql/types/relay/node_field.rb
724
748
  - lib/graphql/types/relay/nodes_field.rb
725
749
  - lib/graphql/types/relay/page_info.rb
750
+ - lib/graphql/types/relay/page_info_behaviors.rb
726
751
  - lib/graphql/types/string.rb
727
752
  - lib/graphql/unauthorized_error.rb
728
753
  - lib/graphql/unauthorized_field_error.rb
@@ -741,7 +766,7 @@ metadata:
741
766
  source_code_uri: https://github.com/rmosolgo/graphql-ruby
742
767
  bug_tracker_uri: https://github.com/rmosolgo/graphql-ruby/issues
743
768
  mailing_list_uri: https://tinyletter.com/graphql-ruby
744
- post_install_message:
769
+ post_install_message:
745
770
  rdoc_options: []
746
771
  require_paths:
747
772
  - lib
@@ -756,8 +781,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
756
781
  - !ruby/object:Gem::Version
757
782
  version: '0'
758
783
  requirements: []
759
- rubygems_version: 3.1.6
760
- signing_key:
784
+ rubygems_version: 3.2.3
785
+ signing_key:
761
786
  specification_version: 4
762
787
  summary: A GraphQL language and runtime for Ruby
763
788
  test_files: []
@@ -1,22 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module GraphQL
4
- module Types
5
- module Relay
6
- class BaseField < GraphQL::Schema::Field
7
- def initialize(edge_class: nil, **rest, &block)
8
- @edge_class = edge_class
9
- super(**rest, &block)
10
- end
11
-
12
- def to_graphql
13
- field = super
14
- if @edge_class
15
- field.edge_class = @edge_class
16
- end
17
- field
18
- end
19
- end
20
- end
21
- end
22
- end
@@ -1,29 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module GraphQL
4
- module Types
5
- module Relay
6
- module BaseInterface
7
- include GraphQL::Schema::Interface
8
-
9
- field_class(Types::Relay::BaseField)
10
-
11
- definition_methods do
12
- def default_relay(new_value)
13
- @default_relay = new_value
14
- end
15
-
16
- def default_relay?
17
- !!@default_relay
18
- end
19
-
20
- def to_graphql
21
- type_defn = super
22
- type_defn.default_relay = default_relay?
23
- type_defn
24
- end
25
- end
26
- end
27
- end
28
- end
29
- end
@@ -1,26 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module GraphQL
4
- module Types
5
- module Relay
6
- class BaseObject < GraphQL::Schema::Object
7
- field_class(Types::Relay::BaseField)
8
- class << self
9
- def default_relay(new_value)
10
- @default_relay = new_value
11
- end
12
-
13
- def default_relay?
14
- !!@default_relay
15
- end
16
-
17
- def to_graphql
18
- type_defn = super
19
- type_defn.default_relay = default_relay?
20
- type_defn
21
- end
22
- end
23
- end
24
- end
25
- end
26
- end