relay-compiler 18.1.0 → 18.2.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -540,6 +540,92 @@
540
540
  }
541
541
  ]
542
542
  },
543
+ "disable_deduping_common_structures_in_artifacts": {
544
+ "description": "Skip the optimization which extracts common JavaScript structures in generated artifacts into numbered variables and uses them by reference in each position in which they occur.\n\nThis optimization can make it hard to follow changes to generated code, so being able to disable it can be helpful for debugging.\n\nTo disable deduping for just one fragment or operation's generated artifacts:\n\n```json \"disable_deduping_common_structures_in_artifacts\": { { \"kind\": \"limited\", \"allowList\": [\"<operation_or_fragment_name>\"] } } ```",
545
+ "default": {
546
+ "kind": "disabled"
547
+ },
548
+ "oneOf": [
549
+ {
550
+ "description": "Fully disabled: developers may not use this feature",
551
+ "type": "object",
552
+ "required": [
553
+ "kind"
554
+ ],
555
+ "properties": {
556
+ "kind": {
557
+ "type": "string",
558
+ "enum": [
559
+ "disabled"
560
+ ]
561
+ }
562
+ }
563
+ },
564
+ {
565
+ "description": "Fully enabled: developers may use this feature",
566
+ "type": "object",
567
+ "required": [
568
+ "kind"
569
+ ],
570
+ "properties": {
571
+ "kind": {
572
+ "type": "string",
573
+ "enum": [
574
+ "enabled"
575
+ ]
576
+ }
577
+ }
578
+ },
579
+ {
580
+ "description": "Partially enabled: developers may only use this feature on the listed items (fragments, fields, types).",
581
+ "type": "object",
582
+ "required": [
583
+ "allowlist",
584
+ "kind"
585
+ ],
586
+ "properties": {
587
+ "allowlist": {
588
+ "type": "array",
589
+ "items": {
590
+ "type": "string"
591
+ },
592
+ "uniqueItems": true
593
+ },
594
+ "kind": {
595
+ "type": "string",
596
+ "enum": [
597
+ "limited"
598
+ ]
599
+ }
600
+ }
601
+ },
602
+ {
603
+ "description": "Partially enabled: used for gradual rollout of the feature",
604
+ "type": "object",
605
+ "required": [
606
+ "kind",
607
+ "rollout"
608
+ ],
609
+ "properties": {
610
+ "kind": {
611
+ "type": "string",
612
+ "enum": [
613
+ "rollout"
614
+ ]
615
+ },
616
+ "rollout": {
617
+ "description": "A utility to enable gradual rollout of large codegen changes. Can be constructed as the Default which passes or a percentage between 0 and 100.",
618
+ "type": [
619
+ "integer",
620
+ "null"
621
+ ],
622
+ "format": "uint8",
623
+ "minimum": 0.0
624
+ }
625
+ }
626
+ }
627
+ ]
628
+ },
543
629
  "disable_edge_type_name_validation_on_declerative_connection_directives": {
544
630
  "description": "Disable validation of the `edgeTypeName` argument on `@prependNode` and `@appendNode`.",
545
631
  "default": {
@@ -837,6 +923,92 @@
837
923
  }
838
924
  ]
839
925
  },
926
+ "legacy_include_path_in_required_reader_nodes": {
927
+ "description": "The `path` field in `@required` Reader AST nodes is no longer used. But removing them in one diff is too large of a change to ship at once.\n\nThis flag will allow us to use the rollout FeatureFlag to remove them across a number of diffs.",
928
+ "default": {
929
+ "kind": "disabled"
930
+ },
931
+ "oneOf": [
932
+ {
933
+ "description": "Fully disabled: developers may not use this feature",
934
+ "type": "object",
935
+ "required": [
936
+ "kind"
937
+ ],
938
+ "properties": {
939
+ "kind": {
940
+ "type": "string",
941
+ "enum": [
942
+ "disabled"
943
+ ]
944
+ }
945
+ }
946
+ },
947
+ {
948
+ "description": "Fully enabled: developers may use this feature",
949
+ "type": "object",
950
+ "required": [
951
+ "kind"
952
+ ],
953
+ "properties": {
954
+ "kind": {
955
+ "type": "string",
956
+ "enum": [
957
+ "enabled"
958
+ ]
959
+ }
960
+ }
961
+ },
962
+ {
963
+ "description": "Partially enabled: developers may only use this feature on the listed items (fragments, fields, types).",
964
+ "type": "object",
965
+ "required": [
966
+ "allowlist",
967
+ "kind"
968
+ ],
969
+ "properties": {
970
+ "allowlist": {
971
+ "type": "array",
972
+ "items": {
973
+ "type": "string"
974
+ },
975
+ "uniqueItems": true
976
+ },
977
+ "kind": {
978
+ "type": "string",
979
+ "enum": [
980
+ "limited"
981
+ ]
982
+ }
983
+ }
984
+ },
985
+ {
986
+ "description": "Partially enabled: used for gradual rollout of the feature",
987
+ "type": "object",
988
+ "required": [
989
+ "kind",
990
+ "rollout"
991
+ ],
992
+ "properties": {
993
+ "kind": {
994
+ "type": "string",
995
+ "enum": [
996
+ "rollout"
997
+ ]
998
+ },
999
+ "rollout": {
1000
+ "description": "A utility to enable gradual rollout of large codegen changes. Can be constructed as the Default which passes or a percentage between 0 and 100.",
1001
+ "type": [
1002
+ "integer",
1003
+ "null"
1004
+ ],
1005
+ "format": "uint8",
1006
+ "minimum": 0.0
1007
+ }
1008
+ }
1009
+ }
1010
+ ]
1011
+ },
840
1012
  "no_inline": {
841
1013
  "description": "For now, this also disallows fragments with variable definitions This also makes @module to opt in using @no_inline internally NOTE that the presence of a fragment in this list only controls whether a fragment is *allowed* to use @no_inline: whether the fragment is inlined or not depends on whether it actually uses that directive.",
842
1014
  "default": {
@@ -923,6 +1095,92 @@
923
1095
  }
924
1096
  ]
925
1097
  },
