relay-compiler 20.0.0 → 20.1.1
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.
- package/linux-arm64/relay +0 -0
- package/linux-x64/relay +0 -0
- package/macos-arm64/relay +0 -0
- package/macos-x64/relay +0 -0
- package/package.json +1 -1
- package/relay-compiler-config-schema.json +462 -669
- package/relay-extensions.graphql +1 -0
- package/win-x64/relay.exe +0 -0
@@ -1,60 +1,49 @@
|
|
1
1
|
{
|
2
|
-
"$schema": "
|
2
|
+
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
3
3
|
"title": "ConfigFile",
|
4
|
-
"description": "Relay's configuration file. Supports a single project config for simple use
|
4
|
+
"description": "Relay's configuration file. Supports a single project config for simple use\ncases and a multi-project config for cases where multiple projects live in\nthe same repository.\n\nIn general, start with the SingleProjectConfigFile.",
|
5
5
|
"anyOf": [
|
6
6
|
{
|
7
|
-
"description": "Base case configuration (mostly of OSS) where the project
|
8
|
-
"
|
9
|
-
{
|
10
|
-
"$ref": "#/definitions/SingleProjectConfigFile"
|
11
|
-
}
|
12
|
-
]
|
7
|
+
"description": "Base case configuration (mostly of OSS) where the project\nhave single schema, and single source directory",
|
8
|
+
"$ref": "#/$defs/SingleProjectConfigFile"
|
13
9
|
},
|
14
10
|
{
|
15
|
-
"description": "Relay can support multiple projects with multiple schemas
|
16
|
-
"
|
17
|
-
{
|
18
|
-
"$ref": "#/definitions/MultiProjectConfigFile"
|
19
|
-
}
|
20
|
-
]
|
11
|
+
"description": "Relay can support multiple projects with multiple schemas\nand different options (output, typegen, etc...).\nThis MultiProjectConfigFile is responsible for configuring\nthese type of projects (complex)",
|
12
|
+
"$ref": "#/$defs/MultiProjectConfigFile"
|
21
13
|
}
|
22
14
|
],
|
23
|
-
"
|
15
|
+
"$defs": {
|
24
16
|
"ArgumentName": {
|
25
|
-
"$ref": "
|
17
|
+
"$ref": "#/$defs/StringKey"
|
26
18
|
},
|
27
19
|
"ConfigFileProject": {
|
28
20
|
"type": "object",
|
29
|
-
"required": [
|
30
|
-
"language"
|
31
|
-
],
|
32
21
|
"properties": {
|
33
22
|
"base": {
|
34
|
-
"description": "If a base project is set, the documents of that project can be
|
35
|
-
"default": null,
|
23
|
+
"description": "If a base project is set, the documents of that project can be\nreferenced, but won't produce output artifacts.\nExtensions from the base project will be added as well and the schema\nof the base project should be a subset of the schema of this project.",
|
36
24
|
"anyOf": [
|
37
25
|
{
|
38
|
-
"$ref": "
|
26
|
+
"$ref": "#/$defs/ProjectName"
|
39
27
|
},
|
40
28
|
{
|
41
29
|
"type": "null"
|
42
30
|
}
|
43
|
-
]
|
31
|
+
],
|
32
|
+
"default": null
|
44
33
|
},
|
45
34
|
"codegenCommand": {
|
46
|
-
"description": "Name of the command that runs the relay compiler. This will be added at
|
47
|
-
"default": null,
|
35
|
+
"description": "Name of the command that runs the relay compiler. This will be added at\nthe top of generated code to let readers know how to regenerate the file.",
|
48
36
|
"type": [
|
49
37
|
"string",
|
50
38
|
"null"
|
51
|
-
]
|
39
|
+
],
|
40
|
+
"default": null
|
52
41
|
},
|
53
42
|
"customErrorType": {
|
54
|
-
"description": "A map from GraphQL error name to import path, example
|
43
|
+
"description": "A map from GraphQL error name to import path, example:\n{\"name:: \"MyErrorName\", \"path\": \"../src/MyError\"}",
|
55
44
|
"anyOf": [
|
56
45
|
{
|
57
|
-
"$ref": "
|
46
|
+
"$ref": "#/$defs/CustomTypeImport"
|
58
47
|
},
|
59
48
|
{
|
60
49
|
"type": "null"
|
@@ -62,32 +51,28 @@
|
|
62
51
|
]
|
63
52
|
},
|
64
53
|
"customScalarTypes": {
|
65
|
-
"description": "A map from GraphQL scalar types to a custom JS type, example
|
66
|
-
"default": {},
|
54
|
+
"description": "A map from GraphQL scalar types to a custom JS type, example:\n{ \"Url\": \"String\" }\n{ \"Url\": {\"name:: \"MyURL\", \"path\": \"../src/MyUrlTypes\"} }",
|
67
55
|
"type": "object",
|
68
56
|
"additionalProperties": {
|
69
|
-
"$ref": "
|
70
|
-
}
|
57
|
+
"$ref": "#/$defs/CustomType"
|
58
|
+
},
|
59
|
+
"default": {}
|
71
60
|
},
|
72
61
|
"diagnosticReportConfig": {
|
73
|
-
"description": "Threshold for diagnostics to be critical to the compiler's execution
|
62
|
+
"description": "Threshold for diagnostics to be critical to the compiler's execution.\nAll diagnostic with severities at and below this level will cause the\ncompiler to fatally exit.",
|
63
|
+
"$ref": "#/$defs/DiagnosticReportConfig",
|
74
64
|
"default": {
|
75
65
|
"criticalLevel": "error"
|
76
|
-
}
|
77
|
-
"allOf": [
|
78
|
-
{
|
79
|
-
"$ref": "#/definitions/DiagnosticReportConfig"
|
80
|
-
}
|
81
|
-
]
|
66
|
+
}
|
82
67
|
},
|
83
68
|
"eagerEsModules": {
|
84
|
-
"description": "This option enables opting out of emitting es modules artifacts. When
|
85
|
-
"
|
86
|
-
"
|
69
|
+
"description": "This option enables opting out of emitting es modules artifacts. When\nset to false, Relay will emit CommonJS modules.",
|
70
|
+
"type": "boolean",
|
71
|
+
"default": true
|
87
72
|
},
|
88
73
|
"enumModuleSuffix": {
|
89
74
|
"title": "For Flow type generation",
|
90
|
-
"description": "When set, enum values are imported from a module with this suffix
|
75
|
+
"description": "When set, enum values are imported from a module with this suffix.\nFor example, an enum Foo and this property set to \".test\" would be\nimported from \"Foo.test\".\nNote: an empty string is allowed and different from not setting the\nvalue, in the example above it would just import from \"Foo\".",
|
91
76
|
"type": [
|
92
77
|
"string",
|
93
78
|
"null"
|
@@ -108,81 +93,69 @@
|
|
108
93
|
"default": null
|
109
94
|
},
|
110
95
|
"extraArtifactsOutput": {
|
111
|
-
"description": "Some projects may need to generate extra artifacts. For those, we may
|
96
|
+
"description": "Some projects may need to generate extra artifacts. For those, we may\nneed to provide an additional directory to put them.\nBy default the will use `output` *if available",
|
112
97
|
"type": [
|
113
98
|
"string",
|
114
99
|
"null"
|
115
100
|
]
|
116
101
|
},
|
117
102
|
"featureFlags": {
|
118
|
-
"description": "Enable and disable experimental or legacy behaviors
|
119
|
-
"default": null,
|
103
|
+
"description": "Enable and disable experimental or legacy behaviors.\nWARNING! These are not stable and may change at any time.",
|
120
104
|
"anyOf": [
|
121
105
|
{
|
122
|
-
"$ref": "
|
106
|
+
"$ref": "#/$defs/FeatureFlags"
|
123
107
|
},
|
124
108
|
{
|
125
109
|
"type": "null"
|
126
110
|
}
|
127
|
-
]
|
111
|
+
],
|
112
|
+
"default": null
|
128
113
|
},
|
129
114
|
"jsModuleFormat": {
|
130
115
|
"description": "Import/export style to use in generated JavaScript modules.",
|
131
|
-
"
|
132
|
-
"
|
133
|
-
{
|
134
|
-
"$ref": "#/definitions/JsModuleFormat"
|
135
|
-
}
|
136
|
-
]
|
116
|
+
"$ref": "#/$defs/JsModuleFormat",
|
117
|
+
"default": "commonjs"
|
137
118
|
},
|
138
119
|
"language": {
|
139
120
|
"description": "The desired output language, \"flow\" or \"typescript\".",
|
140
|
-
"
|
141
|
-
{
|
142
|
-
"$ref": "#/definitions/TypegenLanguage"
|
143
|
-
}
|
144
|
-
]
|
121
|
+
"$ref": "#/$defs/TypegenLanguage"
|
145
122
|
},
|
146
123
|
"moduleImportConfig": {
|
147
124
|
"description": "Configuration for the @module GraphQL directive.",
|
125
|
+
"$ref": "#/$defs/ModuleImportConfig",
|
148
126
|
"default": {
|
149
127
|
"dynamicModuleProvider": null,
|
150
128
|
"operationModuleProvider": null,
|
151
129
|
"surface": null
|
152
|
-
}
|
153
|
-
"allOf": [
|
154
|
-
{
|
155
|
-
"$ref": "#/definitions/ModuleImportConfig"
|
156
|
-
}
|
157
|
-
]
|
130
|
+
}
|
158
131
|
},
|
159
132
|
"noFutureProofEnums": {
|
160
|
-
"description": "This option controls whether or not a catch-all entry is added to enum type definitions
|
161
|
-
"
|
162
|
-
"
|
133
|
+
"description": "This option controls whether or not a catch-all entry is added to enum type definitions\nfor values that may be added in the future. Enabling this means you will have to update\nyour application whenever the GraphQL server schema adds new enum values to prevent it\nfrom breaking.",
|
134
|
+
"type": "boolean",
|
135
|
+
"default": false
|
163
136
|
},
|
164
137
|
"optionalInputFields": {
|
165
138
|
"title": "For Flow type generation",
|
166
|
-
"description": "When set, generated input types will have the listed fields optional
|
167
|
-
"default": [],
|
139
|
+
"description": "When set, generated input types will have the listed fields optional\neven if the schema defines them as required.",
|
168
140
|
"type": "array",
|
141
|
+
"default": [],
|
169
142
|
"items": {
|
170
|
-
"$ref": "
|
143
|
+
"$ref": "#/$defs/StringKey"
|
171
144
|
}
|
172
145
|
},
|
173
146
|
"output": {
|
174
|
-
"description": "A project without an output directory will put the generated files in
|
175
|
-
"default": null,
|
147
|
+
"description": "A project without an output directory will put the generated files in\na __generated__ directory next to the input file.\nAll files in these directories should be generated by the Relay\ncompiler, so that the compiler can cleanup extra files.",
|
176
148
|
"type": [
|
177
149
|
"string",
|
178
150
|
"null"
|
179
|
-
]
|
151
|
+
],
|
152
|
+
"default": null
|
180
153
|
},
|
181
154
|
"persist": {
|
182
|
-
"description": "If this option is set, the compiler will persist queries using this
|
155
|
+
"description": "If this option is set, the compiler will persist queries using this\nconfig.",
|
183
156
|
"anyOf": [
|
184
157
|
{
|
185
|
-
"$ref": "
|
158
|
+
"$ref": "#/$defs/PersistConfig"
|
186
159
|
},
|
187
160
|
{
|
188
161
|
"type": "null"
|
@@ -190,49 +163,45 @@
|
|
190
163
|
]
|
191
164
|
},
|
192
165
|
"relativizeJsModulePaths": {
|
193
|
-
"description": "Whether to treat all JS module names as relative to './' (true) or not
|
194
|
-
"
|
195
|
-
"
|
166
|
+
"description": "Whether to treat all JS module names as relative to './' (true) or not.\ndefault: true",
|
167
|
+
"type": "boolean",
|
168
|
+
"default": true
|
196
169
|
},
|
197
170
|
"requireCustomScalarTypes": {
|
198
|
-
"description": "Require all GraphQL scalar types mapping to be defined, will throw
|
199
|
-
"
|
200
|
-
"
|
171
|
+
"description": "Require all GraphQL scalar types mapping to be defined, will throw\nif a GraphQL scalar type doesn't have a JS type",
|
172
|
+
"type": "boolean",
|
173
|
+
"default": false
|
201
174
|
},
|
202
175
|
"resolverContextType": {
|
203
176
|
"description": "Indicates the type to import and use as the context for Relay Resolvers.",
|
204
|
-
"default": null,
|
205
177
|
"anyOf": [
|
206
178
|
{
|
207
|
-
"$ref": "
|
179
|
+
"$ref": "#/$defs/ResolverContextTypeInput"
|
208
180
|
},
|
209
181
|
{
|
210
182
|
"type": "null"
|
211
183
|
}
|
212
|
-
]
|
184
|
+
],
|
185
|
+
"default": null
|
213
186
|
},
|
214
187
|
"resolversSchemaModule": {
|
215
|
-
"default": null,
|
216
188
|
"anyOf": [
|
217
189
|
{
|
218
|
-
"$ref": "
|
190
|
+
"$ref": "#/$defs/ResolversSchemaModuleConfig"
|
219
191
|
},
|
220
192
|
{
|
221
193
|
"type": "null"
|
222
194
|
}
|
223
|
-
]
|
195
|
+
],
|
196
|
+
"default": null
|
224
197
|
},
|
225
198
|
"rollout": {
|
226
|
-
"description": "A generic rollout state for larger codegen changes. The default is to
|
227
|
-
"
|
228
|
-
"
|
229
|
-
{
|
230
|
-
"$ref": "#/definitions/Rollout"
|
231
|
-
}
|
232
|
-
]
|
199
|
+
"description": "A generic rollout state for larger codegen changes. The default is to\npass, otherwise it should be a number between 0 and 100 as a percentage.",
|
200
|
+
"$ref": "#/$defs/Rollout",
|
201
|
+
"default": null
|
233
202
|
},
|
234
203
|
"schema": {
|
235
|
-
"description": "Path to the schema.graphql or a directory containing a schema broken up
|
204
|
+
"description": "Path to the schema.graphql or a directory containing a schema broken up\nin multiple *.graphql files.\nExactly 1 of these options needs to be defined.",
|
236
205
|
"type": [
|
237
206
|
"string",
|
238
207
|
"null"
|
@@ -240,6 +209,7 @@
|
|
240
209
|
},
|
241
210
|
"schemaConfig": {
|
242
211
|
"description": "Extra configuration for the GraphQL schema itself.",
|
212
|
+
"$ref": "#/$defs/SchemaConfig",
|
243
213
|
"default": {
|
244
214
|
"connectionInterface": {
|
245
215
|
"cursor": "cursor",
|
@@ -264,12 +234,7 @@
|
|
264
234
|
"nodeInterfaceIdVariableName": "id",
|
265
235
|
"nonNodeIdFields": null,
|
266
236
|
"unselectableDirectiveName": "unselectable"
|
267
|
-
}
|
268
|
-
"allOf": [
|
269
|
-
{
|
270
|
-
"$ref": "#/definitions/SchemaConfig"
|
271
|
-
}
|
272
|
-
]
|
237
|
+
}
|
273
238
|
},
|
274
239
|
"schemaDir": {
|
275
240
|
"type": [
|
@@ -279,190 +244,181 @@
|
|
279
244
|
},
|
280
245
|
"schemaExtensions": {
|
281
246
|
"description": "Directory containing *.graphql files with schema extensions.",
|
282
|
-
"default": [],
|
283
247
|
"type": "array",
|
248
|
+
"default": [],
|
284
249
|
"items": {
|
285
250
|
"type": "string"
|
286
251
|
}
|
287
252
|
},
|
288
253
|
"schemaName": {
|
289
|
-
"description": "Schema name, if differs from project name
|
290
|
-
"default": null,
|
254
|
+
"description": "Schema name, if differs from project name.\nIf schema name is unset, the project name will be used as schema name.",
|
291
255
|
"anyOf": [
|
292
256
|
{
|
293
|
-
"$ref": "
|
257
|
+
"$ref": "#/$defs/StringKey"
|
294
258
|
},
|
295
259
|
{
|
296
260
|
"type": "null"
|
297
261
|
}
|
298
|
-
]
|
262
|
+
],
|
263
|
+
"default": null
|
299
264
|
},
|
300
265
|
"shardOutput": {
|
301
|
-
"description": "If `output` is provided and `shard_output` is `true`, shard the files
|
302
|
-
"
|
303
|
-
"
|
266
|
+
"description": "If `output` is provided and `shard_output` is `true`, shard the files\nby putting them under `{output_dir}/{source_relative_path}`",
|
267
|
+
"type": "boolean",
|
268
|
+
"default": false
|
304
269
|
},
|
305
270
|
"shardStripRegex": {
|
306
271
|
"description": "Regex to match and strip parts of the `source_relative_path`",
|
307
|
-
"default": null,
|
308
272
|
"type": [
|
309
273
|
"string",
|
310
274
|
"null"
|
311
|
-
]
|
275
|
+
],
|
276
|
+
"default": null
|
312
277
|
},
|
313
278
|
"testPathRegex": {
|
314
|
-
"description": "Optional regex to restrict @relay_test_operation to directories matching
|
315
|
-
"default": null,
|
279
|
+
"description": "Optional regex to restrict @relay_test_operation to directories matching\nthis regex. Defaults to no limitations.",
|
316
280
|
"type": [
|
317
281
|
"string",
|
318
282
|
"null"
|
319
|
-
]
|
283
|
+
],
|
284
|
+
"default": null
|
320
285
|
},
|
321
286
|
"typescriptExcludeUndefinedFromNullableUnion": {
|
322
|
-
"description": "Keep the previous compiler behavior by outputting an union
|
323
|
-
"
|
324
|
-
"
|
287
|
+
"description": "Keep the previous compiler behavior by outputting an union\nof the raw type and null, and not the **correct** behavior\nof an union with the raw type, null and undefined.",
|
288
|
+
"type": "boolean",
|
289
|
+
"default": false
|
325
290
|
},
|
326
291
|
"useImportTypeSyntax": {
|
327
292
|
"title": "For Typescript type generation",
|
328
|
-
"description": "Whether to use the `import type` syntax introduced in Typescript
|
329
|
-
"
|
330
|
-
"
|
293
|
+
"description": "Whether to use the `import type` syntax introduced in Typescript\nversion 3.8. This will prevent warnings from `importsNotUsedAsValues`.",
|
294
|
+
"type": "boolean",
|
295
|
+
"default": false
|
331
296
|
},
|
332
297
|
"variableNamesComment": {
|
333
298
|
"description": "Generates a `// @relayVariables name1 name2` header in generated operation files",
|
334
|
-
"
|
335
|
-
"
|
299
|
+
"type": "boolean",
|
300
|
+
"default": false
|
336
301
|
}
|
337
302
|
},
|
338
|
-
"additionalProperties": false
|
303
|
+
"additionalProperties": false,
|
304
|
+
"required": [
|
305
|
+
"language"
|
306
|
+
]
|
339
307
|
},
|
340
308
|
"ConnectionInterface": {
|
341
309
|
"description": "Configuration where Relay should expect some fields in the schema.",
|
342
310
|
"type": "object",
|
343
|
-
"required": [
|
344
|
-
"cursor",
|
345
|
-
"edges",
|
346
|
-
"endCursor",
|
347
|
-
"hasNextPage",
|
348
|
-
"hasPreviousPage",
|
349
|
-
"node",
|
350
|
-
"pageInfo",
|
351
|
-
"startCursor"
|
352
|
-
],
|
353
311
|
"properties": {
|
354
312
|
"cursor": {
|
355
|
-
"$ref": "
|
313
|
+
"$ref": "#/$defs/StringKey"
|
356
314
|
},
|
357
315
|
"edges": {
|
358
|
-
"$ref": "
|
316
|
+
"$ref": "#/$defs/StringKey"
|
359
317
|
},
|
360
318
|
"endCursor": {
|
361
|
-
"$ref": "
|
319
|
+
"$ref": "#/$defs/StringKey"
|
362
320
|
},
|
363
321
|
"hasNextPage": {
|
364
|
-
"$ref": "
|
322
|
+
"$ref": "#/$defs/StringKey"
|
365
323
|
},
|
366
324
|
"hasPreviousPage": {
|
367
|
-
"$ref": "
|
325
|
+
"$ref": "#/$defs/StringKey"
|
368
326
|
},
|
369
327
|
"node": {
|
370
|
-
"$ref": "
|
328
|
+
"$ref": "#/$defs/StringKey"
|
371
329
|
},
|
372
330
|
"pageInfo": {
|
373
|
-
"$ref": "
|
331
|
+
"$ref": "#/$defs/StringKey"
|
374
332
|
},
|
375
333
|
"startCursor": {
|
376
|
-
"$ref": "
|
334
|
+
"$ref": "#/$defs/StringKey"
|
377
335
|
}
|
378
336
|
},
|
379
|
-
"additionalProperties": false
|
337
|
+
"additionalProperties": false,
|
338
|
+
"required": [
|
339
|
+
"cursor",
|
340
|
+
"edges",
|
341
|
+
"endCursor",
|
342
|
+
"hasNextPage",
|
343
|
+
"hasPreviousPage",
|
344
|
+
"node",
|
345
|
+
"pageInfo",
|
346
|
+
"startCursor"
|
347
|
+
]
|
380
348
|
},
|
381
349
|
"CustomType": {
|
382
|
-
"description": "Defines a custom GraphQL
|
350
|
+
"description": "Defines a custom GraphQL\ndescrbing a custom scalar.",
|
383
351
|
"anyOf": [
|
384
352
|
{
|
385
353
|
"description": "A string representing the name of a custom type. e.g. \"string\" or \"number\"",
|
386
|
-
"
|
387
|
-
{
|
388
|
-
"$ref": "#/definitions/StringKey"
|
389
|
-
}
|
390
|
-
]
|
354
|
+
"$ref": "#/$defs/StringKey"
|
391
355
|
},
|
392
356
|
{
|
393
357
|
"description": "A module which defines the custom type. e.g. { \"name\": \"MyCustomType\", \"path\": \"./Types.ts\" }",
|
394
|
-
"
|
395
|
-
{
|
396
|
-
"$ref": "#/definitions/CustomTypeImport"
|
397
|
-
}
|
398
|
-
]
|
358
|
+
"$ref": "#/$defs/CustomTypeImport"
|
399
359
|
}
|
400
360
|
]
|
401
361
|
},
|
402
362
|
"CustomTypeImport": {
|
403
|
-
"description": "Defines a module path and export name of the Flow or TypeScript type
|
363
|
+
"description": "Defines a module path and export name of the Flow or TypeScript type\ndescrbing a GraphQL custom scalar.",
|
404
364
|
"type": "object",
|
405
|
-
"required": [
|
406
|
-
"name",
|
407
|
-
"path"
|
408
|
-
],
|
409
365
|
"properties": {
|
410
366
|
"name": {
|
411
367
|
"description": "The name under which the type is exported from the module",
|
412
|
-
"
|
413
|
-
{
|
414
|
-
"$ref": "#/definitions/StringKey"
|
415
|
-
}
|
416
|
-
]
|
368
|
+
"$ref": "#/$defs/StringKey"
|
417
369
|
},
|
418
370
|
"path": {
|
419
371
|
"description": "The path to the module relative to the project root",
|
420
372
|
"type": "string"
|
421
373
|
}
|
422
|
-
}
|
374
|
+
},
|
375
|
+
"required": [
|
376
|
+
"name",
|
377
|
+
"path"
|
378
|
+
]
|
423
379
|
},
|
424
380
|
"DeferStreamInterface": {
|
425
381
|
"description": "Configuration where Relay should expect some fields in the schema.",
|
426
382
|
"type": "object",
|
427
|
-
"required": [
|
428
|
-
"deferName",
|
429
|
-
"ifArg",
|
430
|
-
"initialCountArg",
|
431
|
-
"labelArg",
|
432
|
-
"streamName",
|
433
|
-
"useCustomizedBatchArg"
|
434
|
-
],
|
435
383
|
"properties": {
|
436
384
|
"deferName": {
|
437
|
-
"$ref": "
|
385
|
+
"$ref": "#/$defs/DirectiveName"
|
438
386
|
},
|
439
387
|
"ifArg": {
|
440
|
-
"$ref": "
|
388
|
+
"$ref": "#/$defs/ArgumentName"
|
441
389
|
},
|
442
390
|
"initialCountArg": {
|
443
|
-
"$ref": "
|
391
|
+
"$ref": "#/$defs/ArgumentName"
|
444
392
|
},
|
445
393
|
"labelArg": {
|
446
|
-
"$ref": "
|
394
|
+
"$ref": "#/$defs/ArgumentName"
|
447
395
|
},
|
448
396
|
"streamName": {
|
449
|
-
"$ref": "
|
397
|
+
"$ref": "#/$defs/DirectiveName"
|
450
398
|
},
|
451
399
|
"useCustomizedBatchArg": {
|
452
|
-
"$ref": "
|
400
|
+
"$ref": "#/$defs/ArgumentName"
|
453
401
|
}
|
454
402
|
},
|
455
|
-
"additionalProperties": false
|
403
|
+
"additionalProperties": false,
|
404
|
+
"required": [
|
405
|
+
"deferName",
|
406
|
+
"streamName",
|
407
|
+
"ifArg",
|
408
|
+
"labelArg",
|
409
|
+
"initialCountArg",
|
410
|
+
"useCustomizedBatchArg"
|
411
|
+
]
|
456
412
|
},
|
457
413
|
"DeserializableProjectSet": {
|
458
414
|
"anyOf": [
|
459
415
|
{
|
460
|
-
"$ref": "
|
416
|
+
"$ref": "#/$defs/ProjectName"
|
461
417
|
},
|
462
418
|
{
|
463
419
|
"type": "array",
|
464
420
|
"items": {
|
465
|
-
"$ref": "
|
421
|
+
"$ref": "#/$defs/ProjectName"
|
466
422
|
}
|
467
423
|
}
|
468
424
|
]
|
@@ -473,150 +429,124 @@
|
|
473
429
|
{
|
474
430
|
"description": "Report only errors",
|
475
431
|
"type": "string",
|
476
|
-
"
|
477
|
-
"error"
|
478
|
-
]
|
432
|
+
"const": "error"
|
479
433
|
},
|
480
434
|
{
|
481
435
|
"description": "Report diagnostics up to warnings",
|
482
436
|
"type": "string",
|
483
|
-
"
|
484
|
-
"warning"
|
485
|
-
]
|
437
|
+
"const": "warning"
|
486
438
|
},
|
487
439
|
{
|
488
440
|
"description": "Report diagnostics up to informational diagnostics",
|
489
441
|
"type": "string",
|
490
|
-
"
|
491
|
-
"info"
|
492
|
-
]
|
442
|
+
"const": "info"
|
493
443
|
},
|
494
444
|
{
|
495
445
|
"description": "Report diagnostics up to hints",
|
496
446
|
"type": "string",
|
497
|
-
"
|
498
|
-
"hint"
|
499
|
-
]
|
447
|
+
"const": "hint"
|
500
448
|
}
|
501
449
|
]
|
502
450
|
},
|
503
451
|
"DiagnosticReportConfig": {
|
504
452
|
"description": "Configuration for all diagnostic reporting in the compiler",
|
505
453
|
"type": "object",
|
506
|
-
"required": [
|
507
|
-
"criticalLevel"
|
508
|
-
],
|
509
454
|
"properties": {
|
510
455
|
"criticalLevel": {
|
511
|
-
"description": "Threshold for diagnostics to be critical to the compiler's execution
|
512
|
-
"
|
513
|
-
{
|
514
|
-
"$ref": "#/definitions/DiagnosticLevel"
|
515
|
-
}
|
516
|
-
]
|
456
|
+
"description": "Threshold for diagnostics to be critical to the compiler's execution.\nAll diagnostic with severities at and below this level will cause the\ncompiler to fatally exit.",
|
457
|
+
"$ref": "#/$defs/DiagnosticLevel"
|
517
458
|
}
|
518
|
-
}
|
459
|
+
},
|
460
|
+
"required": [
|
461
|
+
"criticalLevel"
|
462
|
+
]
|
519
463
|
},
|
520
464
|
"DirectiveName": {
|
521
465
|
"description": "Wrapper struct for clarity rather than having StringKey everywhere.",
|
522
|
-
"
|
523
|
-
{
|
524
|
-
"$ref": "#/definitions/StringKey"
|
525
|
-
}
|
526
|
-
]
|
466
|
+
"$ref": "#/$defs/StringKey"
|
527
467
|
},
|
528
468
|
"FeatureFlag": {
|
529
469
|
"oneOf": [
|
530
470
|
{
|
531
471
|
"description": "Fully disabled: developers may not use this feature",
|
532
472
|
"type": "object",
|
533
|
-
"required": [
|
534
|
-
"kind"
|
535
|
-
],
|
536
473
|
"properties": {
|
537
474
|
"kind": {
|
538
475
|
"type": "string",
|
539
|
-
"
|
540
|
-
"disabled"
|
541
|
-
]
|
476
|
+
"const": "disabled"
|
542
477
|
}
|
543
|
-
}
|
478
|
+
},
|
479
|
+
"required": [
|
480
|
+
"kind"
|
481
|
+
]
|
544
482
|
},
|
545
483
|
{
|
546
484
|
"description": "Fully enabled: developers may use this feature",
|
547
485
|
"type": "object",
|
548
|
-
"required": [
|
549
|
-
"kind"
|
550
|
-
],
|
551
486
|
"properties": {
|
552
487
|
"kind": {
|
553
488
|
"type": "string",
|
554
|
-
"
|
555
|
-
"enabled"
|
556
|
-
]
|
489
|
+
"const": "enabled"
|
557
490
|
}
|
558
|
-
}
|
491
|
+
},
|
492
|
+
"required": [
|
493
|
+
"kind"
|
494
|
+
]
|
559
495
|
},
|
560
496
|
{
|
561
497
|
"description": "Partially enabled: developers may only use this feature on the listed items (fragments, fields, types).",
|
562
498
|
"type": "object",
|
563
|
-
"required": [
|
564
|
-
"allowlist",
|
565
|
-
"kind"
|
566
|
-
],
|
567
499
|
"properties": {
|
568
500
|
"allowlist": {
|
569
501
|
"type": "array",
|
570
502
|
"items": {
|
571
|
-
"$ref": "
|
503
|
+
"$ref": "#/$defs/StringKey"
|
572
504
|
},
|
573
505
|
"uniqueItems": true
|
574
506
|
},
|
575
507
|
"kind": {
|
576
508
|
"type": "string",
|
577
|
-
"
|
578
|
-
"limited"
|
579
|
-
]
|
509
|
+
"const": "limited"
|
580
510
|
}
|
581
|
-
}
|
511
|
+
},
|
512
|
+
"required": [
|
513
|
+
"kind",
|
514
|
+
"allowlist"
|
515
|
+
]
|
582
516
|
},
|
583
517
|
{
|
584
518
|
"description": "Partially enabled: used for gradual rollout of the feature",
|
585
519
|
"type": "object",
|
586
|
-
"required": [
|
587
|
-
"kind",
|
588
|
-
"rollout"
|
589
|
-
],
|
590
520
|
"properties": {
|
591
521
|
"kind": {
|
592
522
|
"type": "string",
|
593
|
-
"
|
594
|
-
"rollout"
|
595
|
-
]
|
523
|
+
"const": "rollout"
|
596
524
|
},
|
597
525
|
"rollout": {
|
598
|
-
"$ref": "
|
526
|
+
"$ref": "#/$defs/Rollout"
|
599
527
|
}
|
600
|
-
}
|
528
|
+
},
|
529
|
+
"required": [
|
530
|
+
"kind",
|
531
|
+
"rollout"
|
532
|
+
]
|
601
533
|
},
|
602
534
|
{
|
603
535
|
"description": "Partially enabled: used for gradual rollout of the feature",
|
604
536
|
"type": "object",
|
605
|
-
"required": [
|
606
|
-
"kind",
|
607
|
-
"rollout"
|
608
|
-
],
|
609
537
|
"properties": {
|
610
538
|
"kind": {
|
611
539
|
"type": "string",
|
612
|
-
"
|
613
|
-
"rolloutrange"
|
614
|
-
]
|
540
|
+
"const": "rolloutrange"
|
615
541
|
},
|
616
542
|
"rollout": {
|
617
|
-
"$ref": "
|
543
|
+
"$ref": "#/$defs/RolloutRange"
|
618
544
|
}
|
619
|
-
}
|
545
|
+
},
|
546
|
+
"required": [
|
547
|
+
"kind",
|
548
|
+
"rollout"
|
549
|
+
]
|
620
550
|
}
|
621
551
|
]
|
622
552
|
},
|
@@ -624,233 +554,165 @@
|
|
624
554
|
"type": "object",
|
625
555
|
"properties": {
|
626
556
|
"actor_change_support": {
|
557
|
+
"$ref": "#/$defs/FeatureFlag",
|
627
558
|
"default": {
|
628
559
|
"kind": "disabled"
|
629
|
-
}
|
630
|
-
"allOf": [
|
631
|
-
{
|
632
|
-
"$ref": "#/definitions/FeatureFlag"
|
633
|
-
}
|
634
|
-
]
|
560
|
+
}
|
635
561
|
},
|
636
562
|
"allow_output_type_resolvers": {
|
637
|
-
"description": "@outputType resolvers are a discontinued experimental feature. This flag
|
563
|
+
"description": "@outputType resolvers are a discontinued experimental feature. This flag\nallows users to allowlist old uses of this feature while they work to\nremove them. Weak types (types without an `id` field) returned by a Relay\nResolver should be limited to types defined using `@RelayResolver` with `@weak`.\n\nIf using the \"limited\" feature flag variant, users can allowlist a\nspecific list of field names.\n\nhttps://relay.dev/docs/next/guides/relay-resolvers/defining-types/#defining-a-weak-type",
|
564
|
+
"$ref": "#/$defs/FeatureFlag",
|
638
565
|
"default": {
|
639
566
|
"kind": "disabled"
|
640
|
-
}
|
641
|
-
"allOf": [
|
642
|
-
{
|
643
|
-
"$ref": "#/definitions/FeatureFlag"
|
644
|
-
}
|
645
|
-
]
|
567
|
+
}
|
646
568
|
},
|
647
569
|
"allow_required_in_mutation_response": {
|
648
|
-
"description": "@required with an action of THROW is read-time feature that is not
|
570
|
+
"description": "@required with an action of THROW is read-time feature that is not\ncompatible with our mutation APIs. We are in the process of removing\nany existing examples, but this flag is part of a process of removing\nany existing examples.",
|
571
|
+
"$ref": "#/$defs/FeatureFlag",
|
649
572
|
"default": {
|
650
573
|
"kind": "disabled"
|
651
|
-
}
|
652
|
-
"allOf": [
|
653
|
-
{
|
654
|
-
"$ref": "#/definitions/FeatureFlag"
|
655
|
-
}
|
656
|
-
]
|
574
|
+
}
|
657
575
|
},
|
658
576
|
"allow_resolver_non_nullable_return_type": {
|
659
577
|
"description": "Allow non-nullable return types from resolvers.",
|
578
|
+
"$ref": "#/$defs/FeatureFlag",
|
660
579
|
"default": {
|
661
580
|
"kind": "disabled"
|
662
|
-
}
|
663
|
-
"allOf": [
|
664
|
-
{
|
665
|
-
"$ref": "#/definitions/FeatureFlag"
|
666
|
-
}
|
667
|
-
]
|
581
|
+
}
|
668
582
|
},
|
669
583
|
"allow_resolvers_in_mutation_response": {
|
670
|
-
"description": "Relay Resolvers are a read-time feature that are not actually handled in
|
584
|
+
"description": "Relay Resolvers are a read-time feature that are not actually handled in\nour mutation APIs. We are in the process of removing any existing\nexamples, but this flag is part of a process of removing any existing\nexamples.",
|
585
|
+
"$ref": "#/$defs/FeatureFlag",
|
671
586
|
"default": {
|
672
587
|
"kind": "disabled"
|
673
|
-
}
|
674
|
-
"allOf": [
|
675
|
-
{
|
676
|
-
"$ref": "#/definitions/FeatureFlag"
|
677
|
-
}
|
678
|
-
]
|
588
|
+
}
|
679
589
|
},
|
680
590
|
"compact_query_text": {
|
681
591
|
"description": "Print queries in compact form",
|
592
|
+
"$ref": "#/$defs/FeatureFlag",
|
682
593
|
"default": {
|
683
594
|
"kind": "disabled"
|
684
|
-
}
|
685
|
-
"allOf": [
|
686
|
-
{
|
687
|
-
"$ref": "#/definitions/FeatureFlag"
|
688
|
-
}
|
689
|
-
]
|
595
|
+
}
|
690
596
|
},
|
691
597
|
"disable_deduping_common_structures_in_artifacts": {
|
692
|
-
"description": "Skip the optimization which extracts common JavaScript structures in
|
598
|
+
"description": "Skip the optimization which extracts common JavaScript structures in\ngenerated artifacts into numbered variables and uses them by reference\nin each position in which they occur.\n\nThis optimization can make it hard to follow changes to generated\ncode, so being able to disable it can be helpful for debugging.\n\nTo disable deduping for just one fragment or operation's generated\nartifacts:\n\n```json\n\"disable_deduping_common_structures_in_artifacts\": {\n { \"kind\": \"limited\", \"allowList\": [\"<operation_or_fragment_name>\"] }\n}\n```",
|
599
|
+
"$ref": "#/$defs/FeatureFlag",
|
693
600
|
"default": {
|
694
601
|
"kind": "disabled"
|
695
|
-
}
|
696
|
-
"allOf": [
|
697
|
-
{
|
698
|
-
"$ref": "#/definitions/FeatureFlag"
|
699
|
-
}
|
700
|
-
]
|
602
|
+
}
|
701
603
|
},
|
702
604
|
"disable_edge_type_name_validation_on_declerative_connection_directives": {
|
703
605
|
"description": "Disable validation of the `edgeTypeName` argument on `@prependNode` and `@appendNode`.",
|
606
|
+
"$ref": "#/$defs/FeatureFlag",
|
704
607
|
"default": {
|
705
608
|
"kind": "disabled"
|
706
|
-
}
|
707
|
-
"allOf": [
|
708
|
-
{
|
709
|
-
"$ref": "#/definitions/FeatureFlag"
|
710
|
-
}
|
711
|
-
]
|
609
|
+
}
|
712
610
|
},
|
713
611
|
"disable_full_argument_type_validation": {
|
714
|
-
"description": "Disable full GraphQL argument type validation. Historically, we only applied argument type
|
612
|
+
"description": "Disable full GraphQL argument type validation. Historically, we only applied argument type\nvalidation to the query that was actually going to be persisted and sent\nto the server. This meant that we didn't typecheck arguments passed to\nRelay Resolvers or Client Schema Extensions.\n\nWe also permitted an escape hatch of `uncheckedArguments_DEPRECATED` for\ndefining fragment arguments which were not typechecked.\n\nWe no-longer support `uncheckedArguments_DEPRECATED`, and we typecheck\nboth client and server arguments. This flag allows you to opt out of\nthis new behavior to enable gradual adoption of the new validations.\n\nThis flag will be removed in a future version of Relay.",
|
613
|
+
"$ref": "#/$defs/FeatureFlag",
|
715
614
|
"default": {
|
716
615
|
"kind": "disabled"
|
717
|
-
}
|
718
|
-
"allOf": [
|
719
|
-
{
|
720
|
-
"$ref": "#/definitions/FeatureFlag"
|
721
|
-
}
|
722
|
-
]
|
616
|
+
}
|
723
617
|
},
|
724
618
|
"disable_resolver_reader_ast": {
|
725
|
-
"description": "Mirror of `enable_resolver_normalization_ast
|
726
|
-
"
|
727
|
-
"
|
619
|
+
"description": "Mirror of `enable_resolver_normalization_ast`\nexcludes resolver metadata from reader ast",
|
620
|
+
"type": "boolean",
|
621
|
+
"default": false
|
728
622
|
},
|
729
623
|
"disable_schema_validation": {
|
730
|
-
"description": "Disable validating the composite schema (server, client schema
|
731
|
-
"
|
732
|
-
"
|
624
|
+
"description": "Disable validating the composite schema (server, client schema\nextensions, Relay Resolvers) after its built.",
|
625
|
+
"type": "boolean",
|
626
|
+
"default": false
|
733
627
|
},
|
734
628
|
"enable_3d_branch_arg_generation": {
|
735
|
-
"
|
736
|
-
"
|
629
|
+
"type": "boolean",
|
630
|
+
"default": false
|
737
631
|
},
|
738
632
|
"enable_exec_time_resolvers_directive": {
|
739
|
-
"description": "Allow per-query opt in to normalization AST for Resolvers with exec_time_resolvers
|
740
|
-
"
|
741
|
-
"
|
633
|
+
"description": "Allow per-query opt in to normalization AST for Resolvers with exec_time_resolvers\ndirective. In contrast to enable_resolver_normalization_ast, if this is true, a\nnormalization AST can be generated for a query using the @exec_time_resolvers directive",
|
634
|
+
"type": "boolean",
|
635
|
+
"default": false
|
742
636
|
},
|
743
637
|
"enable_fragment_argument_transform": {
|
744
|
-
"description": "Add support for parsing and transforming variable definitions on fragment
|
745
|
-
"
|
746
|
-
"
|
638
|
+
"description": "Add support for parsing and transforming variable definitions on fragment\ndefinitions and arguments on fragment spreads.",
|
639
|
+
"type": "boolean",
|
640
|
+
"default": false
|
747
641
|
},
|
748
642
|
"enable_relay_resolver_mutations": {
|
749
643
|
"description": "Allow relay resolvers to extend the Mutation type",
|
750
|
-
"
|
751
|
-
"
|
644
|
+
"type": "boolean",
|
645
|
+
"default": false
|
752
646
|
},
|
753
647
|
"enable_resolver_normalization_ast": {
|
754
648
|
"description": "Fully build the normalization AST for Resolvers",
|
755
|
-
"
|
756
|
-
"
|
649
|
+
"type": "boolean",
|
650
|
+
"default": false
|
757
651
|
},
|
758
652
|
"enable_strict_custom_scalars": {
|
759
653
|
"description": "Perform strict validations when custom scalar types are used",
|
760
|
-
"
|
761
|
-
"
|
654
|
+
"type": "boolean",
|
655
|
+
"default": false
|
762
656
|
},
|
763
657
|
"enforce_fragment_alias_where_ambiguous": {
|
764
|
-
"description": "Enforce that you must add `@alias` to a fragment if it may not match
|
658
|
+
"description": "Enforce that you must add `@alias` to a fragment if it may not match,\ndue to type mismatch or `@skip`/`@include`",
|
659
|
+
"$ref": "#/$defs/FeatureFlag",
|
765
660
|
"default": {
|
766
661
|
"kind": "enabled"
|
767
|
-
}
|
768
|
-
"allOf": [
|
769
|
-
{
|
770
|
-
"$ref": "#/definitions/FeatureFlag"
|
771
|
-
}
|
772
|
-
]
|
662
|
+
}
|
773
663
|
},
|
774
664
|
"legacy_include_path_in_required_reader_nodes": {
|
775
|
-
"description": "The `path` field in `@required` Reader AST nodes is no longer used. But
|
665
|
+
"description": "The `path` field in `@required` Reader AST nodes is no longer used. But\nremoving 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\nacross a number of diffs.",
|
666
|
+
"$ref": "#/$defs/FeatureFlag",
|
776
667
|
"default": {
|
777
668
|
"kind": "disabled"
|
778
|
-
}
|
779
|
-
"allOf": [
|
780
|
-
{
|
781
|
-
"$ref": "#/definitions/FeatureFlag"
|
782
|
-
}
|
783
|
-
]
|
669
|
+
}
|
784
670
|
},
|
785
671
|
"no_inline": {
|
786
|
-
"description": "For now, this also disallows fragments with variable definitions
|
672
|
+
"description": "For now, this also disallows fragments with variable definitions\nThis also makes @module to opt in using @no_inline internally\nNOTE that the presence of a fragment in this list only controls whether a fragment is *allowed* to\nuse @no_inline: whether the fragment is inlined or not depends on whether it actually uses that\ndirective.",
|
673
|
+
"$ref": "#/$defs/FeatureFlag",
|
787
674
|
"default": {
|
788
675
|
"kind": "disabled"
|
789
|
-
}
|
790
|
-
"allOf": [
|
791
|
-
{
|
792
|
-
"$ref": "#/definitions/FeatureFlag"
|
793
|
-
}
|
794
|
-
]
|
676
|
+
}
|
795
677
|
},
|
796
678
|
"omit_resolver_type_assertions_for_confirmed_types": {
|
797
|
-
"description": "Skip generating resolver type assertions for resolvers which have
|
679
|
+
"description": "Skip generating resolver type assertions for resolvers which have\nbeen derived from TS/Flow types.",
|
680
|
+
"$ref": "#/$defs/FeatureFlag",
|
798
681
|
"default": {
|
799
|
-
"kind": "disabled"
|
800
|
-
}
|
801
|
-
"allOf": [
|
802
|
-
{
|
803
|
-
"$ref": "#/definitions/FeatureFlag"
|
804
|
-
}
|
805
|
-
]
|
682
|
+
"kind": "disabled"
|
683
|
+
}
|
806
684
|
},
|
807
685
|
"prefer_fetchable_in_refetch_queries": {
|
808
|
-
"description": "Feature flag to prefer `fetch_MyType()` generatior over `node()` query generator
|
809
|
-
"
|
810
|
-
"
|
686
|
+
"description": "Feature flag to prefer `fetch_MyType()` generatior over `node()` query generator\nin @refetchable transform",
|
687
|
+
"type": "boolean",
|
688
|
+
"default": false
|
811
689
|
},
|
812
690
|
"relay_resolver_enable_interface_output_type": {
|
813
691
|
"description": "Enable returning interfaces from Relay Resolvers without @outputType",
|
692
|
+
"$ref": "#/$defs/FeatureFlag",
|
814
693
|
"default": {
|
815
694
|
"kind": "disabled"
|
816
|
-
}
|
817
|
-
"allOf": [
|
818
|
-
{
|
819
|
-
"$ref": "#/definitions/FeatureFlag"
|
820
|
-
}
|
821
|
-
]
|
695
|
+
}
|
822
696
|
},
|
823
697
|
"skip_printing_nulls": {
|
698
|
+
"$ref": "#/$defs/FeatureFlag",
|
824
699
|
"default": {
|
825
700
|
"kind": "disabled"
|
826
|
-
}
|
827
|
-
"allOf": [
|
828
|
-
{
|
829
|
-
"$ref": "#/definitions/FeatureFlag"
|
830
|
-
}
|
831
|
-
]
|
701
|
+
}
|
832
702
|
},
|
833
703
|
"text_artifacts": {
|
834
|
-
"description": "Enable generation of text artifacts used to generate full query strings
|
704
|
+
"description": "Enable generation of text artifacts used to generate full query strings\nlater.",
|
705
|
+
"$ref": "#/$defs/FeatureFlag",
|
835
706
|
"default": {
|
836
707
|
"kind": "disabled"
|
837
|
-
}
|
838
|
-
"allOf": [
|
839
|
-
{
|
840
|
-
"$ref": "#/definitions/FeatureFlag"
|
841
|
-
}
|
842
|
-
]
|
708
|
+
}
|
843
709
|
},
|
844
710
|
"use_reader_module_imports": {
|
845
711
|
"description": "Generate the `moduleImports` field in the Reader AST.",
|
712
|
+
"$ref": "#/$defs/FeatureFlag",
|
846
713
|
"default": {
|
847
714
|
"kind": "disabled"
|
848
|
-
}
|
849
|
-
"allOf": [
|
850
|
-
{
|
851
|
-
"$ref": "#/definitions/FeatureFlag"
|
852
|
-
}
|
853
|
-
]
|
715
|
+
}
|
854
716
|
}
|
855
717
|
},
|
856
718
|
"additionalProperties": false
|
@@ -861,16 +723,12 @@
|
|
861
723
|
{
|
862
724
|
"description": "Common JS style, e.g. `require('../path/MyModule')`",
|
863
725
|
"type": "string",
|
864
|
-
"
|
865
|
-
"commonjs"
|
866
|
-
]
|
726
|
+
"const": "commonjs"
|
867
727
|
},
|
868
728
|
{
|
869
729
|
"description": "Facebook style, e.g. `require('MyModule')`",
|
870
730
|
"type": "string",
|
871
|
-
"
|
872
|
-
"haste"
|
873
|
-
]
|
731
|
+
"const": "haste"
|
874
732
|
}
|
875
733
|
]
|
876
734
|
},
|
@@ -885,18 +743,11 @@
|
|
885
743
|
"LocalPersistConfig": {
|
886
744
|
"description": "Configuration for local persistence of GraphQL documents.\n\nThis struct contains settings that control how GraphQL documents are persisted locally.",
|
887
745
|
"type": "object",
|
888
|
-
"required": [
|
889
|
-
"file"
|
890
|
-
],
|
891
746
|
"properties": {
|
892
747
|
"algorithm": {
|
893
748
|
"description": "The algorithm to use for hashing the operation text.",
|
894
|
-
"
|
895
|
-
"
|
896
|
-
{
|
897
|
-
"$ref": "#/definitions/LocalPersistAlgorithm"
|
898
|
-
}
|
899
|
-
]
|
749
|
+
"$ref": "#/$defs/LocalPersistAlgorithm",
|
750
|
+
"default": "MD5"
|
900
751
|
},
|
901
752
|
"file": {
|
902
753
|
"description": "The file path where the persisted documents will be written.",
|
@@ -904,21 +755,24 @@
|
|
904
755
|
},
|
905
756
|
"include_query_text": {
|
906
757
|
"description": "Whether to include the query text in the persisted document.",
|
907
|
-
"
|
908
|
-
"
|
758
|
+
"type": "boolean",
|
759
|
+
"default": false
|
909
760
|
}
|
910
761
|
},
|
911
|
-
"additionalProperties": false
|
762
|
+
"additionalProperties": false,
|
763
|
+
"required": [
|
764
|
+
"file"
|
765
|
+
]
|
912
766
|
},
|
913
767
|
"ModuleImportConfig": {
|
914
768
|
"description": "Configuration for @module.",
|
915
769
|
"type": "object",
|
916
770
|
"properties": {
|
917
771
|
"dynamicModuleProvider": {
|
918
|
-
"description": "Defines the custom import statement to be generated on the
|
772
|
+
"description": "Defines the custom import statement to be generated on the\n`ModuleImport` node in ASTs, used for dynamically loading\ncomponents at runtime.",
|
919
773
|
"anyOf": [
|
920
774
|
{
|
921
|
-
"$ref": "
|
775
|
+
"$ref": "#/$defs/ModuleProvider"
|
922
776
|
},
|
923
777
|
{
|
924
778
|
"type": "null"
|
@@ -926,10 +780,10 @@
|
|
926
780
|
]
|
927
781
|
},
|
928
782
|
"operationModuleProvider": {
|
929
|
-
"description": "Defines the custom import statement to be generated for the
|
783
|
+
"description": "Defines the custom import statement to be generated for the\n`operationModuleProvider` function on the `NormalizationModuleImport`\nnode in ASTs. Used in exec time client 3D.",
|
930
784
|
"anyOf": [
|
931
785
|
{
|
932
|
-
"$ref": "
|
786
|
+
"$ref": "#/$defs/ModuleProvider"
|
933
787
|
},
|
934
788
|
{
|
935
789
|
"type": "null"
|
@@ -940,7 +794,7 @@
|
|
940
794
|
"description": "Defines the surface upon which @module is enabled.",
|
941
795
|
"anyOf": [
|
942
796
|
{
|
943
|
-
"$ref": "
|
797
|
+
"$ref": "#/$defs/Surface"
|
944
798
|
},
|
945
799
|
{
|
946
800
|
"type": "null"
|
@@ -955,46 +809,38 @@
|
|
955
809
|
{
|
956
810
|
"description": "Generates a module provider using JSResource",
|
957
811
|
"type": "object",
|
958
|
-
"required": [
|
959
|
-
"mode"
|
960
|
-
],
|
961
812
|
"properties": {
|
962
813
|
"mode": {
|
963
814
|
"type": "string",
|
964
|
-
"
|
965
|
-
"JSResource"
|
966
|
-
]
|
815
|
+
"const": "JSResource"
|
967
816
|
}
|
968
|
-
}
|
817
|
+
},
|
818
|
+
"required": [
|
819
|
+
"mode"
|
820
|
+
]
|
969
821
|
},
|
970
822
|
{
|
971
|
-
"description": "Generates a custom JS import, Use `<$module>` as the placeholder
|
823
|
+
"description": "Generates a custom JS import, Use `<$module>` as the placeholder\nfor the actual module. e.g. `\"() => import('<$module>')\"`",
|
972
824
|
"type": "object",
|
973
|
-
"required": [
|
974
|
-
"mode",
|
975
|
-
"statement"
|
976
|
-
],
|
977
825
|
"properties": {
|
978
826
|
"mode": {
|
979
827
|
"type": "string",
|
980
|
-
"
|
981
|
-
"Custom"
|
982
|
-
]
|
828
|
+
"const": "Custom"
|
983
829
|
},
|
984
830
|
"statement": {
|
985
|
-
"$ref": "
|
831
|
+
"$ref": "#/$defs/StringKey"
|
986
832
|
}
|
987
|
-
}
|
833
|
+
},
|
834
|
+
"required": [
|
835
|
+
"mode",
|
836
|
+
"statement"
|
837
|
+
]
|
988
838
|
}
|
989
839
|
]
|
990
840
|
},
|
991
841
|
"MultiProjectConfigFile": {
|
992
842
|
"description": "Schema of the compiler configuration JSON file.",
|
993
843
|
"type": "object",
|
994
|
-
"required": [
|
995
|
-
"projects",
|
996
|
-
"sources"
|
997
|
-
],
|
998
844
|
"properties": {
|
999
845
|
"$schema": {
|
1000
846
|
"description": "The user may hard-code the JSON Schema for their version of the config.",
|
@@ -1004,26 +850,27 @@
|
|
1004
850
|
]
|
1005
851
|
},
|
1006
852
|
"codegenCommand": {
|
1007
|
-
"default": null,
|
1008
853
|
"type": [
|
1009
854
|
"string",
|
1010
855
|
"null"
|
1011
|
-
]
|
856
|
+
],
|
857
|
+
"default": null
|
1012
858
|
},
|
1013
859
|
"excludes": {
|
1014
|
-
"description": "Glob patterns that should not be part of the sources even if they are
|
860
|
+
"description": "Glob patterns that should not be part of the sources even if they are\nin the source set directories.",
|
861
|
+
"type": "array",
|
1015
862
|
"default": [
|
1016
863
|
"**/node_modules/**",
|
1017
864
|
"**/__mocks__/**",
|
1018
865
|
"**/__generated__/**"
|
1019
866
|
],
|
1020
|
-
"type": "array",
|
1021
867
|
"items": {
|
1022
868
|
"type": "string"
|
1023
869
|
}
|
1024
870
|
},
|
1025
871
|
"featureFlags": {
|
1026
|
-
"description": "Enable and disable experimental or legacy behaviors
|
872
|
+
"description": "Enable and disable experimental or legacy behaviors.\nWARNING! These are not stable and may change at any time.",
|
873
|
+
"$ref": "#/$defs/FeatureFlags",
|
1027
874
|
"default": {
|
1028
875
|
"actor_change_support": {
|
1029
876
|
"kind": "disabled"
|
@@ -1085,24 +932,19 @@
|
|
1085
932
|
"use_reader_module_imports": {
|
1086
933
|
"kind": "disabled"
|
1087
934
|
}
|
1088
|
-
}
|
1089
|
-
"allOf": [
|
1090
|
-
{
|
1091
|
-
"$ref": "#/definitions/FeatureFlags"
|
1092
|
-
}
|
1093
|
-
]
|
935
|
+
}
|
1094
936
|
},
|
1095
937
|
"generatedSources": {
|
1096
938
|
"description": "Similar to sources but not affected by excludes.",
|
1097
|
-
"default": {},
|
1098
939
|
"type": "object",
|
1099
940
|
"additionalProperties": {
|
1100
|
-
"$ref": "
|
1101
|
-
}
|
941
|
+
"$ref": "#/$defs/ProjectSet"
|
942
|
+
},
|
943
|
+
"default": {}
|
1102
944
|
},
|
1103
945
|
"header": {
|
1104
|
-
"default": [],
|
1105
946
|
"type": "array",
|
947
|
+
"default": [],
|
1106
948
|
"items": {
|
1107
949
|
"type": "string"
|
1108
950
|
}
|
@@ -1115,12 +957,12 @@
|
|
1115
957
|
]
|
1116
958
|
},
|
1117
959
|
"name": {
|
1118
|
-
"description": "Optional name for this config, might be used for logging or custom extra
|
1119
|
-
"default": null,
|
960
|
+
"description": "Optional name for this config, might be used for logging or custom extra\nartifact generator code.",
|
1120
961
|
"type": [
|
1121
962
|
"string",
|
1122
963
|
"null"
|
1123
|
-
]
|
964
|
+
],
|
965
|
+
"default": null
|
1124
966
|
},
|
1125
967
|
"noSourceControl": {
|
1126
968
|
"description": "Opt out of source control checks/integration.",
|
@@ -1133,22 +975,22 @@
|
|
1133
975
|
"description": "Configuration of projects to compile.",
|
1134
976
|
"type": "object",
|
1135
977
|
"additionalProperties": {
|
1136
|
-
"$ref": "
|
978
|
+
"$ref": "#/$defs/ConfigFileProject"
|
1137
979
|
}
|
1138
980
|
},
|
1139
981
|
"root": {
|
1140
|
-
"description": "Root directory relative to the config file. Defaults to the directory
|
1141
|
-
"default": null,
|
982
|
+
"description": "Root directory relative to the config file. Defaults to the directory\nwhere the config is located.",
|
1142
983
|
"type": [
|
1143
984
|
"string",
|
1144
985
|
"null"
|
1145
|
-
]
|
986
|
+
],
|
987
|
+
"default": null
|
1146
988
|
},
|
1147
989
|
"savedStateConfig": {
|
1148
990
|
"description": "Watchman saved state config.",
|
1149
991
|
"anyOf": [
|
1150
992
|
{
|
1151
|
-
"$ref": "
|
993
|
+
"$ref": "#/$defs/ScmAwareClockData"
|
1152
994
|
},
|
1153
995
|
{
|
1154
996
|
"type": "null"
|
@@ -1156,14 +998,18 @@
|
|
1156
998
|
]
|
1157
999
|
},
|
1158
1000
|
"sources": {
|
1159
|
-
"description": "A mapping from directory paths (relative to the root) to a source set
|
1001
|
+
"description": "A mapping from directory paths (relative to the root) to a source set.\nIf a path is a subdirectory of another path, the more specific path\nwins.",
|
1160
1002
|
"type": "object",
|
1161
1003
|
"additionalProperties": {
|
1162
|
-
"$ref": "
|
1004
|
+
"$ref": "#/$defs/DeserializableProjectSet"
|
1163
1005
|
}
|
1164
1006
|
}
|
1165
1007
|
},
|
1166
|
-
"additionalProperties": false
|
1008
|
+
"additionalProperties": false,
|
1009
|
+
"required": [
|
1010
|
+
"sources",
|
1011
|
+
"projects"
|
1012
|
+
]
|
1167
1013
|
},
|
1168
1014
|
"NonNodeIdFieldsConfig": {
|
1169
1015
|
"description": "Configuration of Relay's validation for `id` fields outside of the `Node` interface.",
|
@@ -1171,11 +1017,11 @@
|
|
1171
1017
|
"properties": {
|
1172
1018
|
"allowedIdTypes": {
|
1173
1019
|
"description": "A map of parent type names to allowed type names for fields named `id`",
|
1174
|
-
"default": {},
|
1175
1020
|
"type": "object",
|
1176
1021
|
"additionalProperties": {
|
1177
|
-
"$ref": "
|
1178
|
-
}
|
1022
|
+
"$ref": "#/$defs/StringKey"
|
1023
|
+
},
|
1024
|
+
"default": {}
|
1179
1025
|
}
|
1180
1026
|
},
|
1181
1027
|
"additionalProperties": false
|
@@ -1185,19 +1031,11 @@
|
|
1185
1031
|
"anyOf": [
|
1186
1032
|
{
|
1187
1033
|
"description": "This variant represents a remote persistence configuration, where GraphQL queries are sent to a remote endpoint for persistence.",
|
1188
|
-
"
|
1189
|
-
{
|
1190
|
-
"$ref": "#/definitions/RemotePersistConfig"
|
1191
|
-
}
|
1192
|
-
]
|
1034
|
+
"$ref": "#/$defs/RemotePersistConfig"
|
1193
1035
|
},
|
1194
1036
|
{
|
1195
|
-
"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
|
1196
|
-
"
|
1197
|
-
{
|
1198
|
-
"$ref": "#/definitions/LocalPersistConfig"
|
1199
|
-
}
|
1200
|
-
]
|
1037
|
+
"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,\nadd new queries to the map, and then serialize and write the resulting map to the configured path.",
|
1038
|
+
"$ref": "#/$defs/LocalPersistConfig"
|
1201
1039
|
}
|
1202
1040
|
]
|
1203
1041
|
},
|
@@ -1210,181 +1048,167 @@
|
|
1210
1048
|
},
|
1211
1049
|
{
|
1212
1050
|
"description": "A project name.\n\nThis should match one the keys in the `projects` map in the Relay compiler config.",
|
1213
|
-
"
|
1214
|
-
{
|
1215
|
-
"$ref": "#/definitions/StringKey"
|
1216
|
-
}
|
1217
|
-
]
|
1051
|
+
"$ref": "#/$defs/StringKey"
|
1218
1052
|
}
|
1219
1053
|
]
|
1220
1054
|
},
|
1221
1055
|
"ProjectSet": {
|
1222
1056
|
"description": "Set of project names.",
|
1223
|
-
"
|
1224
|
-
|
1225
|
-
|
1226
|
-
|
1057
|
+
"anyOf": [
|
1058
|
+
{
|
1059
|
+
"$ref": "#/$defs/ProjectName"
|
1060
|
+
},
|
1061
|
+
{
|
1062
|
+
"type": "array",
|
1063
|
+
"items": {
|
1064
|
+
"$ref": "#/$defs/ProjectName"
|
1065
|
+
}
|
1066
|
+
}
|
1067
|
+
]
|
1227
1068
|
},
|
1228
1069
|
"RemotePersistConfig": {
|
1229
1070
|
"description": "Configuration for remote persistence of GraphQL documents.",
|
1230
1071
|
"type": "object",
|
1231
|
-
"required": [
|
1232
|
-
"url"
|
1233
|
-
],
|
1234
1072
|
"properties": {
|
1235
1073
|
"concurrency": {
|
1236
1074
|
"description": "Number of concurrent requests that can be made to the server.",
|
1237
|
-
"default": null,
|
1238
1075
|
"type": [
|
1239
1076
|
"integer",
|
1240
1077
|
"null"
|
1241
1078
|
],
|
1242
1079
|
"format": "uint",
|
1243
|
-
"
|
1080
|
+
"default": null,
|
1081
|
+
"minimum": 0
|
1244
1082
|
},
|
1245
1083
|
"headers": {
|
1246
1084
|
"description": "Additional headers to include in the POST request.",
|
1247
|
-
"default": {},
|
1248
1085
|
"type": "object",
|
1249
1086
|
"additionalProperties": {
|
1250
1087
|
"type": "string"
|
1251
|
-
}
|
1088
|
+
},
|
1089
|
+
"default": {}
|
1252
1090
|
},
|
1253
1091
|
"includeQueryText": {
|
1254
1092
|
"description": "Whether to include the query text in the persisted document.",
|
1255
|
-
"
|
1256
|
-
"
|
1093
|
+
"type": "boolean",
|
1094
|
+
"default": false
|
1257
1095
|
},
|
1258
1096
|
"params": {
|
1259
|
-
"description": "Additional parameters to include in the POST request.\n\nThe main document will be in a POST parameter `text`. This map can contain
|
1260
|
-
"default": {},
|
1097
|
+
"description": "Additional parameters to include in the POST request.\n\nThe main document will be in a POST parameter `text`. This map can contain\nadditional parameters to send.",
|
1261
1098
|
"type": "object",
|
1262
1099
|
"additionalProperties": {
|
1263
1100
|
"type": "string"
|
1264
|
-
}
|
1101
|
+
},
|
1102
|
+
"default": {}
|
1265
1103
|
},
|
1266
1104
|
"url": {
|
1267
1105
|
"description": "URL that the document should be persisted to via a POST request.",
|
1268
1106
|
"type": "string"
|
1269
1107
|
}
|
1270
1108
|
},
|
1271
|
-
"additionalProperties": false
|
1109
|
+
"additionalProperties": false,
|
1110
|
+
"required": [
|
1111
|
+
"url"
|
1112
|
+
]
|
1272
1113
|
},
|
1273
1114
|
"ResolverContextTypeInput": {
|
1274
1115
|
"description": "Describes the type to import and use as the context for Relay Resolvers.",
|
1275
1116
|
"anyOf": [
|
1276
1117
|
{
|
1277
1118
|
"description": "The type imported using a relative path",
|
1278
|
-
"
|
1279
|
-
{
|
1280
|
-
"$ref": "#/definitions/ResolverContextTypeInputPath"
|
1281
|
-
}
|
1282
|
-
]
|
1119
|
+
"$ref": "#/$defs/ResolverContextTypeInputPath"
|
1283
1120
|
},
|
1284
1121
|
{
|
1285
1122
|
"description": "The type imported using a named package",
|
1286
|
-
"
|
1287
|
-
{
|
1288
|
-
"$ref": "#/definitions/ResolverContextTypeInputPackage"
|
1289
|
-
}
|
1290
|
-
]
|
1123
|
+
"$ref": "#/$defs/ResolverContextTypeInputPackage"
|
1291
1124
|
}
|
1292
1125
|
]
|
1293
1126
|
},
|
1294
1127
|
"ResolverContextTypeInputPackage": {
|
1295
1128
|
"description": "Specifies how Relay can import the Resolver context type from a named package",
|
1296
1129
|
"type": "object",
|
1297
|
-
"required": [
|
1298
|
-
"name",
|
1299
|
-
"package"
|
1300
|
-
],
|
1301
1130
|
"properties": {
|
1302
1131
|
"name": {
|
1303
1132
|
"description": "The name under which the type is exported from the package",
|
1304
|
-
"
|
1305
|
-
{
|
1306
|
-
"$ref": "#/definitions/StringKey"
|
1307
|
-
}
|
1308
|
-
]
|
1133
|
+
"$ref": "#/$defs/StringKey"
|
1309
1134
|
},
|
1310
1135
|
"package": {
|
1311
1136
|
"description": "The name of the package",
|
1312
|
-
"
|
1313
|
-
{
|
1314
|
-
"$ref": "#/definitions/StringKey"
|
1315
|
-
}
|
1316
|
-
]
|
1137
|
+
"$ref": "#/$defs/StringKey"
|
1317
1138
|
}
|
1318
|
-
}
|
1139
|
+
},
|
1140
|
+
"required": [
|
1141
|
+
"name",
|
1142
|
+
"package"
|
1143
|
+
]
|
1319
1144
|
},
|
1320
1145
|
"ResolverContextTypeInputPath": {
|
1321
1146
|
"description": "Specifies how Relay can import the Resolver context type from a path",
|
1322
1147
|
"type": "object",
|
1323
|
-
"required": [
|
1324
|
-
"name",
|
1325
|
-
"path"
|
1326
|
-
],
|
1327
1148
|
"properties": {
|
1328
1149
|
"name": {
|
1329
1150
|
"description": "The name under which the type is exported from the module",
|
1330
|
-
"
|
1331
|
-
{
|
1332
|
-
"$ref": "#/definitions/StringKey"
|
1333
|
-
}
|
1334
|
-
]
|
1151
|
+
"$ref": "#/$defs/StringKey"
|
1335
1152
|
},
|
1336
1153
|
"path": {
|
1337
1154
|
"description": "The path to the module relative to the project root",
|
1338
1155
|
"type": "string"
|
1339
1156
|
}
|
1340
|
-
}
|
1157
|
+
},
|
1158
|
+
"required": [
|
1159
|
+
"name",
|
1160
|
+
"path"
|
1161
|
+
]
|
1341
1162
|
},
|
1342
1163
|
"ResolversSchemaModuleConfig": {
|
1343
1164
|
"description": "Configuration for resolvers_schema_module generation",
|
1344
1165
|
"type": "object",
|
1345
1166
|
"properties": {
|
1346
1167
|
"applyToNormalizationAst": {
|
1347
|
-
"
|
1348
|
-
"
|
1168
|
+
"type": "boolean",
|
1169
|
+
"default": false
|
1349
1170
|
},
|
1350
1171
|
"path": {
|
1351
|
-
"
|
1352
|
-
"
|
1172
|
+
"type": "string",
|
1173
|
+
"default": ""
|
1353
1174
|
}
|
1354
1175
|
},
|
1355
1176
|
"additionalProperties": false
|
1356
1177
|
},
|
1357
1178
|
"Rollout": {
|
1358
|
-
"description": "A utility to enable gradual rollout of large codegen changes
|
1179
|
+
"description": "A utility to enable gradual rollout of large codegen changes.\nCan be constructed as the Default which passes or a percentage between 0 and\n100.",
|
1359
1180
|
"type": [
|
1360
1181
|
"integer",
|
1361
1182
|
"null"
|
1362
1183
|
],
|
1363
1184
|
"format": "uint8",
|
1364
|
-
"
|
1185
|
+
"maximum": 255,
|
1186
|
+
"minimum": 0
|
1365
1187
|
},
|
1366
1188
|
"RolloutRange": {
|
1367
|
-
"description": "A utility to enable gradual rollout of large codegen changes. Allows you to
|
1189
|
+
"description": "A utility to enable gradual rollout of large codegen changes. Allows you to\nspecify a range of percentages to rollout.",
|
1368
1190
|
"type": "object",
|
1369
|
-
"required": [
|
1370
|
-
"end",
|
1371
|
-
"start"
|
1372
|
-
],
|
1373
1191
|
"properties": {
|
1374
1192
|
"end": {
|
1375
1193
|
"type": "integer",
|
1376
1194
|
"format": "uint8",
|
1377
|
-
"
|
1195
|
+
"maximum": 255,
|
1196
|
+
"minimum": 0
|
1378
1197
|
},
|
1379
1198
|
"start": {
|
1380
1199
|
"type": "integer",
|
1381
1200
|
"format": "uint8",
|
1382
|
-
"
|
1201
|
+
"maximum": 255,
|
1202
|
+
"minimum": 0
|
1383
1203
|
}
|
1384
|
-
}
|
1204
|
+
},
|
1205
|
+
"required": [
|
1206
|
+
"start",
|
1207
|
+
"end"
|
1208
|
+
]
|
1385
1209
|
},
|
1386
1210
|
"SavedStateClockData": {
|
1387
|
-
"description": "Holds extended clock data that includes source control aware
|
1211
|
+
"description": "Holds extended clock data that includes source control aware\nquery metadata.\n<https://facebook.github.io/watchman/docs/scm-query.html>",
|
1388
1212
|
"type": "object",
|
1389
1213
|
"properties": {
|
1390
1214
|
"commit-id": {
|
@@ -1406,6 +1230,7 @@
|
|
1406
1230
|
"type": "object",
|
1407
1231
|
"properties": {
|
1408
1232
|
"connectionInterface": {
|
1233
|
+
"$ref": "#/$defs/ConnectionInterface",
|
1409
1234
|
"default": {
|
1410
1235
|
"cursor": "cursor",
|
1411
1236
|
"edges": "edges",
|
@@ -1415,14 +1240,10 @@
|
|
1415
1240
|
"node": "node",
|
1416
1241
|
"pageInfo": "pageInfo",
|
1417
1242
|
"startCursor": "startCursor"
|
1418
|
-
}
|
1419
|
-
"allOf": [
|
1420
|
-
{
|
1421
|
-
"$ref": "#/definitions/ConnectionInterface"
|
1422
|
-
}
|
1423
|
-
]
|
1243
|
+
}
|
1424
1244
|
},
|
1425
1245
|
"deferStreamInterface": {
|
1246
|
+
"$ref": "#/$defs/DeferStreamInterface",
|
1426
1247
|
"default": {
|
1427
1248
|
"deferName": "defer",
|
1428
1249
|
"ifArg": "if",
|
@@ -1430,60 +1251,43 @@
|
|
1430
1251
|
"labelArg": "label",
|
1431
1252
|
"streamName": "stream",
|
1432
1253
|
"useCustomizedBatchArg": "useCustomizedBatch"
|
1433
|
-
}
|
1434
|
-
"allOf": [
|
1435
|
-
{
|
1436
|
-
"$ref": "#/definitions/DeferStreamInterface"
|
1437
|
-
}
|
1438
|
-
]
|
1254
|
+
}
|
1439
1255
|
},
|
1440
1256
|
"enableTokenField": {
|
1441
1257
|
"description": "If we should select __token field on fetchable types",
|
1442
|
-
"
|
1443
|
-
"
|
1258
|
+
"type": "boolean",
|
1259
|
+
"default": false
|
1444
1260
|
},
|
1445
1261
|
"nodeInterfaceIdField": {
|
1446
1262
|
"description": "The name of the `id` field that exists on the `Node` interface.",
|
1447
|
-
"
|
1448
|
-
"
|
1449
|
-
{
|
1450
|
-
"$ref": "#/definitions/StringKey"
|
1451
|
-
}
|
1452
|
-
]
|
1263
|
+
"$ref": "#/$defs/StringKey",
|
1264
|
+
"default": "id"
|
1453
1265
|
},
|
1454
1266
|
"nodeInterfaceIdVariableName": {
|
1455
1267
|
"description": "The name of the variable expected by the `node` query.",
|
1456
|
-
"
|
1457
|
-
"
|
1458
|
-
{
|
1459
|
-
"$ref": "#/definitions/StringKey"
|
1460
|
-
}
|
1461
|
-
]
|
1268
|
+
"$ref": "#/$defs/StringKey",
|
1269
|
+
"default": "id"
|
1462
1270
|
},
|
1463
1271
|
"nonNodeIdFields": {
|
1464
|
-
"default": null,
|
1465
1272
|
"anyOf": [
|
1466
1273
|
{
|
1467
|
-
"$ref": "
|
1274
|
+
"$ref": "#/$defs/NonNodeIdFieldsConfig"
|
1468
1275
|
},
|
1469
1276
|
{
|
1470
1277
|
"type": "null"
|
1471
1278
|
}
|
1472
|
-
]
|
1279
|
+
],
|
1280
|
+
"default": null
|
1473
1281
|
},
|
1474
1282
|
"unselectableDirectiveName": {
|
1475
1283
|
"description": "The name of the directive indicating fields that cannot be selected",
|
1476
|
-
"
|
1477
|
-
"
|
1478
|
-
{
|
1479
|
-
"$ref": "#/definitions/DirectiveName"
|
1480
|
-
}
|
1481
|
-
]
|
1284
|
+
"$ref": "#/$defs/DirectiveName",
|
1285
|
+
"default": "unselectable"
|
1482
1286
|
}
|
1483
1287
|
}
|
1484
1288
|
},
|
1485
1289
|
"ScmAwareClockData": {
|
1486
|
-
"description": "Holds extended clock data that includes source control aware
|
1290
|
+
"description": "Holds extended clock data that includes source control aware\nquery metadata.\n<https://facebook.github.io/watchman/docs/scm-query.html>",
|
1487
1291
|
"type": "object",
|
1488
1292
|
"properties": {
|
1489
1293
|
"mergebase": {
|
@@ -1501,7 +1305,7 @@
|
|
1501
1305
|
"saved-state": {
|
1502
1306
|
"anyOf": [
|
1503
1307
|
{
|
1504
|
-
"$ref": "
|
1308
|
+
"$ref": "#/$defs/SavedStateClockData"
|
1505
1309
|
},
|
1506
1310
|
{
|
1507
1311
|
"type": "null"
|
@@ -1512,39 +1316,36 @@
|
|
1512
1316
|
},
|
1513
1317
|
"SingleProjectConfigFile": {
|
1514
1318
|
"type": "object",
|
1515
|
-
"required": [
|
1516
|
-
"language"
|
1517
|
-
],
|
1518
1319
|
"properties": {
|
1519
1320
|
"$schema": {
|
1520
1321
|
"description": "The user may hard-code the JSON Schema for their version of the config.",
|
1521
|
-
"default": null,
|
1522
1322
|
"type": [
|
1523
1323
|
"string",
|
1524
1324
|
"null"
|
1525
|
-
]
|
1325
|
+
],
|
1326
|
+
"default": null
|
1526
1327
|
},
|
1527
1328
|
"artifactDirectory": {
|
1528
|
-
"description": "A specific directory to output all artifacts to. When enabling this
|
1529
|
-
"default": null,
|
1329
|
+
"description": "A specific directory to output all artifacts to. When enabling this\nthe babel plugin needs `artifactDirectory` set as well.",
|
1530
1330
|
"type": [
|
1531
1331
|
"string",
|
1532
1332
|
"null"
|
1533
|
-
]
|
1333
|
+
],
|
1334
|
+
"default": null
|
1534
1335
|
},
|
1535
1336
|
"codegenCommand": {
|
1536
|
-
"description": "Name of the command that runs the relay compiler. This will be added at
|
1537
|
-
"default": null,
|
1337
|
+
"description": "Name of the command that runs the relay compiler. This will be added at\nthe top of generated code to let readers know how to regenerate the file.",
|
1538
1338
|
"type": [
|
1539
1339
|
"string",
|
1540
1340
|
"null"
|
1541
|
-
]
|
1341
|
+
],
|
1342
|
+
"default": null
|
1542
1343
|
},
|
1543
1344
|
"customErrorType": {
|
1544
|
-
"description": "A map from GraphQL error name to import path, example
|
1345
|
+
"description": "A map from GraphQL error name to import path, example:\n{\"name:: \"MyErrorName\", \"path\": \"../src/MyError\"}",
|
1545
1346
|
"anyOf": [
|
1546
1347
|
{
|
1547
|
-
"$ref": "
|
1348
|
+
"$ref": "#/$defs/CustomTypeImport"
|
1548
1349
|
},
|
1549
1350
|
{
|
1550
1351
|
"type": "null"
|
@@ -1552,162 +1353,155 @@
|
|
1552
1353
|
]
|
1553
1354
|
},
|
1554
1355
|
"customScalarTypes": {
|
1555
|
-
"description": "A map from GraphQL scalar types to a custom JS type, example
|
1556
|
-
"default": {},
|
1356
|
+
"description": "A map from GraphQL scalar types to a custom JS type, example:\n{ \"Url\": \"String\" }\n{ \"Url\": {\"name:: \"MyURL\", \"path\": \"../src/MyUrlTypes\"} }",
|
1557
1357
|
"type": "object",
|
1558
1358
|
"additionalProperties": {
|
1559
|
-
"$ref": "
|
1560
|
-
}
|
1359
|
+
"$ref": "#/$defs/CustomType"
|
1360
|
+
},
|
1361
|
+
"default": {}
|
1561
1362
|
},
|
1562
1363
|
"eagerEsModules": {
|
1563
|
-
"description": "This option enables opting out of emitting es modules artifacts. When
|
1564
|
-
"
|
1565
|
-
"
|
1364
|
+
"description": "This option enables opting out of emitting es modules artifacts. When\nset to false, Relay will emit CommonJS modules.",
|
1365
|
+
"type": "boolean",
|
1366
|
+
"default": true
|
1566
1367
|
},
|
1567
1368
|
"enumModuleSuffix": {
|
1568
1369
|
"title": "For Flow type generation",
|
1569
|
-
"description": "When set, enum values are imported from a module with this suffix
|
1370
|
+
"description": "When set, enum values are imported from a module with this suffix.\nFor example, an enum Foo and this property set to \".test\" would be\nimported from \"Foo.test\".\nNote: an empty string is allowed and different from not setting the\nvalue, in the example above it would just import from \"Foo\".",
|
1570
1371
|
"type": [
|
1571
1372
|
"string",
|
1572
1373
|
"null"
|
1573
1374
|
]
|
1574
1375
|
},
|
1575
1376
|
"excludes": {
|
1576
|
-
"description": "Directories to ignore under src
|
1377
|
+
"description": "Directories to ignore under src\ndefault: ['**/node_modules/**', '**/__mocks__/**', '**/__generated__/**'],",
|
1378
|
+
"type": "array",
|
1577
1379
|
"default": [
|
1578
1380
|
"**/node_modules/**",
|
1579
1381
|
"**/__mocks__/**",
|
1580
1382
|
"**/__generated__/**"
|
1581
1383
|
],
|
1582
|
-
"type": "array",
|
1583
1384
|
"items": {
|
1584
1385
|
"type": "string"
|
1585
1386
|
}
|
1586
1387
|
},
|
1388
|
+
"extra": {
|
1389
|
+
"description": "A placeholder for allowing extra information in the config file",
|
1390
|
+
"default": null
|
1391
|
+
},
|
1587
1392
|
"featureFlags": {
|
1588
|
-
"description": "Enable and disable experimental or legacy behaviors
|
1589
|
-
"default": null,
|
1393
|
+
"description": "Enable and disable experimental or legacy behaviors.\nWARNING! These are not stable and may change at any time.",
|
1590
1394
|
"anyOf": [
|
1591
1395
|
{
|
1592
|
-
"$ref": "
|
1396
|
+
"$ref": "#/$defs/FeatureFlags"
|
1593
1397
|
},
|
1594
1398
|
{
|
1595
1399
|
"type": "null"
|
1596
1400
|
}
|
1597
|
-
]
|
1401
|
+
],
|
1402
|
+
"default": null
|
1598
1403
|
},
|
1599
1404
|
"isDevVariableName": {
|
1600
|
-
"description": "We may generate some content in the artifacts that's stripped in production if __DEV__ variable is set
|
1601
|
-
"default": null,
|
1405
|
+
"description": "We may generate some content in the artifacts that's stripped in production if __DEV__ variable is set\nThis config option is here to define the name of that special variable",
|
1602
1406
|
"type": [
|
1603
1407
|
"string",
|
1604
1408
|
"null"
|
1605
|
-
]
|
1409
|
+
],
|
1410
|
+
"default": null
|
1606
1411
|
},
|
1607
1412
|
"jsModuleFormat": {
|
1608
1413
|
"description": "Import/export style to use in generated JavaScript modules.",
|
1609
|
-
"
|
1610
|
-
"
|
1611
|
-
{
|
1612
|
-
"$ref": "#/definitions/JsModuleFormat"
|
1613
|
-
}
|
1614
|
-
]
|
1414
|
+
"$ref": "#/$defs/JsModuleFormat",
|
1415
|
+
"default": "commonjs"
|
1615
1416
|
},
|
1616
1417
|
"language": {
|
1617
1418
|
"description": "The desired output language, \"flow\" or \"typescript\".",
|
1618
|
-
"
|
1619
|
-
{
|
1620
|
-
"$ref": "#/definitions/TypegenLanguage"
|
1621
|
-
}
|
1622
|
-
]
|
1419
|
+
"$ref": "#/$defs/TypegenLanguage"
|
1623
1420
|
},
|
1624
1421
|
"moduleImportConfig": {
|
1625
1422
|
"description": "Configuration for @module",
|
1423
|
+
"$ref": "#/$defs/ModuleImportConfig",
|
1626
1424
|
"default": {
|
1627
1425
|
"dynamicModuleProvider": null,
|
1628
1426
|
"operationModuleProvider": null,
|
1629
1427
|
"surface": null
|
1630
|
-
}
|
1631
|
-
"allOf": [
|
1632
|
-
{
|
1633
|
-
"$ref": "#/definitions/ModuleImportConfig"
|
1634
|
-
}
|
1635
|
-
]
|
1428
|
+
}
|
1636
1429
|
},
|
1637
1430
|
"noFutureProofEnums": {
|
1638
|
-
"description": "This option controls whether or not a catch-all entry is added to enum type definitions
|
1639
|
-
"
|
1640
|
-
"
|
1431
|
+
"description": "This option controls whether or not a catch-all entry is added to enum type definitions\nfor values that may be added in the future. Enabling this means you will have to update\nyour application whenever the GraphQL server schema adds new enum values to prevent it\nfrom breaking.",
|
1432
|
+
"type": "boolean",
|
1433
|
+
"default": false
|
1641
1434
|
},
|
1642
1435
|
"noSourceControl": {
|
1643
1436
|
"description": "Opt out of source control checks/integration.",
|
1644
|
-
"default": null,
|
1645
1437
|
"type": [
|
1646
1438
|
"boolean",
|
1647
1439
|
"null"
|
1648
|
-
]
|
1440
|
+
],
|
1441
|
+
"default": null
|
1649
1442
|
},
|
1650
1443
|
"optionalInputFields": {
|
1651
1444
|
"title": "For Flow type generation",
|
1652
|
-
"description": "When set, generated input types will have the listed fields optional
|
1653
|
-
"default": [],
|
1445
|
+
"description": "When set, generated input types will have the listed fields optional\neven if the schema defines them as required.",
|
1654
1446
|
"type": "array",
|
1447
|
+
"default": [],
|
1655
1448
|
"items": {
|
1656
|
-
"$ref": "
|
1449
|
+
"$ref": "#/$defs/StringKey"
|
1657
1450
|
}
|
1658
1451
|
},
|
1659
1452
|
"persistConfig": {
|
1660
|
-
"description": "Query Persist Configuration
|
1661
|
-
"default": null,
|
1453
|
+
"description": "Query Persist Configuration\nIt contains URL and addition parameters that will be included\nwith the request (think API_KEY, APP_ID, etc...)",
|
1662
1454
|
"anyOf": [
|
1663
1455
|
{
|
1664
|
-
"$ref": "
|
1456
|
+
"$ref": "#/$defs/PersistConfig"
|
1665
1457
|
},
|
1666
1458
|
{
|
1667
1459
|
"type": "null"
|
1668
1460
|
}
|
1669
|
-
]
|
1461
|
+
],
|
1462
|
+
"default": null
|
1670
1463
|
},
|
1671
1464
|
"relativizeJsModulePaths": {
|
1672
|
-
"description": "Whether to treat all JS module names as relative to './' (true) or not
|
1673
|
-
"
|
1674
|
-
"
|
1465
|
+
"description": "Whether to treat all JS module names as relative to './' (true) or not.\ndefault: true",
|
1466
|
+
"type": "boolean",
|
1467
|
+
"default": true
|
1675
1468
|
},
|
1676
1469
|
"requireCustomScalarTypes": {
|
1677
|
-
"description": "Require all GraphQL scalar types mapping to be defined, will throw
|
1678
|
-
"
|
1679
|
-
"
|
1470
|
+
"description": "Require all GraphQL scalar types mapping to be defined, will throw\nif a GraphQL scalar type doesn't have a JS type",
|
1471
|
+
"type": "boolean",
|
1472
|
+
"default": false
|
1680
1473
|
},
|
1681
1474
|
"resolverContextType": {
|
1682
1475
|
"description": "Indicates the type to import and use as the context for Relay Resolvers.",
|
1683
|
-
"default": null,
|
1684
1476
|
"anyOf": [
|
1685
1477
|
{
|
1686
|
-
"$ref": "
|
1478
|
+
"$ref": "#/$defs/ResolverContextTypeInput"
|
1687
1479
|
},
|
1688
1480
|
{
|
1689
1481
|
"type": "null"
|
1690
1482
|
}
|
1691
|
-
]
|
1483
|
+
],
|
1484
|
+
"default": null
|
1692
1485
|
},
|
1693
1486
|
"resolversSchemaModule": {
|
1694
|
-
"default": null,
|
1695
1487
|
"anyOf": [
|
1696
1488
|
{
|
1697
|
-
"$ref": "
|
1489
|
+
"$ref": "#/$defs/ResolversSchemaModuleConfig"
|
1698
1490
|
},
|
1699
1491
|
{
|
1700
1492
|
"type": "null"
|
1701
1493
|
}
|
1702
|
-
]
|
1494
|
+
],
|
1495
|
+
"default": null
|
1703
1496
|
},
|
1704
1497
|
"schema": {
|
1705
1498
|
"description": "Path to schema.graphql",
|
1706
|
-
"
|
1707
|
-
"
|
1499
|
+
"type": "string",
|
1500
|
+
"default": ""
|
1708
1501
|
},
|
1709
1502
|
"schemaConfig": {
|
1710
1503
|
"description": "Extra configuration for the GraphQL schema itself.",
|
1504
|
+
"$ref": "#/$defs/SchemaConfig",
|
1711
1505
|
"default": {
|
1712
1506
|
"connectionInterface": {
|
1713
1507
|
"cursor": "cursor",
|
@@ -1732,42 +1526,41 @@
|
|
1732
1526
|
"nodeInterfaceIdVariableName": "id",
|
1733
1527
|
"nonNodeIdFields": null,
|
1734
1528
|
"unselectableDirectiveName": "unselectable"
|
1735
|
-
}
|
1736
|
-
"allOf": [
|
1737
|
-
{
|
1738
|
-
"$ref": "#/definitions/SchemaConfig"
|
1739
|
-
}
|
1740
|
-
]
|
1529
|
+
}
|
1741
1530
|
},
|
1742
1531
|
"schemaExtensions": {
|
1743
1532
|
"description": "List of directories with schema extensions.",
|
1744
|
-
"default": [],
|
1745
1533
|
"type": "array",
|
1534
|
+
"default": [],
|
1746
1535
|
"items": {
|
1747
1536
|
"type": "string"
|
1748
1537
|
}
|
1749
1538
|
},
|
1750
1539
|
"src": {
|
1751
1540
|
"description": "Root directory of application code",
|
1752
|
-
"
|
1753
|
-
"
|
1541
|
+
"type": "string",
|
1542
|
+
"default": ""
|
1754
1543
|
},
|
1755
1544
|
"typescriptExcludeUndefinedFromNullableUnion": {
|
1756
|
-
"description": "Keep the previous compiler behavior by outputting an union
|
1757
|
-
"
|
1758
|
-
"
|
1545
|
+
"description": "Keep the previous compiler behavior by outputting an union\nof the raw type and null, and not the **correct** behavior\nof an union with the raw type, null and undefined.",
|
1546
|
+
"type": "boolean",
|
1547
|
+
"default": false
|
1759
1548
|
},
|
1760
1549
|
"useImportTypeSyntax": {
|
1761
1550
|
"title": "For Typescript type generation",
|
1762
|
-
"description": "Whether to use the `import type` syntax introduced in Typescript
|
1763
|
-
"
|
1764
|
-
"
|
1551
|
+
"description": "Whether to use the `import type` syntax introduced in Typescript\nversion 3.8. This will prevent warnings from `importsNotUsedAsValues`.",
|
1552
|
+
"type": "boolean",
|
1553
|
+
"default": false
|
1765
1554
|
}
|
1766
1555
|
},
|
1767
|
-
"additionalProperties": false
|
1556
|
+
"additionalProperties": false,
|
1557
|
+
"required": [
|
1558
|
+
"language"
|
1559
|
+
]
|
1768
1560
|
},
|
1769
1561
|
"StringKey": {
|
1770
|
-
"type": "string"
|
1562
|
+
"type": "string",
|
1563
|
+
"format": null
|
1771
1564
|
},
|
1772
1565
|
"Surface": {
|
1773
1566
|
"type": "string",
|