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