1098
+ "omit_resolver_type_assertions_for_confirmed_types": {
1099
+ "description": "Skip generating resolver type assertions for resolvers which have been derived from TS/Flow types.",
1100
+ "default": {
1101
+ "kind": "disabled"
1102
+ },
1103
+ "oneOf": [
1104
+ {
1105
+ "description": "Fully disabled: developers may not use this feature",
1106
+ "type": "object",
1107
+ "required": [
1108
+ "kind"
1109
+ ],
1110
+ "properties": {
1111
+ "kind": {
1112
+ "type": "string",
1113
+ "enum": [
1114
+ "disabled"
1115
+ ]
1116
+ }
1117
+ }
1118
+ },
1119
+ {
1120
+ "description": "Fully enabled: developers may use this feature",
1121
+ "type": "object",
1122
+ "required": [
1123
+ "kind"
1124
+ ],
1125
+ "properties": {
1126
+ "kind": {
1127
+ "type": "string",
1128
+ "enum": [
1129
+ "enabled"
1130
+ ]
1131
+ }
1132
+ }
1133
+ },
1134
+ {
1135
+ "description": "Partially enabled: developers may only use this feature on the listed items (fragments, fields, types).",
1136
+ "type": "object",
1137
+ "required": [
1138
+ "allowlist",
1139
+ "kind"
1140
+ ],
1141
+ "properties": {
1142
+ "allowlist": {
1143
+ "type": "array",
1144
+ "items": {
1145
+ "type": "string"
1146
+ },
1147
+ "uniqueItems": true
1148
+ },
1149
+ "kind": {
1150
+ "type": "string",
1151
+ "enum": [
1152
+ "limited"
1153
+ ]
1154
+ }
1155
+ }
1156
+ },
1157
+ {
1158
+ "description": "Partially enabled: used for gradual rollout of the feature",
1159
+ "type": "object",
1160
+ "required": [
1161
+ "kind",
1162
+ "rollout"
1163
+ ],
1164
+ "properties": {
1165
+ "kind": {
1166
+ "type": "string",
1167
+ "enum": [
1168
+ "rollout"
1169
+ ]
1170
+ },
1171
+ "rollout": {
1172
+ "description": "A utility to enable gradual rollout of large codegen changes. Can be constructed as the Default which passes or a percentage between 0 and 100.",
1173
+ "type": [
1174
+ "integer",
1175
+ "null"
1176
+ ],
1177
+ "format": "uint8",
1178
+ "minimum": 0.0
1179
+ }
1180
+ }
1181
+ }
1182
+ ]
1183
+ },
926
1184
  "prefer_fetchable_in_refetch_queries": {
927
1185
  "description": "Feature flag to prefer `fetch_MyType()` generatior over `node()` query generator in @refetchable transform",
928
1186
  "default": false,
@@ -1405,14 +1663,17 @@
1405
1663
  "default": null,
1406
1664
  "anyOf": [
1407
1665
  {
1666
+ "description": "Configuration for how the Relay Compiler should persist GraphQL queries.",
1408
1667
  "anyOf": [
1409
1668
  {
1669
+ "description": "This variant represents a remote persistence configuration, where GraphQL queries are sent to a remote endpoint for persistence.",
1410
1670
  "type": "object",
1411
1671
  "required": [
1412
1672
  "url"
1413
1673
  ],
1414
1674
  "properties": {
1415
1675
  "concurrency": {
1676
+ "description": "Number of concurrent requests that can be made to the server.",
1416
1677
  "default": null,
1417
1678
  "type": [
1418
1679
  "integer",
@@ -1422,7 +1683,7 @@
1422
1683
  "minimum": 0.0
1423
1684
  },
1424
1685
  "headers": {
1425
- "description": "Additional headers to send",
1686
+ "description": "Additional headers to include in the POST request.",
1426
1687
  "default": {},
1427
1688
  "type": "object",
1428
1689
  "additionalProperties": {
@@ -1430,11 +1691,12 @@
1430
1691
  }
1431
1692
  },
1432
1693
  "includeQueryText": {
1694
+ "description": "Whether to include the query text in the persisted document.",
1433
1695
  "default": false,
1434
1696
  "type": "boolean"
1435
1697
  },
1436
1698
  "params": {
1437
- "description": "The document will be in a POST parameter `text`. This map can contain additional parameters to send.",
1699
+ "description": "Additional parameters to include in the POST request.\n\nThe main document will be in a POST parameter `text`. This map can contain additional parameters to send.",
1438
1700
  "default": {},
1439
1701
  "type": "object",
1440
1702
  "additionalProperties": {
@@ -1442,19 +1704,21 @@
1442
1704
  }
1443
1705
  },
1444
1706
  "url": {
1445
- "description": "URL to send a POST request to to persist.",
1707
+ "description": "URL that the document should be persisted to via a POST request.",
1446
1708
  "type": "string"
1447
1709
  }
1448
1710
  },
1449
1711
  "additionalProperties": false
1450
1712
  },
1451
1713
  {
1714
+ "description": "This variant represents a local persistence configuration, where GraphQL queries are persisted to a local JSON file.\n\nWhen this variant is used, the compiler will attempt to read the local file as a hash map, add new queries to the map, and then serialize and write the resulting map to the configured path.",
1452
1715
  "type": "object",
1453
1716
  "required": [
1454
1717
  "file"
1455
1718
  ],
1456
1719
  "properties": {
1457
1720
  "algorithm": {
1721
+ "description": "The algorithm to use for hashing the operation text.",
1458
1722
  "default": "MD5",
1459
1723
  "type": "string",
1460
1724
  "enum": [
@@ -1464,9 +1728,11 @@
1464
1728
  ]
1465
1729
  },
1466
1730
  "file": {
1731
+ "description": "The file path where the persisted documents will be written.",
1467
1732
  "type": "string"
1468
1733
  },
1469
1734
  "include_query_text": {
1735
+ "description": "Whether to include the query text in the persisted document.",
1470
1736
  "default": false,
1471
1737
  "type": "boolean"
1472
1738
  }
@@ -1793,48 +2059,315 @@
1793
2059
  "kind": "disabled"
1794
2060
  },
1795
2061
  "allow_resolvers_in_mutation_response": {
1796
- "kind": "disabled"
1797
- },
1798
- "compact_query_text": {
1799
- "kind": "disabled"
1800
- },
1801
- "disable_edge_type_name_validation_on_declerative_connection_directives": {
1802
- "kind": "disabled"
1803
- },
1804
- "disable_full_argument_type_validation": {
1805
- "kind": "disabled"
1806
- },
1807
- "disable_resolver_reader_ast": false,
1808
- "disable_schema_validation": false,
1809
- "enable_3d_branch_arg_generation": false,
1810
- "enable_exec_time_resolvers_directive": false,
1811
- "enable_fragment_argument_transform": false,
1812
- "enable_relay_resolver_mutations": false,
1813
- "enable_resolver_normalization_ast": false,
1814
- "enable_strict_custom_scalars": false,
1815
- "enforce_fragment_alias_where_ambiguous": {
1816
- "kind": "disabled"
1817
- },
1818
- "no_inline": {
1819
- "kind": "disabled"
1820
- },
1821
- "prefer_fetchable_in_refetch_queries": false,
1822
- "relay_resolver_enable_interface_output_type": {
1823
- "kind": "disabled"
1824
- },
1825
- "skip_printing_nulls": {
1826
- "kind": "disabled"
1827
- },
1828
- "text_artifacts": {
1829
- "kind": "disabled"
1830
- },
1831
- "use_reader_module_imports": {
1832
- "kind": "disabled"
1833
- }
1834
- },
1835
- "type": "object",
1836
- "properties": {
1837
- "actor_change_support": {
2062
+ "kind": "disabled"
2063
+ },
2064
+ "compact_query_text": {
2065
+ "kind": "disabled"
2066
+ },
2067
+ "disable_deduping_common_structures_in_artifacts": {
2068
+ "kind": "disabled"
2069
+ },
2070
+ "disable_edge_type_name_validation_on_declerative_connection_directives": {
2071
+ "kind": "disabled"
2072
+ },
2073
+ "disable_full_argument_type_validation": {
2074
+ "kind": "disabled"
2075
+ },
2076
+ "disable_resolver_reader_ast": false,
2077
+ "disable_schema_validation": false,
2078
+ "enable_3d_branch_arg_generation": false,
2079
+ "enable_exec_time_resolvers_directive": false,
2080
+ "enable_fragment_argument_transform": false,
2081
+ "enable_relay_resolver_mutations": false,
2082
+ "enable_resolver_normalization_ast": false,
2083
+ "enable_strict_custom_scalars": false,
2084
+ "enforce_fragment_alias_where_ambiguous": {
2085
+ "kind": "disabled"
2086
+ },
2087
+ "legacy_include_path_in_required_reader_nodes": {
2088
+ "kind": "disabled"
2089
+ },
2090
+ "no_inline": {
2091
+ "kind": "disabled"
2092
+ },
2093
+ "omit_resolver_type_assertions_for_confirmed_types": {
2094
+ "kind": "disabled"
2095
+ },
2096
+ "prefer_fetchable_in_refetch_queries": false,
2097
+ "relay_resolver_enable_interface_output_type": {
2098
+ "kind": "disabled"
2099
+ },
2100
+ "skip_printing_nulls": {
2101
+ "kind": "disabled"
2102
+ },
2103
+ "text_artifacts": {
2104
+ "kind": "disabled"
2105
+ },
2106
+ "use_reader_module_imports": {
2107
+ "kind": "disabled"
2108
+ }
2109
+ },
2110
+ "type": "object",
2111
+ "properties": {
2112
+ "actor_change_support": {
2113
+ "default": {
2114
+ "kind": "disabled"
2115
+ },
2116
+ "oneOf": [
2117
+ {
2118
+ "description": "Fully disabled: developers may not use this feature",
2119
+ "type": "object",
2120
+ "required": [
2121
+ "kind"
2122
+ ],
2123
+ "properties": {
2124
+ "kind": {
2125
+ "type": "string",
2126
+ "enum": [
2127
+ "disabled"
2128
+ ]
2129
+ }
2130
+ }
2131
+ },
2132
+ {
2133
+ "description": "Fully enabled: developers may use this feature",
2134
+ "type": "object",
2135
+ "required": [
2136
+ "kind"
2137
+ ],
2138
+ "properties": {
2139
+ "kind": {
2140
+ "type": "string",
2141
+ "enum": [
2142
+ "enabled"
2143
+ ]
2144
+ }
2145
+ }
2146
+ },
2147
+ {
2148
+ "description": "Partially enabled: developers may only use this feature on the listed items (fragments, fields, types).",
2149
+ "type": "object",
2150
+ "required": [
2151
+ "allowlist",
2152
+ "kind"
2153
+ ],
2154
+ "properties": {
2155
+ "allowlist": {
2156
+ "type": "array",
2157
+ "items": {
2158
+ "type": "string"
2159
+ },
2160
+ "uniqueItems": true
2161
+ },
2162
+ "kind": {
2163
+ "type": "string",
2164
+ "enum": [
2165
+ "limited"
2166
+ ]
2167
+ }
2168
+ }
2169
+ },
2170
+ {
2171
+ "description": "Partially enabled: used for gradual rollout of the feature",
2172
+ "type": "object",
2173
+ "required": [
2174
+ "kind",
2175
+ "rollout"
2176
+ ],
2177
+ "properties": {
2178
+ "kind": {
2179
+ "type": "string",
2180
+ "enum": [
2181
+ "rollout"
2182
+ ]
2183
+ },
2184
+ "rollout": {
2185
+ "description": "A utility to enable gradual rollout of large codegen changes. Can be constructed as the Default which passes or a percentage between 0 and 100.",
2186
+ "type": [
2187
+ "integer",
2188
+ "null"
2189
+ ],
2190
+ "format": "uint8",
2191
+ "minimum": 0.0
2192
+ }
2193
+ }
2194
+ }
2195
+ ]
2196
+ },
2197
+ "allow_required_in_mutation_response": {
2198
+ "description": "@required with an action of THROW is read-time feature that is not compatible with our mutation APIs. We are in the process of removing any existing examples, but this flag is part of a process of removing any existing examples.",
2199
+ "default": {
2200
+ "kind": "disabled"
2201
+ },
2202
+ "oneOf": [
2203
+ {
2204
+ "description": "Fully disabled: developers may not use this feature",
2205
+ "type": "object",
2206
+ "required": [
2207
+ "kind"
2208
+ ],
2209
+ "properties": {
2210
+ "kind": {
2211
+ "type": "string",
2212
+ "enum": [
2213
+ "disabled"
2214
+ ]
2215
+ }
2216
+ }
2217
+ },
2218
+ {
2219
+ "description": "Fully enabled: developers may use this feature",
2220
+ "type": "object",
2221
+ "required": [
2222
+ "kind"
2223
+ ],
2224
+ "properties": {
2225
+ "kind": {
2226
+ "type": "string",
2227
+ "enum": [
2228
+ "enabled"
2229
+ ]
2230
+ }
2231
+ }
2232
+ },
2233
+ {
2234
+ "description": "Partially enabled: developers may only use this feature on the listed items (fragments, fields, types).",
2235
+ "type": "object",
2236
+ "required": [
2237
+ "allowlist",
2238
+ "kind"
2239
+ ],
2240
+ "properties": {
2241
+ "allowlist": {
2242
+ "type": "array",
2243
+ "items": {
2244
+ "type": "string"
2245
+ },
2246
+ "uniqueItems": true
2247
+ },
2248
+ "kind": {
2249
+ "type": "string",
2250
+ "enum": [
2251
+ "limited"
2252
+ ]
2253
+ }
2254
+ }
2255
+ },
2256
+ {
2257
+ "description": "Partially enabled: used for gradual rollout of the feature",
2258
+ "type": "object",
2259
+ "required": [
2260
+ "kind",
2261
+ "rollout"
2262
+ ],
2263
+ "properties": {
2264
+ "kind": {
2265
+ "type": "string",
2266
+ "enum": [
2267
+ "rollout"
2268
+ ]
2269
+ },
2270
+ "rollout": {
2271
+ "description": "A utility to enable gradual rollout of large codegen changes. Can be constructed as the Default which passes or a percentage between 0 and 100.",
2272
+ "type": [
2273
+ "integer",
2274
+ "null"
2275
+ ],
2276
+ "format": "uint8",
2277
+ "minimum": 0.0
2278
+ }
2279
+ }
2280
+ }
2281
+ ]
2282
+ },
2283
+ "allow_resolver_non_nullable_return_type": {
2284
+ "description": "Allow non-nullable return types from resolvers.",
2285
+ "default": {
2286
+ "kind": "disabled"
2287
+ },
2288
+ "oneOf": [
2289
+ {
2290
+ "description": "Fully disabled: developers may not use this feature",
2291
+ "type": "object",
2292
+ "required": [
2293
+ "kind"
2294
+ ],
2295
+ "properties": {
2296
+ "kind": {
2297
+ "type": "string",
2298
+ "enum": [
2299
+ "disabled"
2300
+ ]
2301
+ }
2302
+ }
2303
+ },
2304
+ {
2305
+ "description": "Fully enabled: developers may use this feature",
2306
+ "type": "object",
2307
+ "required": [
2308
+ "kind"
2309
+ ],
2310
+ "properties": {
2311
+ "kind": {
2312
+ "type": "string",
2313
+ "enum": [
2314
+ "enabled"
2315
+ ]
2316
+ }
2317
+ }
2318
+ },
2319
+ {
2320
+ "description": "Partially enabled: developers may only use this feature on the listed items (fragments, fields, types).",
2321
+ "type": "object",
2322
+ "required": [
2323
+ "allowlist",
2324
+ "kind"
2325
+ ],
2326
+ "properties": {
2327
+ "allowlist": {
2328
+ "type": "array",
2329
+ "items": {
2330
+ "type": "string"
2331
+ },
2332
+ "uniqueItems": true
2333
+ },
2334
+ "kind": {
2335
+ "type": "string",
2336
+ "enum": [
2337
+ "limited"
2338
+ ]
2339
+ }
2340
+ }
2341
+ },
2342
+ {
2343
+ "description": "Partially enabled: used for gradual rollout of the feature",
2344
+ "type": "object",
2345
+ "required": [
2346
+ "kind",
2347
+ "rollout"
2348
+ ],
2349
+ "properties": {
2350
+ "kind": {
2351
+ "type": "string",
2352
+ "enum": [
2353
+ "rollout"
2354
+ ]
2355
+ },
2356
+ "rollout": {
2357
+ "description": "A utility to enable gradual rollout of large codegen changes. Can be constructed as the Default which passes or a percentage between 0 and 100.",
2358
+ "type": [
2359
+ "integer",
2360
+ "null"
2361
+ ],
2362
+ "format": "uint8",
2363
+ "minimum": 0.0
2364
+ }
2365
+ }
2366
+ }
2367
+ ]
2368
+ },
2369
+ "allow_resolvers_in_mutation_response": {
2370
+ "description": "Relay Resolvers are a read-time feature that are not actually handled in our mutation APIs. We are in the process of removing any existing examples, but this flag is part of a process of removing any existing examples.",
1838
2371
  "default": {
1839
2372
  "kind": "disabled"
1840
2373
  },
@@ -1919,8 +2452,8 @@
1919
2452
  }
1920
2453
  ]
1921
2454
  },
1922
- "allow_required_in_mutation_response": {
1923
- "description": "@required with an action of THROW is read-time feature that is not compatible with our mutation APIs. We are in the process of removing any existing examples, but this flag is part of a process of removing any existing examples.",
2455
+ "compact_query_text": {
2456
+ "description": "Print queries in compact form",
1924
2457
  "default": {
1925
2458
  "kind": "disabled"
1926
2459
  },
@@ -2005,8 +2538,8 @@
2005
2538
  }
2006
2539
  ]
2007
2540
  },
2008
- "allow_resolver_non_nullable_return_type": {
2009
- "description": "Allow non-nullable return types from resolvers.",
2541
+ "disable_deduping_common_structures_in_artifacts": {
2542
+ "description": "Skip the optimization which extracts common JavaScript structures in generated artifacts into numbered variables and uses them by reference in each position in which they occur.\n\nThis optimization can make it hard to follow changes to generated code, so being able to disable it can be helpful for debugging.\n\nTo disable deduping for just one fragment or operation's generated artifacts:\n\n```json \"disable_deduping_common_structures_in_artifacts\": { { \"kind\": \"limited\", \"allowList\": [\"<operation_or_fragment_name>\"] } } ```",
2010
2543
  "default": {
2011
2544
  "kind": "disabled"
2012
2545
  },
@@ -2091,8 +2624,8 @@
2091
2624
  }
2092
2625
  ]
2093
2626
  },
2094
- "allow_resolvers_in_mutation_response": {
2095
- "description": "Relay Resolvers are a read-time feature that are not actually handled in our mutation APIs. We are in the process of removing any existing examples, but this flag is part of a process of removing any existing examples.",
2627
+ "disable_edge_type_name_validation_on_declerative_connection_directives": {
2628
+ "description": "Disable validation of the `edgeTypeName` argument on `@prependNode` and `@appendNode`.",
2096
2629
  "default": {
2097
2630
  "kind": "disabled"
2098
2631
  },
@@ -2177,8 +2710,8 @@
2177
2710
  }
2178
2711
  ]
2179
2712
  },
2180
- "compact_query_text": {
2181
- "description": "Print queries in compact form",
2713
+ "disable_full_argument_type_validation": {
2714
+ "description": "Disable full GraphQL argument type validation. Historically, we only applied argument type validation to the query that was actually going to be persisted and sent to the server. This meant that we didn't typecheck arguments passed to Relay Resolvers or Client Schema Extensions.\n\nWe also permitted an escape hatch of `uncheckedArguments_DEPRECATED` for defining fragment arguments which were not typechecked.\n\nWe no-longer support `uncheckedArguments_DEPRECATED`, and we typecheck both client and server arguments. This flag allows you to opt out of this new behavior to enable gradual adoption of the new validations.\n\nThis flag will be removed in a future version of Relay.",
2182
2715
  "default": {
2183
2716
  "kind": "disabled"
2184
2717
  },
@@ -2263,8 +2796,47 @@
2263
2796
  }
2264
2797
  ]
2265
2798
  },
