relay-compiler 0.0.0-main-4d287de9 → 0.0.0-main-9a79039d
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/cli.js +23 -0
- package/index.js +19 -3
- package/linux-x64/relay +0 -0
- package/macos-x64/relay +0 -0
- package/package.json +2 -26
- package/win-x64/relay.exe +0 -0
- package/bin/RelayCompilerBin.js.flow +0 -168
- package/bin/RelayCompilerMain.js.flow +0 -513
- package/bin/__fixtures__/plugin-module.js.flow +0 -17
- package/bin/relay-compiler +0 -19066
- package/codegen/CodegenDirectory.js.flow +0 -372
- package/codegen/CodegenRunner.js.flow +0 -424
- package/codegen/CodegenTypes.js.flow +0 -28
- package/codegen/CodegenWatcher.js.flow +0 -250
- package/codegen/NormalizationCodeGenerator.js.flow +0 -565
- package/codegen/ReaderCodeGenerator.js.flow +0 -510
- package/codegen/RelayCodeGenerator.js.flow +0 -85
- package/codegen/RelayFileWriter.js.flow +0 -365
- package/codegen/SourceControl.js.flow +0 -58
- package/codegen/compileRelayArtifacts.js.flow +0 -181
- package/codegen/createPrintRequireModuleDependency.js.flow +0 -19
- package/codegen/sortObjectByKey.js.flow +0 -25
- package/codegen/writeRelayGeneratedFile.js.flow +0 -235
- package/core/ASTCache.js.flow +0 -73
- package/core/ASTConvert.js.flow +0 -230
- package/core/CompilerContext.js.flow +0 -189
- package/core/CompilerError.js.flow +0 -255
- package/core/DotGraphQLParser.js.flow +0 -37
- package/core/GraphQLCompilerProfiler.js.flow +0 -341
- package/core/GraphQLDerivedFromMetadata.js.flow +0 -36
- package/core/GraphQLWatchmanClient.js.flow +0 -109
- package/core/IR.js.flow +0 -326
- package/core/IRPrinter.js.flow +0 -472
- package/core/IRTransformer.js.flow +0 -376
- package/core/IRValidator.js.flow +0 -259
- package/core/IRVisitor.js.flow +0 -150
- package/core/JSModuleParser.js.flow +0 -24
- package/core/RelayCompilerScope.js.flow +0 -199
- package/core/RelayFindGraphQLTags.js.flow +0 -118
- package/core/RelayGraphQLEnumsGenerator.js.flow +0 -55
- package/core/RelayIRTransforms.js.flow +0 -138
- package/core/RelayParser.js.flow +0 -1731
- package/core/RelaySourceModuleParser.js.flow +0 -133
- package/core/Schema.js.flow +0 -2035
- package/core/SchemaUtils.js.flow +0 -120
- package/core/filterContextForNode.js.flow +0 -49
- package/core/getFieldDefinition.js.flow +0 -156
- package/core/getIdentifierForArgumentValue.js.flow +0 -49
- package/core/getIdentifierForSelection.js.flow +0 -68
- package/core/getLiteralArgumentValues.js.flow +0 -32
- package/core/getNormalizationOperationName.js.flow +0 -19
- package/core/inferRootArgumentDefinitions.js.flow +0 -322
- package/index.js.flow +0 -198
- package/language/RelayLanguagePluginInterface.js.flow +0 -283
- package/language/javascript/FindGraphQLTags.js.flow +0 -136
- package/language/javascript/RelayFlowBabelFactories.js.flow +0 -176
- package/language/javascript/RelayFlowGenerator.js.flow +0 -1096
- package/language/javascript/RelayFlowTypeTransformers.js.flow +0 -181
- package/language/javascript/RelayLanguagePluginJavaScript.js.flow +0 -33
- package/language/javascript/formatGeneratedModule.js.flow +0 -65
- package/lib/bin/RelayCompilerBin.js +0 -143
- package/lib/bin/RelayCompilerMain.js +0 -486
- package/lib/bin/__fixtures__/plugin-module.js +0 -16
- package/lib/codegen/CodegenDirectory.js +0 -335
- package/lib/codegen/CodegenRunner.js +0 -433
- package/lib/codegen/CodegenTypes.js +0 -11
- package/lib/codegen/CodegenWatcher.js +0 -271
- package/lib/codegen/NormalizationCodeGenerator.js +0 -487
- package/lib/codegen/ReaderCodeGenerator.js +0 -473
- package/lib/codegen/RelayCodeGenerator.js +0 -75
- package/lib/codegen/RelayFileWriter.js +0 -270
- package/lib/codegen/SourceControl.js +0 -60
- package/lib/codegen/compileRelayArtifacts.js +0 -157
- package/lib/codegen/createPrintRequireModuleDependency.js +0 -19
- package/lib/codegen/sortObjectByKey.js +0 -41
- package/lib/codegen/writeRelayGeneratedFile.js +0 -206
- package/lib/core/ASTCache.js +0 -70
- package/lib/core/ASTConvert.js +0 -198
- package/lib/core/CompilerContext.js +0 -165
- package/lib/core/CompilerError.js +0 -252
- package/lib/core/DotGraphQLParser.js +0 -40
- package/lib/core/GraphQLCompilerProfiler.js +0 -299
- package/lib/core/GraphQLDerivedFromMetadata.js +0 -31
- package/lib/core/GraphQLWatchmanClient.js +0 -150
- package/lib/core/IR.js +0 -11
- package/lib/core/IRPrinter.js +0 -388
- package/lib/core/IRTransformer.js +0 -345
- package/lib/core/IRValidator.js +0 -226
- package/lib/core/IRVisitor.js +0 -45
- package/lib/core/JSModuleParser.js +0 -18
- package/lib/core/RelayCompilerScope.js +0 -183
- package/lib/core/RelayFindGraphQLTags.js +0 -79
- package/lib/core/RelayGraphQLEnumsGenerator.js +0 -50
- package/lib/core/RelayIRTransforms.js +0 -109
- package/lib/core/RelayParser.js +0 -1381
- package/lib/core/RelaySourceModuleParser.js +0 -104
- package/lib/core/Schema.js +0 -1877
- package/lib/core/SchemaUtils.js +0 -98
- package/lib/core/filterContextForNode.js +0 -50
- package/lib/core/getFieldDefinition.js +0 -145
- package/lib/core/getIdentifierForArgumentValue.js +0 -54
- package/lib/core/getIdentifierForSelection.js +0 -49
- package/lib/core/getLiteralArgumentValues.js +0 -26
- package/lib/core/getNormalizationOperationName.js +0 -17
- package/lib/core/inferRootArgumentDefinitions.js +0 -351
- package/lib/index.js +0 -178
- package/lib/language/RelayLanguagePluginInterface.js +0 -26
- package/lib/language/javascript/FindGraphQLTags.js +0 -126
- package/lib/language/javascript/RelayFlowBabelFactories.js +0 -160
- package/lib/language/javascript/RelayFlowGenerator.js +0 -856
- package/lib/language/javascript/RelayFlowTypeTransformers.js +0 -119
- package/lib/language/javascript/RelayLanguagePluginJavaScript.js +0 -30
- package/lib/language/javascript/formatGeneratedModule.js +0 -36
- package/lib/reporters/ConsoleReporter.js +0 -61
- package/lib/reporters/MultiReporter.js +0 -45
- package/lib/reporters/Reporter.js +0 -11
- package/lib/runner/Artifacts.js +0 -323
- package/lib/runner/BufferedFilesystem.js +0 -262
- package/lib/runner/GraphQLASTNodeGroup.js +0 -256
- package/lib/runner/GraphQLASTUtils.js +0 -23
- package/lib/runner/GraphQLNodeMap.js +0 -81
- package/lib/runner/Sources.js +0 -271
- package/lib/runner/StrictMap.js +0 -134
- package/lib/runner/compileArtifacts.js +0 -39
- package/lib/runner/extractAST.js +0 -77
- package/lib/runner/getChangedNodeNames.js +0 -82
- package/lib/runner/getSchemaInstance.js +0 -30
- package/lib/runner/types.js +0 -12
- package/lib/transforms/ApplyFragmentArgumentTransform.js +0 -393
- package/lib/transforms/ClientExtensionsTransform.js +0 -221
- package/lib/transforms/ConnectionTransform.js +0 -639
- package/lib/transforms/DeclarativeConnectionMutationTransform.js +0 -218
- package/lib/transforms/DeferStreamTransform.js +0 -246
- package/lib/transforms/DisallowIdAsAlias.js +0 -40
- package/lib/transforms/DisallowTypenameOnRoot.js +0 -53
- package/lib/transforms/FieldHandleTransform.js +0 -79
- package/lib/transforms/FilterCompilerDirectivesTransform.js +0 -29
- package/lib/transforms/FilterDirectivesTransform.js +0 -42
- package/lib/transforms/FlattenTransform.js +0 -306
- package/lib/transforms/GenerateIDFieldTransform.js +0 -135
- package/lib/transforms/GenerateTypeNameTransform.js +0 -149
- package/lib/transforms/InlineDataFragmentTransform.js +0 -100
- package/lib/transforms/InlineFragmentsTransform.js +0 -61
- package/lib/transforms/MaskTransform.js +0 -117
- package/lib/transforms/MatchTransform.js +0 -434
- package/lib/transforms/ReactFlightComponentTransform.js +0 -158
- package/lib/transforms/RefetchableFragmentTransform.js +0 -249
- package/lib/transforms/RelayDirectiveTransform.js +0 -83
- package/lib/transforms/RequiredFieldTransform.js +0 -369
- package/lib/transforms/SkipClientExtensionsTransform.js +0 -46
- package/lib/transforms/SkipHandleFieldTransform.js +0 -45
- package/lib/transforms/SkipRedundantNodesTransform.js +0 -261
- package/lib/transforms/SkipSplitOperationTransform.js +0 -32
- package/lib/transforms/SkipUnreachableNodeTransform.js +0 -158
- package/lib/transforms/SkipUnusedVariablesTransform.js +0 -75
- package/lib/transforms/SplitModuleImportTransform.js +0 -82
- package/lib/transforms/TestOperationTransform.js +0 -144
- package/lib/transforms/TransformUtils.js +0 -21
- package/lib/transforms/ValidateGlobalVariablesTransform.js +0 -92
- package/lib/transforms/ValidateRequiredArgumentsTransform.js +0 -114
- package/lib/transforms/ValidateServerOnlyDirectivesTransform.js +0 -108
- package/lib/transforms/ValidateUnusedVariablesTransform.js +0 -96
- package/lib/transforms/query-generators/FetchableQueryGenerator.js +0 -157
- package/lib/transforms/query-generators/NodeQueryGenerator.js +0 -166
- package/lib/transforms/query-generators/QueryQueryGenerator.js +0 -48
- package/lib/transforms/query-generators/ViewerQueryGenerator.js +0 -77
- package/lib/transforms/query-generators/index.js +0 -60
- package/lib/transforms/query-generators/utils.js +0 -92
- package/lib/util/CodeMarker.js +0 -80
- package/lib/util/DefaultHandleKey.js +0 -15
- package/lib/util/RelayCompilerCache.js +0 -97
- package/lib/util/Rollout.js +0 -40
- package/lib/util/TimeReporter.js +0 -83
- package/lib/util/areEqualArgValues.js +0 -135
- package/lib/util/argumentContainsVariables.js +0 -37
- package/lib/util/dedupeJSONStringify.js +0 -160
- package/lib/util/generateAbstractTypeRefinementKey.js +0 -24
- package/lib/util/getDefinitionNodeHash.js +0 -22
- package/lib/util/getModuleName.js +0 -32
- package/lib/util/joinArgumentDefinitions.js +0 -67
- package/lib/util/md5.js +0 -17
- package/lib/util/murmurHash.js +0 -86
- package/lib/util/nullthrowsOSS.js +0 -23
- package/lib/util/orList.js +0 -36
- package/lib/util/partitionArray.js +0 -35
- package/relay-compiler.js +0 -17
- package/relay-compiler.min.js +0 -22
- package/reporters/ConsoleReporter.js.flow +0 -81
- package/reporters/MultiReporter.js.flow +0 -43
- package/reporters/Reporter.js.flow +0 -19
- package/runner/Artifacts.js.flow +0 -215
- package/runner/BufferedFilesystem.js.flow +0 -194
- package/runner/GraphQLASTNodeGroup.js.flow +0 -174
- package/runner/GraphQLASTUtils.js.flow +0 -26
- package/runner/GraphQLNodeMap.js.flow +0 -55
- package/runner/Sources.js.flow +0 -227
- package/runner/StrictMap.js.flow +0 -96
- package/runner/compileArtifacts.js.flow +0 -75
- package/runner/extractAST.js.flow +0 -98
- package/runner/getChangedNodeNames.js.flow +0 -48
- package/runner/getSchemaInstance.js.flow +0 -36
- package/runner/types.js.flow +0 -37
- package/transforms/ApplyFragmentArgumentTransform.js.flow +0 -524
- package/transforms/ClientExtensionsTransform.js.flow +0 -224
- package/transforms/ConnectionTransform.js.flow +0 -850
- package/transforms/DeclarativeConnectionMutationTransform.js.flow +0 -245
- package/transforms/DeferStreamTransform.js.flow +0 -263
- package/transforms/DisallowIdAsAlias.js.flow +0 -46
- package/transforms/DisallowTypenameOnRoot.js.flow +0 -44
- package/transforms/FieldHandleTransform.js.flow +0 -77
- package/transforms/FilterCompilerDirectivesTransform.js.flow +0 -33
- package/transforms/FilterDirectivesTransform.js.flow +0 -45
- package/transforms/FlattenTransform.js.flow +0 -458
- package/transforms/GenerateIDFieldTransform.js.flow +0 -151
- package/transforms/GenerateTypeNameTransform.js.flow +0 -159
- package/transforms/InlineDataFragmentTransform.js.flow +0 -123
- package/transforms/InlineFragmentsTransform.js.flow +0 -70
- package/transforms/MaskTransform.js.flow +0 -124
- package/transforms/MatchTransform.js.flow +0 -587
- package/transforms/ReactFlightComponentTransform.js.flow +0 -194
- package/transforms/RefetchableFragmentTransform.js.flow +0 -266
- package/transforms/RelayDirectiveTransform.js.flow +0 -96
- package/transforms/RequiredFieldTransform.js.flow +0 -413
- package/transforms/SkipClientExtensionsTransform.js.flow +0 -54
- package/transforms/SkipHandleFieldTransform.js.flow +0 -44
- package/transforms/SkipRedundantNodesTransform.js.flow +0 -255
- package/transforms/SkipSplitOperationTransform.js.flow +0 -37
- package/transforms/SkipUnreachableNodeTransform.js.flow +0 -148
- package/transforms/SkipUnusedVariablesTransform.js.flow +0 -59
- package/transforms/SplitModuleImportTransform.js.flow +0 -97
- package/transforms/TestOperationTransform.js.flow +0 -142
- package/transforms/TransformUtils.js.flow +0 -26
- package/transforms/ValidateGlobalVariablesTransform.js.flow +0 -80
- package/transforms/ValidateRequiredArgumentsTransform.js.flow +0 -126
- package/transforms/ValidateServerOnlyDirectivesTransform.js.flow +0 -111
- package/transforms/ValidateUnusedVariablesTransform.js.flow +0 -88
- package/transforms/query-generators/FetchableQueryGenerator.js.flow +0 -188
- package/transforms/query-generators/NodeQueryGenerator.js.flow +0 -217
- package/transforms/query-generators/QueryQueryGenerator.js.flow +0 -57
- package/transforms/query-generators/ViewerQueryGenerator.js.flow +0 -97
- package/transforms/query-generators/index.js.flow +0 -89
- package/transforms/query-generators/utils.js.flow +0 -76
- package/util/CodeMarker.js.flow +0 -79
- package/util/DefaultHandleKey.js.flow +0 -17
- package/util/RelayCompilerCache.js.flow +0 -86
- package/util/Rollout.js.flow +0 -39
- package/util/TimeReporter.js.flow +0 -79
- package/util/areEqualArgValues.js.flow +0 -126
- package/util/argumentContainsVariables.js.flow +0 -38
- package/util/dedupeJSONStringify.js.flow +0 -152
- package/util/generateAbstractTypeRefinementKey.js.flow +0 -29
- package/util/getDefinitionNodeHash.js.flow +0 -24
- package/util/getModuleName.js.flow +0 -39
- package/util/joinArgumentDefinitions.js.flow +0 -105
- package/util/md5.js.flow +0 -19
- package/util/murmurHash.js.flow +0 -94
- package/util/nullthrowsOSS.js.flow +0 -25
- package/util/orList.js.flow +0 -37
- package/util/partitionArray.js.flow +0 -37
@@ -1,119 +0,0 @@
|
|
1
|
-
/**
|
2
|
-
* Copyright (c) Facebook, Inc. and its affiliates.
|
3
|
-
*
|
4
|
-
* This source code is licensed under the MIT license found in the
|
5
|
-
* LICENSE file in the root directory of this source tree.
|
6
|
-
*
|
7
|
-
*
|
8
|
-
* @format
|
9
|
-
*/
|
10
|
-
// flowlint ambiguous-object-type:error
|
11
|
-
'use strict';
|
12
|
-
|
13
|
-
var _require = require('./RelayFlowBabelFactories'),
|
14
|
-
exactObjectTypeAnnotation = _require.exactObjectTypeAnnotation,
|
15
|
-
readOnlyArrayOfType = _require.readOnlyArrayOfType;
|
16
|
-
|
17
|
-
var t = require('@babel/types');
|
18
|
-
|
19
|
-
function getInputObjectTypeIdentifier(schema, typeID) {
|
20
|
-
return schema.getTypeString(typeID);
|
21
|
-
}
|
22
|
-
|
23
|
-
function transformScalarType(schema, type, state, objectProps) {
|
24
|
-
if (schema.isNonNull(type)) {
|
25
|
-
return transformNonNullableScalarType(schema, schema.getNullableType(type), state, objectProps);
|
26
|
-
} else {
|
27
|
-
return t.nullableTypeAnnotation(transformNonNullableScalarType(schema, type, state, objectProps));
|
28
|
-
}
|
29
|
-
}
|
30
|
-
|
31
|
-
function transformNonNullableScalarType(schema, type, state, objectProps) {
|
32
|
-
if (schema.isList(type)) {
|
33
|
-
return readOnlyArrayOfType(transformScalarType(schema, schema.getListItemType(type), state, objectProps));
|
34
|
-
} else if (schema.isObject(type) || schema.isUnion(type) || schema.isInterface(type)) {
|
35
|
-
return objectProps;
|
36
|
-
} else if (schema.isScalar(type)) {
|
37
|
-
return transformGraphQLScalarType(schema.getTypeString(type), state);
|
38
|
-
} else if (schema.isEnum(type)) {
|
39
|
-
return transformGraphQLEnumType(schema, schema.assertEnumType(type), state);
|
40
|
-
} else {
|
41
|
-
throw new Error("Could not convert from GraphQL type ".concat(String(type)));
|
42
|
-
}
|
43
|
-
}
|
44
|
-
|
45
|
-
function transformGraphQLScalarType(typeName, state) {
|
46
|
-
var customType = state.customScalars[typeName];
|
47
|
-
|
48
|
-
if (typeof customType === 'function') {
|
49
|
-
return customType(t);
|
50
|
-
}
|
51
|
-
|
52
|
-
switch (customType !== null && customType !== void 0 ? customType : typeName) {
|
53
|
-
case 'ID':
|
54
|
-
case 'String':
|
55
|
-
return t.stringTypeAnnotation();
|
56
|
-
|
57
|
-
case 'Float':
|
58
|
-
case 'Int':
|
59
|
-
return t.numberTypeAnnotation();
|
60
|
-
|
61
|
-
case 'Boolean':
|
62
|
-
return t.booleanTypeAnnotation();
|
63
|
-
|
64
|
-
default:
|
65
|
-
return customType == null ? t.anyTypeAnnotation() : t.genericTypeAnnotation(t.identifier(customType));
|
66
|
-
}
|
67
|
-
}
|
68
|
-
|
69
|
-
function transformGraphQLEnumType(schema, type, state) {
|
70
|
-
state.usedEnums[schema.getTypeString(type)] = type;
|
71
|
-
return t.genericTypeAnnotation(t.identifier(schema.getTypeString(type)));
|
72
|
-
}
|
73
|
-
|
74
|
-
function transformInputType(schema, type, state) {
|
75
|
-
if (schema.isNonNull(type)) {
|
76
|
-
return transformNonNullableInputType(schema, schema.getNullableType(type), state);
|
77
|
-
} else {
|
78
|
-
return t.nullableTypeAnnotation(transformNonNullableInputType(schema, type, state));
|
79
|
-
}
|
80
|
-
}
|
81
|
-
|
82
|
-
function transformNonNullableInputType(schema, type, state) {
|
83
|
-
if (schema.isList(type)) {
|
84
|
-
return readOnlyArrayOfType(transformInputType(schema, schema.getListItemType(type), state));
|
85
|
-
} else if (schema.isScalar(type)) {
|
86
|
-
return transformGraphQLScalarType(schema.getTypeString(type), state);
|
87
|
-
} else if (schema.isEnum(type)) {
|
88
|
-
return transformGraphQLEnumType(schema, schema.assertEnumType(type), state);
|
89
|
-
} else if (schema.isInputObject(type)) {
|
90
|
-
var typeIdentifier = getInputObjectTypeIdentifier(schema, type);
|
91
|
-
|
92
|
-
if (state.generatedInputObjectTypes[typeIdentifier]) {
|
93
|
-
return t.genericTypeAnnotation(t.identifier(typeIdentifier));
|
94
|
-
}
|
95
|
-
|
96
|
-
state.generatedInputObjectTypes[typeIdentifier] = 'pending';
|
97
|
-
var fields = schema.getFields(schema.assertInputObjectType(type));
|
98
|
-
var props = fields.map(function (fieldID) {
|
99
|
-
var fieldType = schema.getFieldType(fieldID);
|
100
|
-
var fieldName = schema.getFieldName(fieldID);
|
101
|
-
var property = t.objectTypeProperty(t.identifier(fieldName), transformInputType(schema, fieldType, state));
|
102
|
-
|
103
|
-
if (state.optionalInputFields.indexOf(fieldName) >= 0 || !schema.isNonNull(fieldType)) {
|
104
|
-
property.optional = true;
|
105
|
-
}
|
106
|
-
|
107
|
-
return property;
|
108
|
-
});
|
109
|
-
state.generatedInputObjectTypes[typeIdentifier] = exactObjectTypeAnnotation(props);
|
110
|
-
return t.genericTypeAnnotation(t.identifier(typeIdentifier));
|
111
|
-
} else {
|
112
|
-
throw new Error("Could not convert from GraphQL type ".concat(schema.getTypeString(type)));
|
113
|
-
}
|
114
|
-
}
|
115
|
-
|
116
|
-
module.exports = {
|
117
|
-
transformInputType: transformInputType,
|
118
|
-
transformScalarType: transformScalarType
|
119
|
-
};
|
@@ -1,30 +0,0 @@
|
|
1
|
-
/**
|
2
|
-
* Copyright (c) Facebook, Inc. and its affiliates.
|
3
|
-
*
|
4
|
-
* This source code is licensed under the MIT license found in the
|
5
|
-
* LICENSE file in the root directory of this source tree.
|
6
|
-
*
|
7
|
-
*
|
8
|
-
* @format
|
9
|
-
*/
|
10
|
-
// flowlint ambiguous-object-type:error
|
11
|
-
'use strict';
|
12
|
-
|
13
|
-
var _require = require('./FindGraphQLTags'),
|
14
|
-
find = _require.find;
|
15
|
-
|
16
|
-
var _require2 = require('./formatGeneratedModule'),
|
17
|
-
formatGeneratedCommonjsModule = _require2.formatGeneratedCommonjsModule,
|
18
|
-
formatGeneratedESModule = _require2.formatGeneratedESModule;
|
19
|
-
|
20
|
-
var RelayFlowGenerator = require('./RelayFlowGenerator');
|
21
|
-
|
22
|
-
module.exports = function (options) {
|
23
|
-
return {
|
24
|
-
inputExtensions: ['js', 'jsx'],
|
25
|
-
outputExtension: 'js',
|
26
|
-
typeGenerator: RelayFlowGenerator,
|
27
|
-
formatModule: options && options.eagerESModules ? formatGeneratedESModule : formatGeneratedCommonjsModule,
|
28
|
-
findGraphQLTags: find
|
29
|
-
};
|
30
|
-
};
|
@@ -1,36 +0,0 @@
|
|
1
|
-
/**
|
2
|
-
* Copyright (c) Facebook, Inc. and its affiliates.
|
3
|
-
*
|
4
|
-
* This source code is licensed under the MIT license found in the
|
5
|
-
* LICENSE file in the root directory of this source tree.
|
6
|
-
*
|
7
|
-
*
|
8
|
-
* @format
|
9
|
-
*/
|
10
|
-
// flowlint ambiguous-object-type:error
|
11
|
-
'use strict';
|
12
|
-
|
13
|
-
var formatGeneratedModule = function formatGeneratedModule(_ref) {
|
14
|
-
var moduleName = _ref.moduleName,
|
15
|
-
documentType = _ref.documentType,
|
16
|
-
docText = _ref.docText,
|
17
|
-
concreteText = _ref.concreteText,
|
18
|
-
typeText = _ref.typeText,
|
19
|
-
hash = _ref.hash,
|
20
|
-
sourceHash = _ref.sourceHash;
|
21
|
-
var documentTypeImport = documentType ? "import type { ".concat(documentType, " } from 'relay-runtime';") : '';
|
22
|
-
var docTextComment = docText != null ? '\n/*\n' + docText.trim() + '\n*/\n' : '';
|
23
|
-
var hashText = hash != null ? "\n * ".concat(hash) : '';
|
24
|
-
return "/**\n * ".concat('@', "flow", hashText, "\n */\n\n/* eslint-disable */\n\n'use strict';\n\n/*::\n").concat(documentTypeImport, "\n").concat(typeText || '', "\n*/\n\n").concat(docTextComment, "\nconst node/*: ").concat(documentType || 'empty', "*/ = ").concat(concreteText, ";\n// prettier-ignore\n(node/*: any*/).hash = '").concat(sourceHash, "';\n");
|
25
|
-
};
|
26
|
-
|
27
|
-
var formatGeneratedCommonjsModule = function formatGeneratedCommonjsModule(options) {
|
28
|
-
return "".concat(formatGeneratedModule(options), "\nmodule.exports = node;\n");
|
29
|
-
};
|
30
|
-
|
31
|
-
var formatGeneratedESModule = function formatGeneratedESModule(options) {
|
32
|
-
return "".concat(formatGeneratedModule(options), "\nexport default node;\n");
|
33
|
-
};
|
34
|
-
|
35
|
-
exports.formatGeneratedCommonjsModule = formatGeneratedCommonjsModule;
|
36
|
-
exports.formatGeneratedESModule = formatGeneratedESModule;
|
@@ -1,61 +0,0 @@
|
|
1
|
-
/**
|
2
|
-
* Copyright (c) Facebook, Inc. and its affiliates.
|
3
|
-
*
|
4
|
-
* This source code is licensed under the MIT license found in the
|
5
|
-
* LICENSE file in the root directory of this source tree.
|
6
|
-
*
|
7
|
-
*
|
8
|
-
* @format
|
9
|
-
*/
|
10
|
-
// flowlint ambiguous-object-type:error
|
11
|
-
'use strict';
|
12
|
-
|
13
|
-
var chalk = require('chalk');
|
14
|
-
|
15
|
-
function getMemoryUsageString() {
|
16
|
-
return chalk.blue(Math.round(process.memoryUsage().heapUsed / 1024 / 1024) + 'Mb');
|
17
|
-
}
|
18
|
-
|
19
|
-
var ConsoleReporter = /*#__PURE__*/function () {
|
20
|
-
function ConsoleReporter(options) {
|
21
|
-
this._verbose = options.verbose;
|
22
|
-
this._quiet = options.quiet;
|
23
|
-
}
|
24
|
-
|
25
|
-
var _proto = ConsoleReporter.prototype;
|
26
|
-
|
27
|
-
_proto.reportMessage = function reportMessage(message) {
|
28
|
-
if (!this._quiet) {
|
29
|
-
process.stdout.write(message + '\n');
|
30
|
-
}
|
31
|
-
};
|
32
|
-
|
33
|
-
_proto.reportTime = function reportTime(name, ms) {
|
34
|
-
if (this._verbose && !this._quiet) {
|
35
|
-
var time = ms === 0 ? chalk.gray(' <1ms') : ms < 1000 ? chalk.blue(leftPad(5, ms + 'ms')) : chalk.red(Math.floor(ms / 10) / 100 + 's');
|
36
|
-
process.stdout.write(' ' + time + ' ' + chalk.gray(name) + ' [' + getMemoryUsageString() + ']\n');
|
37
|
-
}
|
38
|
-
};
|
39
|
-
|
40
|
-
_proto.reportError = function reportError(caughtLocation, error) {
|
41
|
-
if (!this._quiet) {
|
42
|
-
process.stdout.write(chalk.red('ERROR:\n' + error.message + '\n'));
|
43
|
-
|
44
|
-
if (this._verbose) {
|
45
|
-
var frames = error.stack.match(/^ {4}at .*$/gm);
|
46
|
-
|
47
|
-
if (frames) {
|
48
|
-
process.stdout.write(chalk.gray('From: ' + caughtLocation + '\n' + frames.join('\n') + '\n'));
|
49
|
-
}
|
50
|
-
}
|
51
|
-
}
|
52
|
-
};
|
53
|
-
|
54
|
-
return ConsoleReporter;
|
55
|
-
}();
|
56
|
-
|
57
|
-
function leftPad(len, str) {
|
58
|
-
return new Array(len - str.length + 1).join(' ') + str;
|
59
|
-
}
|
60
|
-
|
61
|
-
module.exports = ConsoleReporter;
|
@@ -1,45 +0,0 @@
|
|
1
|
-
/**
|
2
|
-
* Copyright (c) Facebook, Inc. and its affiliates.
|
3
|
-
*
|
4
|
-
* This source code is licensed under the MIT license found in the
|
5
|
-
* LICENSE file in the root directory of this source tree.
|
6
|
-
*
|
7
|
-
*
|
8
|
-
* @format
|
9
|
-
*/
|
10
|
-
// flowlint ambiguous-object-type:error
|
11
|
-
'use strict';
|
12
|
-
|
13
|
-
var MultiReporter = /*#__PURE__*/function () {
|
14
|
-
function MultiReporter() {
|
15
|
-
for (var _len = arguments.length, reporters = new Array(_len), _key = 0; _key < _len; _key++) {
|
16
|
-
reporters[_key] = arguments[_key];
|
17
|
-
}
|
18
|
-
|
19
|
-
this._reporters = reporters;
|
20
|
-
}
|
21
|
-
|
22
|
-
var _proto = MultiReporter.prototype;
|
23
|
-
|
24
|
-
_proto.reportMessage = function reportMessage(message) {
|
25
|
-
this._reporters.forEach(function (reporter) {
|
26
|
-
reporter.reportMessage(message);
|
27
|
-
});
|
28
|
-
};
|
29
|
-
|
30
|
-
_proto.reportTime = function reportTime(name, ms) {
|
31
|
-
this._reporters.forEach(function (reporter) {
|
32
|
-
reporter.reportTime(name, ms);
|
33
|
-
});
|
34
|
-
};
|
35
|
-
|
36
|
-
_proto.reportError = function reportError(caughtLocation, error) {
|
37
|
-
this._reporters.forEach(function (reporter) {
|
38
|
-
reporter.reportError(caughtLocation, error);
|
39
|
-
});
|
40
|
-
};
|
41
|
-
|
42
|
-
return MultiReporter;
|
43
|
-
}();
|
44
|
-
|
45
|
-
module.exports = MultiReporter;
|
@@ -1,11 +0,0 @@
|
|
1
|
-
/**
|
2
|
-
* Copyright (c) Facebook, Inc. and its affiliates.
|
3
|
-
*
|
4
|
-
* This source code is licensed under the MIT license found in the
|
5
|
-
* LICENSE file in the root directory of this source tree.
|
6
|
-
*
|
7
|
-
*
|
8
|
-
* @format
|
9
|
-
*/
|
10
|
-
// flowlint ambiguous-object-type:error
|
11
|
-
'use strict';
|
package/lib/runner/Artifacts.js
DELETED
@@ -1,323 +0,0 @@
|
|
1
|
-
/**
|
2
|
-
* Copyright (c) Facebook, Inc. and its affiliates.
|
3
|
-
*
|
4
|
-
* This source code is licensed under the MIT license found in the
|
5
|
-
* LICENSE file in the root directory of this source tree.
|
6
|
-
*
|
7
|
-
* @format
|
8
|
-
*
|
9
|
-
*/
|
10
|
-
// flowlint ambiguous-object-type:error
|
11
|
-
'use strict';
|
12
|
-
|
13
|
-
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
14
|
-
|
15
|
-
var _createForOfIteratorHelper2 = _interopRequireDefault(require("@babel/runtime/helpers/createForOfIteratorHelper"));
|
16
|
-
|
17
|
-
var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
|
18
|
-
|
19
|
-
var _require = require('./GraphQLASTUtils'),
|
20
|
-
getName = _require.getName;
|
21
|
-
|
22
|
-
var crypto = require('crypto');
|
23
|
-
|
24
|
-
var nullthrows = require('nullthrows');
|
25
|
-
|
26
|
-
function createEmptyState() {
|
27
|
-
return {
|
28
|
-
artifacts: new Map(),
|
29
|
-
metadata: new Map()
|
30
|
-
};
|
31
|
-
}
|
32
|
-
|
33
|
-
function serializeState(state) {
|
34
|
-
var json = [];
|
35
|
-
|
36
|
-
var _iterator = (0, _createForOfIteratorHelper2["default"])(state.artifacts),
|
37
|
-
_step;
|
38
|
-
|
39
|
-
try {
|
40
|
-
for (_iterator.s(); !(_step = _iterator.n()).done;) {
|
41
|
-
var _step$value = _step.value,
|
42
|
-
name = _step$value[0],
|
43
|
-
artifacts = _step$value[1];
|
44
|
-
json.push([name, Array.from(artifacts).map(function (filename) {
|
45
|
-
var _state$metadata$get;
|
46
|
-
|
47
|
-
return [filename, (_state$metadata$get = state.metadata.get(filename)) !== null && _state$metadata$get !== void 0 ? _state$metadata$get : ''];
|
48
|
-
})]);
|
49
|
-
}
|
50
|
-
} catch (err) {
|
51
|
-
_iterator.e(err);
|
52
|
-
} finally {
|
53
|
-
_iterator.f();
|
54
|
-
}
|
55
|
-
|
56
|
-
return json;
|
57
|
-
}
|
58
|
-
|
59
|
-
function deserializeState(json) {
|
60
|
-
var metadata = new Map();
|
61
|
-
var artifacts = new Map();
|
62
|
-
json.forEach(function (_ref) {
|
63
|
-
var name = _ref[0],
|
64
|
-
artifactArray = _ref[1];
|
65
|
-
var artifactsFiles = new Set();
|
66
|
-
artifactArray.forEach(function (_ref2) {
|
67
|
-
var filename = _ref2[0],
|
68
|
-
sha1hex = _ref2[1];
|
69
|
-
artifactsFiles.add(filename);
|
70
|
-
metadata.set(filename, sha1hex);
|
71
|
-
});
|
72
|
-
artifacts.set(name, artifactsFiles);
|
73
|
-
});
|
74
|
-
return {
|
75
|
-
artifacts: artifacts,
|
76
|
-
metadata: metadata
|
77
|
-
};
|
78
|
-
}
|
79
|
-
|
80
|
-
function updateState(state, changes, generatedArtifacts, filesystem, resolveFullPath) {
|
81
|
-
var nextState = {
|
82
|
-
artifacts: new Map(state.artifacts),
|
83
|
-
metadata: new Map(state.metadata)
|
84
|
-
};
|
85
|
-
var deletionCandidates = new Set();
|
86
|
-
var addedNames = new Set();
|
87
|
-
|
88
|
-
var _iterator2 = (0, _createForOfIteratorHelper2["default"])(changes.added),
|
89
|
-
_step2;
|
90
|
-
|
91
|
-
try {
|
92
|
-
for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {
|
93
|
-
var ast = _step2.value.ast;
|
94
|
-
addedNames.add(getName(ast));
|
95
|
-
} // For every removed AST node, delete the generated artifacts tracked for that
|
96
|
-
// node, unless the AST node was also added when the file was moved or the
|
97
|
-
// AST changed which shows up as added and removed in changes.
|
98
|
-
|
99
|
-
} catch (err) {
|
100
|
-
_iterator2.e(err);
|
101
|
-
} finally {
|
102
|
-
_iterator2.f();
|
103
|
-
}
|
104
|
-
|
105
|
-
var _iterator3 = (0, _createForOfIteratorHelper2["default"])(changes.removed),
|
106
|
-
_step3;
|
107
|
-
|
108
|
-
try {
|
109
|
-
for (_iterator3.s(); !(_step3 = _iterator3.n()).done;) {
|
110
|
-
var _ast = _step3.value.ast;
|
111
|
-
var name = getName(_ast);
|
112
|
-
|
113
|
-
if (addedNames.has(name)) {
|
114
|
-
// Update, we deal with that when iterating the added nodes.
|
115
|
-
continue;
|
116
|
-
}
|
117
|
-
|
118
|
-
var entry = nextState.artifacts.get(name);
|
119
|
-
|
120
|
-
if (entry == null) {
|
121
|
-
// No existing artifacts to delete
|
122
|
-
continue;
|
123
|
-
}
|
124
|
-
|
125
|
-
var _iterator7 = (0, _createForOfIteratorHelper2["default"])(entry.keys()),
|
126
|
-
_step7;
|
127
|
-
|
128
|
-
try {
|
129
|
-
for (_iterator7.s(); !(_step7 = _iterator7.n()).done;) {
|
130
|
-
var outdatedFile = _step7.value;
|
131
|
-
deletionCandidates.add(outdatedFile);
|
132
|
-
}
|
133
|
-
} catch (err) {
|
134
|
-
_iterator7.e(err);
|
135
|
-
} finally {
|
136
|
-
_iterator7.f();
|
137
|
-
}
|
138
|
-
|
139
|
-
nextState.artifacts["delete"](name);
|
140
|
-
}
|
141
|
-
} catch (err) {
|
142
|
-
_iterator3.e(err);
|
143
|
-
} finally {
|
144
|
-
_iterator3.f();
|
145
|
-
}
|
146
|
-
|
147
|
-
var _iterator4 = (0, _createForOfIteratorHelper2["default"])(generatedArtifacts.artifacts),
|
148
|
-
_step4;
|
149
|
-
|
150
|
-
try {
|
151
|
-
for (_iterator4.s(); !(_step4 = _iterator4.n()).done;) {
|
152
|
-
var _step4$value = _step4.value,
|
153
|
-
_name = _step4$value[0],
|
154
|
-
artifacts = _step4$value[1];
|
155
|
-
var oldEntry = nextState.artifacts.get(_name);
|
156
|
-
|
157
|
-
if (oldEntry != null) {
|
158
|
-
var _iterator8 = (0, _createForOfIteratorHelper2["default"])(oldEntry),
|
159
|
-
_step8;
|
160
|
-
|
161
|
-
try {
|
162
|
-
for (_iterator8.s(); !(_step8 = _iterator8.n()).done;) {
|
163
|
-
var _outdatedFile = _step8.value;
|
164
|
-
|
165
|
-
if (!artifacts.has(_outdatedFile)) {
|
166
|
-
deletionCandidates.add(_outdatedFile);
|
167
|
-
}
|
168
|
-
}
|
169
|
-
} catch (err) {
|
170
|
-
_iterator8.e(err);
|
171
|
-
} finally {
|
172
|
-
_iterator8.f();
|
173
|
-
}
|
174
|
-
}
|
175
|
-
|
176
|
-
nextState.artifacts.set(_name, artifacts);
|
177
|
-
|
178
|
-
var _iterator9 = (0, _createForOfIteratorHelper2["default"])(artifacts.keys()),
|
179
|
-
_step9;
|
180
|
-
|
181
|
-
try {
|
182
|
-
for (_iterator9.s(); !(_step9 = _iterator9.n()).done;) {
|
183
|
-
var _generatedArtifacts$m;
|
184
|
-
|
185
|
-
var filename = _step9.value;
|
186
|
-
nextState.metadata.set(filename, (_generatedArtifacts$m = generatedArtifacts.metadata.get(filename)) !== null && _generatedArtifacts$m !== void 0 ? _generatedArtifacts$m : '');
|
187
|
-
}
|
188
|
-
} catch (err) {
|
189
|
-
_iterator9.e(err);
|
190
|
-
} finally {
|
191
|
-
_iterator9.f();
|
192
|
-
}
|
193
|
-
}
|
194
|
-
} catch (err) {
|
195
|
-
_iterator4.e(err);
|
196
|
-
} finally {
|
197
|
-
_iterator4.f();
|
198
|
-
}
|
199
|
-
|
200
|
-
if (deletionCandidates.size === 0) {
|
201
|
-
return nextState;
|
202
|
-
}
|
203
|
-
|
204
|
-
var nextGeneratedArtifacts = new Set();
|
205
|
-
|
206
|
-
var _iterator5 = (0, _createForOfIteratorHelper2["default"])(eachNameAndArtifact(nextState)),
|
207
|
-
_step5;
|
208
|
-
|
209
|
-
try {
|
210
|
-
for (_iterator5.s(); !(_step5 = _iterator5.n()).done;) {
|
211
|
-
var _step5$value = _step5.value,
|
212
|
-
artifact = _step5$value[1];
|
213
|
-
nextGeneratedArtifacts.add(artifact);
|
214
|
-
}
|
215
|
-
} catch (err) {
|
216
|
-
_iterator5.e(err);
|
217
|
-
} finally {
|
218
|
-
_iterator5.f();
|
219
|
-
}
|
220
|
-
|
221
|
-
var _iterator6 = (0, _createForOfIteratorHelper2["default"])(deletionCandidates),
|
222
|
-
_step6;
|
223
|
-
|
224
|
-
try {
|
225
|
-
for (_iterator6.s(); !(_step6 = _iterator6.n()).done;) {
|
226
|
-
var candidate = _step6.value;
|
227
|
-
var someoneElseArtifact = nextGeneratedArtifacts.has(candidate);
|
228
|
-
|
229
|
-
if (someoneElseArtifact) {
|
230
|
-
// Sometimes, there are artifacts that are generated by multiple files
|
231
|
-
// If this candidate is also generated by someone else in
|
232
|
-
// artifact map, we just skip it here
|
233
|
-
continue;
|
234
|
-
}
|
235
|
-
|
236
|
-
var candidatePath = resolveFullPath(candidate);
|
237
|
-
|
238
|
-
if (filesystem.existsSync(candidatePath)) {
|
239
|
-
filesystem.unlinkSync(candidatePath);
|
240
|
-
nextState.metadata["delete"](candidate);
|
241
|
-
}
|
242
|
-
}
|
243
|
-
} catch (err) {
|
244
|
-
_iterator6.e(err);
|
245
|
-
} finally {
|
246
|
-
_iterator6.f();
|
247
|
-
}
|
248
|
-
|
249
|
-
return nextState;
|
250
|
-
}
|
251
|
-
|
252
|
-
function producedFiles(dirs, artifactsMetadata) {
|
253
|
-
var result = new Map();
|
254
|
-
dirs.forEach(function (_ref3) {
|
255
|
-
var baseDir = _ref3.baseDir,
|
256
|
-
dir = _ref3.dir;
|
257
|
-
var _dir$changes = dir.changes,
|
258
|
-
deleted = _dir$changes.deleted,
|
259
|
-
updated = _dir$changes.updated,
|
260
|
-
created = _dir$changes.created,
|
261
|
-
unchanged = _dir$changes.unchanged;
|
262
|
-
|
263
|
-
if (deleted.length > 0) {
|
264
|
-
throw new Error('Did not expect to see a deletion entry here.');
|
265
|
-
}
|
266
|
-
|
267
|
-
[].concat((0, _toConsumableArray2["default"])(updated), (0, _toConsumableArray2["default"])(created)).forEach(function (filename) {
|
268
|
-
var name = dir.getPath(filename).substr(baseDir.length + 1);
|
269
|
-
var sha1hex = sha1(nullthrows(dir.read(filename)));
|
270
|
-
result.set(name, sha1hex);
|
271
|
-
});
|
272
|
-
unchanged.forEach(function (filename) {
|
273
|
-
var name = dir.getPath(filename).substr(baseDir.length + 1);
|
274
|
-
var sha1hex = artifactsMetadata.get(name);
|
275
|
-
result.set(name, sha1hex !== null && sha1hex !== void 0 ? sha1hex : sha1(nullthrows(dir.read(filename))));
|
276
|
-
});
|
277
|
-
});
|
278
|
-
return result;
|
279
|
-
}
|
280
|
-
|
281
|
-
function* eachNameAndArtifact(artifacts) {
|
282
|
-
var _iterator10 = (0, _createForOfIteratorHelper2["default"])(artifacts.artifacts),
|
283
|
-
_step10;
|
284
|
-
|
285
|
-
try {
|
286
|
-
for (_iterator10.s(); !(_step10 = _iterator10.n()).done;) {
|
287
|
-
var _step10$value = _step10.value,
|
288
|
-
name = _step10$value[0],
|
289
|
-
artifactsForSource = _step10$value[1];
|
290
|
-
|
291
|
-
var _iterator11 = (0, _createForOfIteratorHelper2["default"])(artifactsForSource.keys()),
|
292
|
-
_step11;
|
293
|
-
|
294
|
-
try {
|
295
|
-
for (_iterator11.s(); !(_step11 = _iterator11.n()).done;) {
|
296
|
-
var artifactFile = _step11.value;
|
297
|
-
yield [name, artifactFile];
|
298
|
-
}
|
299
|
-
} catch (err) {
|
300
|
-
_iterator11.e(err);
|
301
|
-
} finally {
|
302
|
-
_iterator11.f();
|
303
|
-
}
|
304
|
-
}
|
305
|
-
} catch (err) {
|
306
|
-
_iterator10.e(err);
|
307
|
-
} finally {
|
308
|
-
_iterator10.f();
|
309
|
-
}
|
310
|
-
}
|
311
|
-
|
312
|
-
function sha1(content) {
|
313
|
-
return crypto.createHash('sha1').update(content).digest('hex');
|
314
|
-
}
|
315
|
-
|
316
|
-
module.exports = {
|
317
|
-
createEmptyState: createEmptyState,
|
318
|
-
serializeState: serializeState,
|
319
|
-
deserializeState: deserializeState,
|
320
|
-
updateState: updateState,
|
321
|
-
producedFiles: producedFiles,
|
322
|
-
eachNameAndArtifact: eachNameAndArtifact
|
323
|
-
};
|