2266
- "disable_edge_type_name_validation_on_declerative_connection_directives": {
2267
- "description": "Disable validation of the `edgeTypeName` argument on `@prependNode` and `@appendNode`.",
2799
+ "disable_resolver_reader_ast": {
2800
+ "description": "Mirror of `enable_resolver_normalization_ast` excludes resolver metadata from reader ast",
2801
+ "default": false,
2802
+ "type": "boolean"
2803
+ },
2804
+ "disable_schema_validation": {
2805
+ "description": "Disable validating the composite schema (server, client schema extensions, Relay Resolvers) after its built.",
2806
+ "default": false,
2807
+ "type": "boolean"
2808
+ },
2809
+ "enable_3d_branch_arg_generation": {
2810
+ "default": false,
2811
+ "type": "boolean"
2812
+ },
2813
+ "enable_exec_time_resolvers_directive": {
2814
+ "description": "Allow per-query opt in to normalization AST for Resolvers with exec_time_resolvers directive. In contrast to enable_resolver_normalization_ast, if this is true, a normalization AST can be generated for a query using the @exec_time_resolvers directive",
2815
+ "default": false,
2816
+ "type": "boolean"
2817
+ },
2818
+ "enable_fragment_argument_transform": {
2819
+ "description": "Add support for parsing and transforming variable definitions on fragment definitions and arguments on fragment spreads.",
2820
+ "default": false,
2821
+ "type": "boolean"
2822
+ },
2823
+ "enable_relay_resolver_mutations": {
2824
+ "description": "Allow relay resolvers to extend the Mutation type",
2825
+ "default": false,
2826
+ "type": "boolean"
2827
+ },
2828
+ "enable_resolver_normalization_ast": {
2829
+ "description": "Fully build the normalization AST for Resolvers",
2830
+ "default": false,
2831
+ "type": "boolean"
2832
+ },
2833
+ "enable_strict_custom_scalars": {
2834
+ "description": "Perform strict validations when custom scalar types are used",
2835
+ "default": false,
2836
+ "type": "boolean"
2837
+ },
2838
+ "enforce_fragment_alias_where_ambiguous": {
2839
+ "description": "Enforce that you must add `@alias` to a fragment if it may not match, due to type mismatch or `@skip`/`@include`",
2268
2840
  "default": {
2269
2841
  "kind": "disabled"
2270
2842
  },
@@ -2349,8 +2921,8 @@
2349
2921
  }
2350
2922
  ]
2351
2923
  },
2352
- "disable_full_argument_type_validation": {
2353
- "description": "Disable full GraphQL argument type validation. Historically, we only applied argument type validation to the query that was actually going to be persisted and sent to the server. This meant that we didn't typecheck arguments passed to Relay Resolvers or Client Schema Extensions.\n\nWe also permitted an escape hatch of `uncheckedArguments_DEPRECATED` for defining fragment arguments which were not typechecked.\n\nWe no-longer support `uncheckedArguments_DEPRECATED`, and we typecheck both client and server arguments. This flag allows you to opt out of this new behavior to enable gradual adoption of the new validations.\n\nThis flag will be removed in a future version of Relay.",
2924
+ "legacy_include_path_in_required_reader_nodes": {
2925
+ "description": "The `path` field in `@required` Reader AST nodes is no longer used. But removing them in one diff is too large of a change to ship at once.\n\nThis flag will allow us to use the rollout FeatureFlag to remove them across a number of diffs.",
2354
2926
  "default": {
2355
2927
  "kind": "disabled"
2356
2928
  },
@@ -2435,47 +3007,8 @@
2435
3007
  }
2436
3008
  ]
2437
3009
  },
2438
- "disable_resolver_reader_ast": {
2439
- "description": "Mirror of `enable_resolver_normalization_ast` excludes resolver metadata from reader ast",
2440
- "default": false,
2441
- "type": "boolean"
2442
- },
2443
- "disable_schema_validation": {
2444
- "description": "Disable validating the composite schema (server, client schema extensions, Relay Resolvers) after its built.",
2445
- "default": false,
2446
- "type": "boolean"
2447
- },
2448
- "enable_3d_branch_arg_generation": {
2449
- "default": false,
2450
- "type": "boolean"
2451
- },
2452
- "enable_exec_time_resolvers_directive": {
2453
- "description": "Allow per-query opt in to normalization AST for Resolvers with exec_time_resolvers directive. In contrast to enable_resolver_normalization_ast, if this is true, a normalization AST can be generated for a query using the @exec_time_resolvers directive",
2454
- "default": false,
2455
- "type": "boolean"
2456
- },
2457
- "enable_fragment_argument_transform": {
2458
- "description": "Add support for parsing and transforming variable definitions on fragment definitions and arguments on fragment spreads.",
2459
- "default": false,
2460
- "type": "boolean"
2461
- },
2462
- "enable_relay_resolver_mutations": {
2463
- "description": "Allow relay resolvers to extend the Mutation type",
2464
- "default": false,
2465
- "type": "boolean"
2466
- },
2467
- "enable_resolver_normalization_ast": {
2468
- "description": "Fully build the normalization AST for Resolvers",
2469
- "default": false,
2470
- "type": "boolean"
2471
- },
2472
- "enable_strict_custom_scalars": {
2473
- "description": "Perform strict validations when custom scalar types are used",
2474
- "default": false,
2475
- "type": "boolean"
2476
- },
2477
- "enforce_fragment_alias_where_ambiguous": {
2478
- "description": "Enforce that you must add `@alias` to a fragment if it may not match, due to type mismatch or `@skip`/`@include`",
3010
+ "no_inline": {
3011
+ "description": "For now, this also disallows fragments with variable definitions This also makes @module to opt in using @no_inline internally NOTE that the presence of a fragment in this list only controls whether a fragment is *allowed* to use @no_inline: whether the fragment is inlined or not depends on whether it actually uses that directive.",
2479
3012
  "default": {
2480
3013
  "kind": "disabled"
2481
3014
  },
@@ -2560,8 +3093,8 @@
2560
3093
  }
2561
3094
  ]
2562
3095
  },
2563
- "no_inline": {
2564
- "description": "For now, this also disallows fragments with variable definitions This also makes @module to opt in using @no_inline internally NOTE that the presence of a fragment in this list only controls whether a fragment is *allowed* to use @no_inline: whether the fragment is inlined or not depends on whether it actually uses that directive.",
3096
+ "omit_resolver_type_assertions_for_confirmed_types": {
3097
+ "description": "Skip generating resolver type assertions for resolvers which have been derived from TS/Flow types.",
2565
3098
  "default": {
2566
3099
  "kind": "disabled"
2567
3100
  },
@@ -3004,11 +3537,14 @@
3004
3537
  "description": "Set of project names.",
3005
3538
  "type": "array",
3006
3539
  "items": {
3540
+ "description": "Represents the name of a project in the Relay configuration.",
3007
3541
  "anyOf": [
3008
3542
  {
3543
+ "description": "No project name is specified.",
3009
3544
  "type": "null"
3010
3545
  },
3011
3546
  {
3547
+ "description": "A project name.\n\nThis should match one the keys in the `projects` map in the Relay compiler config.",
3012
3548
  "type": "string"
3013
3549
  }
3014
3550
  ]
@@ -3058,11 +3594,14 @@
3058
3594
  "default": null,
3059
3595
  "anyOf": [
3060
3596
  {
3597
+ "description": "Represents the name of a project in the Relay configuration.",
3061
3598
  "anyOf": [
3062
3599
  {
3600
+ "description": "No project name is specified.",
3063
3601
  "type": "null"
3064
3602
  },
3065
3603
  {
3604
+ "description": "A project name.\n\nThis should match one the keys in the `projects` map in the Relay compiler config.",
3066
3605
  "type": "string"
3067
3606
  }
3068
3607
  ]
@@ -3167,51 +3706,137 @@
3167
3706
  ]
3168
3707
  }
3169
3708
  ]
3170
- }
3171
- }
3172
- },
3173
- "eagerEsModules": {
3174
- "description": "This option enables emitting es modules artifacts.",
3175
- "default": false,
3176
- "type": "boolean"
3177
- },
3178
- "enumModuleSuffix": {
3179
- "title": "For Flow type generation",
3180
- "description": "When set, enum values are imported from a module with this suffix. For example, an enum Foo and this property set to \".test\" would be imported from \"Foo.test\". Note: an empty string is allowed and different from not setting the value, in the example above it would just import from \"Foo\".",
3181
- "type": [
3182
- "string",
3183
- "null"
3184
- ]
3185
- },
3186
- "excludesExtensions": {
3187
- "description": "Some projects may need to exclude files with certain extensions.",
3188
- "type": [
3189
- "array",
3190
- "null"
3191
- ],
3192
- "items": {
3193
- "type": "string"
3194
- }
3195
- },
3196
- "extra": {
3197
- "description": "A placeholder for allowing extra information in the config file",
3198
- "default": null
3199
- },
3200
- "extraArtifactsOutput": {
3201
- "description": "Some projects may need to generate extra artifacts. For those, we may need to provide an additional directory to put them. By default the will use `output` *if available",
3202
- "type": [
3203
- "string",
3204
- "null"
3205
- ]
3206
- },
3207
- "featureFlags": {
3208
- "default": null,
3209
- "type": [
3210
- "object",
3211
- "null"
3212
- ],
3213
- "properties": {
3214
- "actor_change_support": {
3709
+ }
3710
+ }
3711
+ },
3712
+ "eagerEsModules": {
3713
+ "description": "This option enables emitting es modules artifacts.",
3714
+ "default": false,
3715
+ "type": "boolean"
3716
+ },
3717
+ "enumModuleSuffix": {
3718
+ "title": "For Flow type generation",
3719
+ "description": "When set, enum values are imported from a module with this suffix. For example, an enum Foo and this property set to \".test\" would be imported from \"Foo.test\". Note: an empty string is allowed and different from not setting the value, in the example above it would just import from \"Foo\".",
3720
+ "type": [
3721
+ "string",
3722
+ "null"
3723
+ ]
3724
+ },
3725
+ "excludesExtensions": {
3726
+ "description": "Some projects may need to exclude files with certain extensions.",
3727
+ "type": [
3728
+ "array",
3729
+ "null"
3730
+ ],
3731
+ "items": {
3732
+ "type": "string"
3733
+ }
3734
+ },
3735
+ "extra": {
3736
+ "description": "A placeholder for allowing extra information in the config file",
3737
+ "default": null
3738
+ },
3739
+ "extraArtifactsOutput": {
3740
+ "description": "Some projects may need to generate extra artifacts. For those, we may need to provide an additional directory to put them. By default the will use `output` *if available",
3741
+ "type": [
3742
+ "string",
3743
+ "null"
3744
+ ]
3745
+ },
3746
+ "featureFlags": {
3747
+ "default": null,
3748
+ "type": [
3749
+ "object",
3750
+ "null"
3751
+ ],
3752
+ "properties": {
3753
+ "actor_change_support": {
3754
+ "default": {
3755
+ "kind": "disabled"
3756
+ },
3757
+ "oneOf": [
3758
+ {
3759
+ "description": "Fully disabled: developers may not use this feature",
3760
+ "type": "object",
3761
+ "required": [
3762
+ "kind"
3763
+ ],
3764
+ "properties": {
3765
+ "kind": {
3766
+ "type": "string",
3767
+ "enum": [
3768
+ "disabled"
3769
+ ]
3770
+ }
3771
+ }
3772
+ },
3773
+ {
3774
+ "description": "Fully enabled: developers may use this feature",
3775
+ "type": "object",
3776
+ "required": [
3777
+ "kind"
3778
+ ],
3779
+ "properties": {
3780
+ "kind": {
3781
+ "type": "string",
3782
+ "enum": [
3783
+ "enabled"
3784
+ ]
3785
+ }
3786
+ }
3787
+ },
3788
+ {
3789
+ "description": "Partially enabled: developers may only use this feature on the listed items (fragments, fields, types).",
3790
+ "type": "object",
3791
+ "required": [
3792
+ "allowlist",
3793
+ "kind"
3794
+ ],
3795
+ "properties": {
3796
+ "allowlist": {
3797
+ "type": "array",
3798
+ "items": {
3799
+ "type": "string"
3800
+ },
3801
+ "uniqueItems": true
3802
+ },
3803
+ "kind": {
3804
+ "type": "string",
3805
+ "enum": [
3806
+ "limited"
3807
+ ]
3808
+ }
3809
+ }
3810
+ },
3811
+ {
3812
+ "description": "Partially enabled: used for gradual rollout of the feature",
3813
+ "type": "object",
3814
+ "required": [
3815
+ "kind",
3816
+ "rollout"
3817
+ ],
3818
+ "properties": {
3819
+ "kind": {
3820
+ "type": "string",
3821
+ "enum": [
3822
+ "rollout"
3823
+ ]
3824
+ },
3825
+ "rollout": {
3826
+ "description": "A utility to enable gradual rollout of large codegen changes. Can be constructed as the Default which passes or a percentage between 0 and 100.",
3827
+ "type": [
3828
+ "integer",
3829
+ "null"
3830
+ ],
3831
+ "format": "uint8",
3832
+ "minimum": 0.0
3833
+ }
3834
+ }
3835
+ }
3836
+ ]
3837
+ },
3838
+ "allow_required_in_mutation_response": {
3839
+ "description": "@required with an action of THROW is read-time feature that is not compatible with our mutation APIs. We are in the process of removing any existing examples, but this flag is part of a process of removing any existing examples.",
3215
3840
  "default": {
3216
3841
  "kind": "disabled"
3217
3842
  },
@@ -3296,8 +3921,8 @@
3296
3921
  }
3297
3922
  ]
3298
3923
  },
3299
- "allow_required_in_mutation_response": {
3300
- "description": "@required with an action of THROW is read-time feature that is not compatible with our mutation APIs. We are in the process of removing any existing examples, but this flag is part of a process of removing any existing examples.",
3924
+ "allow_resolver_non_nullable_return_type": {
3925
+ "description": "Allow non-nullable return types from resolvers.",
3301
3926
  "default": {
3302
3927
  "kind": "disabled"
3303
3928
  },
@@ -3382,8 +4007,8 @@
3382
4007
  }
3383
4008
  ]
3384
4009
  },
3385
- "allow_resolver_non_nullable_return_type": {
3386
- "description": "Allow non-nullable return types from resolvers.",
4010
+ "allow_resolvers_in_mutation_response": {
4011
+ "description": "Relay Resolvers are a read-time feature that are not actually handled in our mutation APIs. We are in the process of removing any existing examples, but this flag is part of a process of removing any existing examples.",
3387
4012
  "default": {
3388
4013
  "kind": "disabled"
3389
4014
  },
@@ -3468,8 +4093,8 @@
3468
4093
  }
3469
4094
  ]
3470
4095
  },
3471
- "allow_resolvers_in_mutation_response": {
3472
- "description": "Relay Resolvers are a read-time feature that are not actually handled in our mutation APIs. We are in the process of removing any existing examples, but this flag is part of a process of removing any existing examples.",
4096
+ "compact_query_text": {
4097
+ "description": "Print queries in compact form",
3473
4098
  "default": {
3474
4099
  "kind": "disabled"
3475
4100
  },
@@ -3554,8 +4179,8 @@
3554
4179
  }
3555
4180
  ]
3556
4181
  },
3557
- "compact_query_text": {
3558
- "description": "Print queries in compact form",
4182
+ "disable_deduping_common_structures_in_artifacts": {
4183
+ "description": "Skip the optimization which extracts common JavaScript structures in generated artifacts into numbered variables and uses them by reference in each position in which they occur.\n\nThis optimization can make it hard to follow changes to generated code, so being able to disable it can be helpful for debugging.\n\nTo disable deduping for just one fragment or operation's generated artifacts:\n\n```json \"disable_deduping_common_structures_in_artifacts\": { { \"kind\": \"limited\", \"allowList\": [\"<operation_or_fragment_name>\"] } } ```",
3559
4184
  "default": {
3560
4185
  "kind": "disabled"
3561
4186
  },
@@ -3937,6 +4562,92 @@
3937
4562
  }
3938
4563
  ]
3939
4564
  },
4565
+ "legacy_include_path_in_required_reader_nodes": {
4566
+ "description": "The `path` field in `@required` Reader AST nodes is no longer used. But removing them in one diff is too large of a change to ship at once.\n\nThis flag will allow us to use the rollout FeatureFlag to remove them across a number of diffs.",
4567
+ "default": {
4568
+ "kind": "disabled"
4569
+ },
4570
+ "oneOf": [
4571
+ {
4572
+ "description": "Fully disabled: developers may not use this feature",
4573
+ "type": "object",
4574
+ "required": [
4575
+ "kind"
4576
+ ],
4577
+ "properties": {
4578
+ "kind": {
4579
+ "type": "string",
4580
+ "enum": [
4581
+ "disabled"
4582
+ ]
4583
+ }
4584
+ }
4585
+ },
4586
+ {
4587
+ "description": "Fully enabled: developers may use this feature",
4588
+ "type": "object",
4589
+ "required": [
4590
+ "kind"
4591
+ ],
4592
+ "properties": {
4593
+ "kind": {
4594
+ "type": "string",
4595
+ "enum": [
4596
+ "enabled"
4597
+ ]
4598
+ }
4599
+ }
4600
+ },
4601
+ {
4602
+ "description": "Partially enabled: developers may only use this feature on the listed items (fragments, fields, types).",
4603
+ "type": "object",
4604
+ "required": [
4605
+ "allowlist",
4606
+ "kind"
4607
+ ],
4608
+ "properties": {
4609
+ "allowlist": {
4610
+ "type": "array",
4611
+ "items": {
4612
+ "type": "string"
4613
+ },
4614
+ "uniqueItems": true
4615
+ },
4616
+ "kind": {
4617
+ "type": "string",
4618
+ "enum": [
4619
+ "limited"
4620
+ ]
4621
+ }
4622
+ }
4623
+ },
4624
+ {
4625
+ "description": "Partially enabled: used for gradual rollout of the feature",
4626
+ "type": "object",
4627
+ "required": [
4628
+ "kind",
4629
+ "rollout"
4630
+ ],
4631
+ "properties": {
4632
+ "kind": {
4633
+ "type": "string",
4634
+ "enum": [
4635
+ "rollout"
4636
+ ]
4637
+ },
4638
+ "rollout": {
4639
+ "description": "A utility to enable gradual rollout of large codegen changes. Can be constructed as the Default which passes or a percentage between 0 and 100.",
4640
+ "type": [
4641
+ "integer",
4642
+ "null"
4643
+ ],
4644
+ "format": "uint8",
4645
+ "minimum": 0.0
4646
+ }
4647
+ }
4648
+ }
4649
+ ]
4650
+ },
3940
4651
  "no_inline": {
3941
4652
  "description": "For now, this also disallows fragments with variable definitions This also makes @module to opt in using @no_inline internally NOTE that the presence of a fragment in this list only controls whether a fragment is *allowed* to use @no_inline: whether the fragment is inlined or not depends on whether it actually uses that directive.",
3942
4653
  "default": {
@@ -4023,6 +4734,92 @@
4023
4734
  }
4024
4735
  ]
4025
4736
  },
4737
+ "omit_resolver_type_assertions_for_confirmed_types": {
4738
+ "description": "Skip generating resolver type assertions for resolvers which have been derived from TS/Flow types.",
4739
+ "default": {
4740
+ "kind": "disabled"
4741
+ },
4742
+ "oneOf": [
4743
+ {
4744
+ "description": "Fully disabled: developers may not use this feature",
4745
+ "type": "object",
4746
+ "required": [
4747
+ "kind"
4748
+ ],
4749
+ "properties": {
4750
+ "kind": {
4751
+ "type": "string",
4752
+ "enum": [
4753
+ "disabled"
4754
+ ]
4755
+ }
4756
+ }
4757
+ },
4758
+ {
4759
+ "description": "Fully enabled: developers may use this feature",
4760
+ "type": "object",
4761
+ "required": [
4762
+ "kind"
4763
+ ],
4764
+ "properties": {
4765
+ "kind": {
4766
+ "type": "string",
4767
+ "enum": [
4768
+ "enabled"
4769
+ ]
4770
+ }
4771
+ }
4772
+ },
4773
+ {
4774
+ "description": "Partially enabled: developers may only use this feature on the listed items (fragments, fields, types).",
4775
+ "type": "object",
4776
+ "required": [
4777
+ "allowlist",
4778
+ "kind"
4779
+ ],
4780
+ "properties": {
4781
+ "allowlist": {
4782
+ "type": "array",
4783
+ "items": {
4784
+ "type": "string"
4785
+ },
4786
+ "uniqueItems": true
4787
+ },
4788
+ "kind": {
4789
+ "type": "string",
4790
+ "enum": [
4791
+ "limited"
4792
+ ]
4793
+ }
4794
+ }
4795
+ },
4796
+ {
4797
+ "description": "Partially enabled: used for gradual rollout of the feature",
4798
+ "type": "object",
4799
+ "required": [
4800
+ "kind",
4801
+ "rollout"
4802
+ ],
4803
+ "properties": {
4804
+ "kind": {
4805
+ "type": "string",
4806
+ "enum": [
4807
+ "rollout"
4808
+ ]
4809
+ },
4810
+ "rollout": {
4811
+ "description": "A utility to enable gradual rollout of large codegen changes. Can be constructed as the Default which passes or a percentage between 0 and 100.",
4812
+ "type": [
4813
+ "integer",
4814
+ "null"
4815
+ ],
4816
+ "format": "uint8",
4817
+ "minimum": 0.0
4818
+ }
4819
+ }
4820
+ }
4821
+ ]
4822
+ },
4026
4823
  "prefer_fetchable_in_refetch_queries": {
4027
4824
  "description": "Feature flag to prefer `fetch_MyType()` generatior over `node()` query generator in @refetchable transform",
4028
4825
  "default": false,
@@ -4496,14 +5293,17 @@
4496
5293
  "description": "If this option is set, the compiler will persist queries using this config.",
4497
5294
  "anyOf": [
4498
5295
  {
5296
+ "description": "Configuration for how the Relay Compiler should persist GraphQL queries.",
4499
5297
  "anyOf": [
4500
5298
  {
5299
+ "description": "This variant represents a remote persistence configuration, where GraphQL queries are sent to a remote endpoint for persistence.",
4501
5300
  "type": "object",
4502
5301
  "required": [
4503
5302
  "url"
4504
5303
  ],
4505
5304
  "properties": {
4506
5305
  "concurrency": {
5306
+ "description": "Number of concurrent requests that can be made to the server.",
4507
5307
  "default": null,
4508
5308
  "type": [
4509
5309
  "integer",
@@ -4513,7 +5313,7 @@
4513
5313
  "minimum": 0.0
4514
5314
  },
4515
5315
  "headers": {
4516
- "description": "Additional headers to send",
5316
+ "description": "Additional headers to include in the POST request.",
4517
5317
  "default": {},
4518
5318
  "type": "object",
4519
5319
  "additionalProperties": {
@@ -4521,11 +5321,12 @@
4521
5321
  }
4522
5322
  },
4523
5323
  "includeQueryText": {
5324
+ "description": "Whether to include the query text in the persisted document.",
4524
5325
  "default": false,
4525
5326
  "type": "boolean"
4526
5327
  },
4527
5328
  "params": {
4528
- "description": "The document will be in a POST parameter `text`. This map can contain additional parameters to send.",
5329
+ "description": "Additional parameters to include in the POST request.\n\nThe main document will be in a POST parameter `text`. This map can contain additional parameters to send.",
4529
5330
  "default": {},
4530
5331
  "type": "object",
4531
5332
  "additionalProperties": {
@@ -4533,19 +5334,21 @@
4533
5334
  }
4534
5335
  },
4535
5336
  "url": {
4536
- "description": "URL to send a POST request to to persist.",
5337
+ "description": "URL that the document should be persisted to via a POST request.",
4537
5338
  "type": "string"
4538
5339
  }
4539
5340
  },
4540
5341
  "additionalProperties": false
4541
5342
  },
4542
5343
  {
5344
+ "description": "This variant represents a local persistence configuration, where GraphQL queries are persisted to a local JSON file.\n\nWhen this variant is used, the compiler will attempt to read the local file as a hash map, add new queries to the map, and then serialize and write the resulting map to the configured path.",
4543
5345
  "type": "object",
4544
5346
  "required": [
4545
5347
  "file"
4546
5348
  ],
4547
5349
  "properties": {
4548
5350
  "algorithm": {
5351
+ "description": "The algorithm to use for hashing the operation text.",
4549
5352
  "default": "MD5",
4550
5353
  "type": "string",
4551
5354
  "enum": [
@@ -4555,9 +5358,11 @@
4555
5358
  ]
4556
5359
  },
4557
5360
  "file": {
5361
+ "description": "The file path where the persisted documents will be written.",
4558
5362
  "type": "string"
4559
5363
  },
4560
5364
  "include_query_text": {
5365
+ "description": "Whether to include the query text in the persisted document.",
4561
5366
  "default": false,
4562
5367
  "type": "boolean"
4563
5368
  }
@@ -4832,6 +5637,14 @@
4832
5637
  "type": "string"
4833
5638
  }
4834
5639
  },
5640
+ "schemaName": {
5641
+ "description": "Schema name, if differs from project name. If schema name is unset, the project name will be used as schema name.",
5642
+ "default": null,
5643
+ "type": [
5644
+ "string",
5645
+ "null"
5646
+ ]
5647
+ },
4835
5648
  "shardOutput": {
4836
5649
  "description": "If `output` is provided and `shard_output` is `true`, shard the files by putting them under `{output_dir}/{source_relative_path}`",
4837
5650
  "default": false,
@@ -4930,11 +5743,14 @@
4930
5743
  "additionalProperties": {
4931
5744
  "anyOf": [
4932
5745
  {
5746
+ "description": "Represents the name of a project in the Relay configuration.",
4933
5747
  "anyOf": [
4934
5748
  {
5749
+ "description": "No project name is specified.",
4935
5750
  "type": "null"
4936
5751
  },
4937
5752
  {
5753
+ "description": "A project name.\n\nThis should match one the keys in the `projects` map in the Relay compiler config.",
4938
5754
  "type": "string"
4939
5755
  }
4940
5756
  ]
@@ -4942,11 +5758,14 @@
4942
5758
  {
4943
5759
  "type": "array",
4944
5760
  "items": {
5761
+ "description": "Represents the name of a project in the Relay configuration.",
4945
5762
  "anyOf": [
4946
5763
  {
5764
+ "description": "No project name is specified.",
4947
5765
  "type": "null"
4948
5766
  },
4949
5767
  {
5768
+ "description": "A project name.\n\nThis should match one the keys in the `projects` map in the Relay compiler config.",
4950
5769
  "type": "string"
4951
5770
  }
4952
5771
  ]