@auto-engineer/frontend-generator-react-graphql 0.11.15 → 0.11.17
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/CHANGELOG.md +18 -0
- package/dist/shadcn-starter/package.json +1 -2
- package/dist/src/commands/generate-client.d.ts.map +1 -1
- package/dist/src/commands/generate-client.js +4 -1
- package/dist/src/commands/generate-client.js.map +1 -1
- package/dist/src/generator/generateComponents.d.ts +1 -1
- package/dist/src/generator/generateComponents.d.ts.map +1 -1
- package/dist/src/generator/generateComponents.js +80 -15
- package/dist/src/generator/generateComponents.js.map +1 -1
- package/dist/src/generator/templates/component.ejs +125 -3
- package/dist/src/generator/templates/component.ejs.specs.d.ts +2 -0
- package/dist/src/generator/templates/component.ejs.specs.d.ts.map +1 -0
- package/dist/src/generator/templates/component.ejs.specs.js +407 -0
- package/dist/src/generator/templates/component.ejs.specs.js.map +1 -0
- package/dist/src/generator/templates/component.ejs.specs.ts +448 -0
- package/dist/src/generator/templates/page.ejs +97 -0
- package/dist/src/generator/templates/page.ejs.specs.d.ts +2 -0
- package/dist/src/generator/templates/page.ejs.specs.d.ts.map +1 -0
- package/dist/src/generator/templates/page.ejs.specs.js +284 -0
- package/dist/src/generator/templates/page.ejs.specs.js.map +1 -0
- package/dist/src/generator/templates/page.ejs.specs.ts +315 -0
- package/dist/src/generator/type-guidance-builder.d.ts +12 -0
- package/dist/src/generator/type-guidance-builder.d.ts.map +1 -0
- package/dist/src/generator/type-guidance-builder.js +212 -0
- package/dist/src/generator/type-guidance-builder.js.map +1 -0
- package/dist/src/graphql-type-extractor.d.ts +16 -0
- package/dist/src/graphql-type-extractor.d.ts.map +1 -0
- package/dist/src/graphql-type-extractor.js +144 -0
- package/dist/src/graphql-type-extractor.js.map +1 -0
- package/dist/src/types.d.ts +1 -0
- package/dist/src/types.d.ts.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +4 -4
|
@@ -0,0 +1,212 @@
|
|
|
1
|
+
import { extractQueryFieldFromGQL, extractMutationFieldFromGQL, extractOperationNameFromGQL, } from '../graphql-type-extractor.js';
|
|
2
|
+
import createDebug from 'debug';
|
|
3
|
+
const debug = createDebug('auto:frontend-generator-react-graphql:type-guidance-builder');
|
|
4
|
+
export function buildTypeGuidance(componentName, spec, typeMappings) {
|
|
5
|
+
const imports = new Set();
|
|
6
|
+
const queryGuidance = [];
|
|
7
|
+
const mutationGuidance = [];
|
|
8
|
+
const usedTypes = new Set();
|
|
9
|
+
const enumGuidance = buildEnumGuidance(typeMappings);
|
|
10
|
+
if (!spec.data_requirements || spec.data_requirements.length === 0) {
|
|
11
|
+
debug('%s has no data_requirements', componentName);
|
|
12
|
+
return { imports: [], queryGuidance: [], mutationGuidance: [], enumGuidance, typeFieldGuidance: [] };
|
|
13
|
+
}
|
|
14
|
+
for (const requirement of spec.data_requirements) {
|
|
15
|
+
if (requirement.type === 'query') {
|
|
16
|
+
processQuery(requirement, typeMappings, imports, queryGuidance, usedTypes);
|
|
17
|
+
}
|
|
18
|
+
else if (requirement.type === 'mutation') {
|
|
19
|
+
processMutation(requirement, typeMappings, imports, mutationGuidance);
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
const typeFieldGuidance = buildTypeFieldGuidance(usedTypes, typeMappings);
|
|
23
|
+
debug('%s: extracted %d imports, %d query guidance, %d mutation guidance, %d enum guidance, %d type field guidance', componentName, imports.size, queryGuidance.length, mutationGuidance.length, enumGuidance.length, typeFieldGuidance.length);
|
|
24
|
+
return {
|
|
25
|
+
imports: Array.from(imports),
|
|
26
|
+
queryGuidance,
|
|
27
|
+
mutationGuidance,
|
|
28
|
+
enumGuidance,
|
|
29
|
+
typeFieldGuidance,
|
|
30
|
+
};
|
|
31
|
+
}
|
|
32
|
+
function buildEnumGuidance(typeMappings) {
|
|
33
|
+
const enumGuidance = [];
|
|
34
|
+
for (const [enumName, values] of typeMappings.enums.entries()) {
|
|
35
|
+
const tsPascalCase = (val) => {
|
|
36
|
+
return val
|
|
37
|
+
.split('_')
|
|
38
|
+
.map((part) => part.charAt(0).toUpperCase() + part.slice(1).toLowerCase())
|
|
39
|
+
.join('');
|
|
40
|
+
};
|
|
41
|
+
const enumValues = values.map((val) => ` ${enumName}.${tsPascalCase(val)} = '${val}'`).join('\n');
|
|
42
|
+
const guidance = [
|
|
43
|
+
`Enum - ${enumName}:`,
|
|
44
|
+
` Import: import { ${enumName} } from '@/gql/graphql'`,
|
|
45
|
+
` Values:`,
|
|
46
|
+
enumValues,
|
|
47
|
+
].join('\n');
|
|
48
|
+
enumGuidance.push(guidance);
|
|
49
|
+
debug('Enum: %s with %d values', enumName, values.length);
|
|
50
|
+
}
|
|
51
|
+
return enumGuidance;
|
|
52
|
+
}
|
|
53
|
+
function buildTypeFieldGuidance(usedTypes, typeMappings) {
|
|
54
|
+
const typeFieldGuidance = [];
|
|
55
|
+
for (const typeName of usedTypes) {
|
|
56
|
+
const typeFields = typeMappings.types.get(typeName);
|
|
57
|
+
if (!typeFields || typeFields.length === 0) {
|
|
58
|
+
debug('No field information found for type: %s', typeName);
|
|
59
|
+
continue;
|
|
60
|
+
}
|
|
61
|
+
const fieldsList = typeFields
|
|
62
|
+
.map((field) => ` ${field.fieldName}: ${field.fieldType}${field.isNullable ? ' | null' : ''}`)
|
|
63
|
+
.join('\n');
|
|
64
|
+
const guidanceParts = [`Type - ${typeName}:`, ` Fields: {`, fieldsList, ` }`];
|
|
65
|
+
const exampleField = typeFields.find((f) => f.fieldName.endsWith('Id')) || typeFields[0];
|
|
66
|
+
if (exampleField !== undefined) {
|
|
67
|
+
guidanceParts.push(` Example: data?.items.map(item => item.${exampleField.fieldName})`);
|
|
68
|
+
}
|
|
69
|
+
const guidance = guidanceParts.join('\n');
|
|
70
|
+
typeFieldGuidance.push(guidance);
|
|
71
|
+
debug('Type field guidance: %s with %d fields', typeName, typeFields.length);
|
|
72
|
+
}
|
|
73
|
+
return typeFieldGuidance;
|
|
74
|
+
}
|
|
75
|
+
function processQuery(requirement, typeMappings, imports, queryGuidance, usedTypes) {
|
|
76
|
+
const operationName = extractOperationNameFromGQL(requirement.details.gql);
|
|
77
|
+
const fieldName = extractQueryFieldFromGQL(requirement.details.gql);
|
|
78
|
+
if (fieldName === null || fieldName === '') {
|
|
79
|
+
debug('Failed to extract query field from GQL: %s', requirement.details.gql);
|
|
80
|
+
return;
|
|
81
|
+
}
|
|
82
|
+
const returnType = typeMappings.queries.get(fieldName);
|
|
83
|
+
if (returnType === undefined || returnType === '') {
|
|
84
|
+
debug('No type mapping found for query field: %s', fieldName);
|
|
85
|
+
return;
|
|
86
|
+
}
|
|
87
|
+
const baseType = returnType.replace('[]', '');
|
|
88
|
+
imports.add(baseType);
|
|
89
|
+
usedTypes.add(baseType);
|
|
90
|
+
const actualOperationName = operationName !== null && operationName !== '' ? operationName : fieldName;
|
|
91
|
+
const guidance = [
|
|
92
|
+
`Query - ${actualOperationName}:`,
|
|
93
|
+
` Import: import { ${actualOperationName} } from '@/graphql/queries'`,
|
|
94
|
+
` Returns: data?.${fieldName} → ${returnType}`,
|
|
95
|
+
` Usage: const { data } = useQuery(${actualOperationName})`,
|
|
96
|
+
].join('\n');
|
|
97
|
+
queryGuidance.push(guidance);
|
|
98
|
+
debug('Query: %s (operation: %s) -> %s', fieldName, actualOperationName, returnType);
|
|
99
|
+
}
|
|
100
|
+
function processMutation(requirement, typeMappings, imports, mutationGuidance) {
|
|
101
|
+
const operationName = extractOperationNameFromGQL(requirement.details.gql);
|
|
102
|
+
const fieldName = extractMutationFieldFromGQL(requirement.details.gql);
|
|
103
|
+
if (fieldName === null || fieldName === '') {
|
|
104
|
+
debug('Failed to extract mutation field from GQL: %s', requirement.details.gql);
|
|
105
|
+
return;
|
|
106
|
+
}
|
|
107
|
+
const actualOperationName = operationName !== null && operationName !== '' ? operationName : fieldName;
|
|
108
|
+
const inputTypeName = `${capitalize(actualOperationName)}MutationVariables`;
|
|
109
|
+
imports.add(inputTypeName);
|
|
110
|
+
const payloadSchema = requirement.details.payload_schema;
|
|
111
|
+
let inputFields = '';
|
|
112
|
+
if (payloadSchema !== null && payloadSchema !== undefined) {
|
|
113
|
+
const fields = Object.entries(payloadSchema)
|
|
114
|
+
.map(([key, type]) => `${key}: ${type}`)
|
|
115
|
+
.join(', ');
|
|
116
|
+
inputFields = ` { ${fields} }`;
|
|
117
|
+
}
|
|
118
|
+
const guidance = [
|
|
119
|
+
`Mutation - ${actualOperationName}:`,
|
|
120
|
+
` Import: import { ${actualOperationName} } from '@/graphql/mutations'`,
|
|
121
|
+
` Variables: ${inputTypeName}`,
|
|
122
|
+
` Input:${inputFields}`,
|
|
123
|
+
` Usage: const [mutate] = useMutation(${actualOperationName})`,
|
|
124
|
+
` Call: mutate({ variables: { input: {...} } })`,
|
|
125
|
+
].join('\n');
|
|
126
|
+
mutationGuidance.push(guidance);
|
|
127
|
+
debug('Mutation: %s (operation: %s) -> %s', fieldName, actualOperationName, inputTypeName);
|
|
128
|
+
}
|
|
129
|
+
function addOperationGuidance(guidance, organismName, operationPattern, seenOperations, guidanceArray) {
|
|
130
|
+
const operationMatch = guidance.match(operationPattern);
|
|
131
|
+
const operationName = operationMatch !== null ? operationMatch[1] : '';
|
|
132
|
+
if (operationName === '') {
|
|
133
|
+
return;
|
|
134
|
+
}
|
|
135
|
+
if (!seenOperations.has(operationName)) {
|
|
136
|
+
seenOperations.add(operationName);
|
|
137
|
+
guidanceArray.push(`${guidance}\n Used by: ${organismName}`);
|
|
138
|
+
}
|
|
139
|
+
else {
|
|
140
|
+
const existingIndex = guidanceArray.findIndex((g) => g.includes(operationPattern.source.replace('([^:]+)', operationName)));
|
|
141
|
+
if (existingIndex !== -1) {
|
|
142
|
+
guidanceArray[existingIndex] = guidanceArray[existingIndex].replace(/Used by: (.+)$/m, `Used by: $1, ${organismName}`);
|
|
143
|
+
}
|
|
144
|
+
}
|
|
145
|
+
}
|
|
146
|
+
function processOrganismGuidance(organismName, iaScheme, typeMappings, allImports, allQueryGuidance, allMutationGuidance, allTypeFieldGuidance, seenOperations, seenTypes) {
|
|
147
|
+
const organismSpec = iaScheme.organisms.items[organismName];
|
|
148
|
+
if (organismSpec === undefined) {
|
|
149
|
+
debug('Organism %s not found in IA schema', organismName);
|
|
150
|
+
return;
|
|
151
|
+
}
|
|
152
|
+
if (organismSpec.data_requirements === undefined || organismSpec.data_requirements.length === 0) {
|
|
153
|
+
debug('Organism %s has no data_requirements', organismName);
|
|
154
|
+
return;
|
|
155
|
+
}
|
|
156
|
+
const organismGuidance = buildTypeGuidance(organismName, organismSpec, typeMappings);
|
|
157
|
+
for (const imp of organismGuidance.imports) {
|
|
158
|
+
allImports.add(imp);
|
|
159
|
+
}
|
|
160
|
+
for (const queryGuide of organismGuidance.queryGuidance) {
|
|
161
|
+
addOperationGuidance(queryGuide, organismName, /Query - ([^:]+):/, seenOperations, allQueryGuidance);
|
|
162
|
+
}
|
|
163
|
+
for (const mutationGuide of organismGuidance.mutationGuidance) {
|
|
164
|
+
addOperationGuidance(mutationGuide, organismName, /Mutation - ([^:]+):/, seenOperations, allMutationGuidance);
|
|
165
|
+
}
|
|
166
|
+
aggregateTypeFieldGuidance(organismGuidance.typeFieldGuidance, seenTypes, allTypeFieldGuidance);
|
|
167
|
+
}
|
|
168
|
+
function aggregateTypeFieldGuidance(typeFieldGuidance, seenTypes, allTypeFieldGuidance) {
|
|
169
|
+
for (const typeGuide of typeFieldGuidance) {
|
|
170
|
+
const typeMatch = typeGuide.match(/Type - ([^:]+):/);
|
|
171
|
+
const typeName = typeMatch !== null ? typeMatch[1] : '';
|
|
172
|
+
if (typeName !== '' && !seenTypes.has(typeName)) {
|
|
173
|
+
seenTypes.add(typeName);
|
|
174
|
+
allTypeFieldGuidance.push(typeGuide);
|
|
175
|
+
}
|
|
176
|
+
}
|
|
177
|
+
}
|
|
178
|
+
export function aggregateOrganismGuidance(pageName, pageSpec, iaScheme, typeMappings) {
|
|
179
|
+
debug('Aggregating organism guidance for page: %s', pageName);
|
|
180
|
+
const allImports = new Set();
|
|
181
|
+
const allQueryGuidance = [];
|
|
182
|
+
const allMutationGuidance = [];
|
|
183
|
+
const allTypeFieldGuidance = [];
|
|
184
|
+
const allEnumGuidance = buildEnumGuidance(typeMappings);
|
|
185
|
+
const seenOperations = new Set();
|
|
186
|
+
const seenTypes = new Set();
|
|
187
|
+
if (pageSpec.layout === undefined || pageSpec.layout.organisms === undefined) {
|
|
188
|
+
debug('%s has no organisms in layout', pageName);
|
|
189
|
+
return {
|
|
190
|
+
imports: [],
|
|
191
|
+
queryGuidance: [],
|
|
192
|
+
mutationGuidance: [],
|
|
193
|
+
enumGuidance: allEnumGuidance,
|
|
194
|
+
typeFieldGuidance: [],
|
|
195
|
+
};
|
|
196
|
+
}
|
|
197
|
+
for (const organismName of pageSpec.layout.organisms) {
|
|
198
|
+
processOrganismGuidance(organismName, iaScheme, typeMappings, allImports, allQueryGuidance, allMutationGuidance, allTypeFieldGuidance, seenOperations, seenTypes);
|
|
199
|
+
}
|
|
200
|
+
debug('%s: aggregated %d imports, %d queries, %d mutations, %d enums, %d type field guidance from child organisms', pageName, allImports.size, allQueryGuidance.length, allMutationGuidance.length, allEnumGuidance.length, allTypeFieldGuidance.length);
|
|
201
|
+
return {
|
|
202
|
+
imports: Array.from(allImports),
|
|
203
|
+
queryGuidance: allQueryGuidance,
|
|
204
|
+
mutationGuidance: allMutationGuidance,
|
|
205
|
+
enumGuidance: allEnumGuidance,
|
|
206
|
+
typeFieldGuidance: allTypeFieldGuidance,
|
|
207
|
+
};
|
|
208
|
+
}
|
|
209
|
+
function capitalize(str) {
|
|
210
|
+
return str.charAt(0).toUpperCase() + str.slice(1);
|
|
211
|
+
}
|
|
212
|
+
//# sourceMappingURL=type-guidance-builder.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"type-guidance-builder.js","sourceRoot":"","sources":["../../../src/generator/type-guidance-builder.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
export interface TypeFieldInfo {
|
|
2
|
+
fieldName: string;
|
|
3
|
+
fieldType: string;
|
|
4
|
+
isNullable: boolean;
|
|
5
|
+
}
|
|
6
|
+
export interface TypeMapping {
|
|
7
|
+
queries: Map<string, string>;
|
|
8
|
+
mutations: Map<string, string>;
|
|
9
|
+
enums: Map<string, string[]>;
|
|
10
|
+
types: Map<string, TypeFieldInfo[]>;
|
|
11
|
+
}
|
|
12
|
+
export declare function extractTypeMappings(schemaContent: string): TypeMapping;
|
|
13
|
+
export declare function extractQueryFieldFromGQL(gqlString: string): string | null;
|
|
14
|
+
export declare function extractMutationFieldFromGQL(gqlString: string): string | null;
|
|
15
|
+
export declare function extractOperationNameFromGQL(gqlString: string): string | null;
|
|
16
|
+
//# sourceMappingURL=graphql-type-extractor.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"graphql-type-extractor.d.ts","sourceRoot":"","sources":["../../src/graphql-type-extractor.ts"],"names":[],"mappings":"AAKA,MAAM,WAAW,aAAa;IAC5B,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,OAAO,CAAC;CACrB;AAED,MAAM,WAAW,WAAW;IAC1B,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC7B,SAAS,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC/B,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;IAC7B,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,aAAa,EAAE,CAAC,CAAC;CACrC;AAsED,wBAAgB,mBAAmB,CAAC,aAAa,EAAE,MAAM,GAAG,WAAW,CAwCtE;AAED,wBAAgB,wBAAwB,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAiBzE;AAED,wBAAgB,2BAA2B,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAiB5E;AAED,wBAAgB,2BAA2B,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAgB5E"}
|
|
@@ -0,0 +1,144 @@
|
|
|
1
|
+
import { parse } from 'graphql';
|
|
2
|
+
import createDebug from 'debug';
|
|
3
|
+
const debug = createDebug('auto:frontend-generator-react-graphql:graphql-type-extractor');
|
|
4
|
+
function unwrapType(type) {
|
|
5
|
+
if (type.kind === 'NonNullType') {
|
|
6
|
+
return unwrapType(type.type);
|
|
7
|
+
}
|
|
8
|
+
if (type.kind === 'ListType') {
|
|
9
|
+
return `${unwrapType(type.type)}[]`;
|
|
10
|
+
}
|
|
11
|
+
return type.name.value;
|
|
12
|
+
}
|
|
13
|
+
function unwrapTypeWithNullability(type) {
|
|
14
|
+
if (type.kind === 'NonNullType') {
|
|
15
|
+
const inner = unwrapTypeWithNullability(type.type);
|
|
16
|
+
return { typeName: inner.typeName, isNullable: false };
|
|
17
|
+
}
|
|
18
|
+
if (type.kind === 'ListType') {
|
|
19
|
+
const inner = unwrapTypeWithNullability(type.type);
|
|
20
|
+
return { typeName: `${inner.typeName}[]`, isNullable: true };
|
|
21
|
+
}
|
|
22
|
+
return { typeName: type.name.value, isNullable: true };
|
|
23
|
+
}
|
|
24
|
+
function extractFieldMappings(node) {
|
|
25
|
+
const mappings = new Map();
|
|
26
|
+
if (!node.fields) {
|
|
27
|
+
return mappings;
|
|
28
|
+
}
|
|
29
|
+
for (const field of node.fields) {
|
|
30
|
+
const fieldName = field.name.value;
|
|
31
|
+
const returnType = unwrapType(field.type);
|
|
32
|
+
mappings.set(fieldName, returnType);
|
|
33
|
+
debug('Extracted %s field: %s -> %s', node.name.value, fieldName, returnType);
|
|
34
|
+
}
|
|
35
|
+
return mappings;
|
|
36
|
+
}
|
|
37
|
+
function extractTypeFields(node) {
|
|
38
|
+
const fields = [];
|
|
39
|
+
if (!node.fields) {
|
|
40
|
+
return fields;
|
|
41
|
+
}
|
|
42
|
+
for (const field of node.fields) {
|
|
43
|
+
const fieldName = field.name.value;
|
|
44
|
+
const typeInfo = unwrapTypeWithNullability(field.type);
|
|
45
|
+
fields.push({
|
|
46
|
+
fieldName,
|
|
47
|
+
fieldType: typeInfo.typeName,
|
|
48
|
+
isNullable: typeInfo.isNullable,
|
|
49
|
+
});
|
|
50
|
+
debug('Extracted type field for %s: %s: %s%s', node.name.value, fieldName, typeInfo.typeName, typeInfo.isNullable ? ' (nullable)' : '');
|
|
51
|
+
}
|
|
52
|
+
return fields;
|
|
53
|
+
}
|
|
54
|
+
export function extractTypeMappings(schemaContent) {
|
|
55
|
+
debug('Starting GraphQL schema parsing');
|
|
56
|
+
const document = parse(schemaContent);
|
|
57
|
+
const queries = new Map();
|
|
58
|
+
const mutations = new Map();
|
|
59
|
+
const enums = new Map();
|
|
60
|
+
const types = new Map();
|
|
61
|
+
for (const definition of document.definitions) {
|
|
62
|
+
if (definition.kind === 'ObjectTypeDefinition') {
|
|
63
|
+
const typeName = definition.name.value;
|
|
64
|
+
if (typeName === 'Query') {
|
|
65
|
+
debug('Found Query type');
|
|
66
|
+
const queryMappings = extractFieldMappings(definition);
|
|
67
|
+
queryMappings.forEach((returnType, fieldName) => {
|
|
68
|
+
queries.set(fieldName, returnType);
|
|
69
|
+
});
|
|
70
|
+
}
|
|
71
|
+
else if (typeName === 'Mutation') {
|
|
72
|
+
debug('Found Mutation type');
|
|
73
|
+
const mutationMappings = extractFieldMappings(definition);
|
|
74
|
+
mutationMappings.forEach((returnType, fieldName) => {
|
|
75
|
+
mutations.set(fieldName, returnType);
|
|
76
|
+
});
|
|
77
|
+
}
|
|
78
|
+
else {
|
|
79
|
+
debug('Found type definition: %s', typeName);
|
|
80
|
+
const typeFields = extractTypeFields(definition);
|
|
81
|
+
types.set(typeName, typeFields);
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
else if (definition.kind === 'EnumTypeDefinition') {
|
|
85
|
+
const enumName = definition.name.value;
|
|
86
|
+
const values = definition.values !== undefined ? definition.values.map((v) => v.name.value) : [];
|
|
87
|
+
enums.set(enumName, values);
|
|
88
|
+
debug('Found enum: %s with values: %s', enumName, values.join(', '));
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
debug('Extracted %d queries, %d mutations, %d enums, %d types', queries.size, mutations.size, enums.size, types.size);
|
|
92
|
+
return { queries, mutations, enums, types };
|
|
93
|
+
}
|
|
94
|
+
export function extractQueryFieldFromGQL(gqlString) {
|
|
95
|
+
try {
|
|
96
|
+
const document = parse(gqlString);
|
|
97
|
+
for (const definition of document.definitions) {
|
|
98
|
+
if (definition.kind === 'OperationDefinition' && definition.operation === 'query') {
|
|
99
|
+
const firstSelection = definition.selectionSet.selections[0];
|
|
100
|
+
if (firstSelection !== undefined && firstSelection.kind === 'Field') {
|
|
101
|
+
return firstSelection.name.value;
|
|
102
|
+
}
|
|
103
|
+
}
|
|
104
|
+
}
|
|
105
|
+
}
|
|
106
|
+
catch (error) {
|
|
107
|
+
debug('Failed to parse GQL query: %O', error);
|
|
108
|
+
}
|
|
109
|
+
return null;
|
|
110
|
+
}
|
|
111
|
+
export function extractMutationFieldFromGQL(gqlString) {
|
|
112
|
+
try {
|
|
113
|
+
const document = parse(gqlString);
|
|
114
|
+
for (const definition of document.definitions) {
|
|
115
|
+
if (definition.kind === 'OperationDefinition' && definition.operation === 'mutation') {
|
|
116
|
+
const firstSelection = definition.selectionSet.selections[0];
|
|
117
|
+
if (firstSelection !== undefined && firstSelection.kind === 'Field') {
|
|
118
|
+
return firstSelection.name.value;
|
|
119
|
+
}
|
|
120
|
+
}
|
|
121
|
+
}
|
|
122
|
+
}
|
|
123
|
+
catch (error) {
|
|
124
|
+
debug('Failed to parse GQL mutation: %O', error);
|
|
125
|
+
}
|
|
126
|
+
return null;
|
|
127
|
+
}
|
|
128
|
+
export function extractOperationNameFromGQL(gqlString) {
|
|
129
|
+
try {
|
|
130
|
+
const document = parse(gqlString);
|
|
131
|
+
for (const definition of document.definitions) {
|
|
132
|
+
if (definition.kind === 'OperationDefinition') {
|
|
133
|
+
if (definition.name !== undefined && definition.name.value !== '') {
|
|
134
|
+
return definition.name.value;
|
|
135
|
+
}
|
|
136
|
+
}
|
|
137
|
+
}
|
|
138
|
+
}
|
|
139
|
+
catch (error) {
|
|
140
|
+
debug('Failed to parse GQL operation name: %O', error);
|
|
141
|
+
}
|
|
142
|
+
return null;
|
|
143
|
+
}
|
|
144
|
+
//# sourceMappingURL=graphql-type-extractor.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"graphql-type-extractor.js","sourceRoot":"","sources":["../../src/graphql-type-extractor.ts"],"names":[],"mappings":"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"}
|
package/dist/src/types.d.ts
CHANGED
package/dist/src/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,QAAQ;IACvB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,KAAK,EAAE,cAAc,CAAC,QAAQ,CAAC,CAAC;IAChC,SAAS,EAAE,cAAc,CAAC,YAAY,CAAC,CAAC;IACxC,SAAS,EAAE,cAAc,CAAC,YAAY,CAAC,CAAC;IACxC,KAAK,EAAE,SAAS,CAAC;CAClB;AAED,UAAU,cAAc,CAAC,CAAC;IACxB,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;CAC1B;AAED,MAAM,WAAW,QAAQ;IACvB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,YAAY;IAC3B,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE;QACX,KAAK,EAAE,MAAM,EAAE,CAAC;KACjB,CAAC;IACF,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,QAAQ;IACvB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,KAAK,EAAE,cAAc,CAAC,QAAQ,CAAC,CAAC;IAChC,SAAS,EAAE,cAAc,CAAC,YAAY,CAAC,CAAC;IACxC,SAAS,EAAE,cAAc,CAAC,YAAY,CAAC,CAAC;IACxC,KAAK,EAAE,SAAS,CAAC;CAClB;AAED,UAAU,cAAc,CAAC,CAAC;IACxB,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;CAC1B;AAED,MAAM,WAAW,QAAQ;IACvB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,YAAY;IAC3B,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE;QACX,KAAK,EAAE,MAAM,EAAE,CAAC;KACjB,CAAC;IACF,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;IACjB,iBAAiB,CAAC,EAAE,eAAe,EAAE,CAAC;CACvC;AAED,MAAM,WAAW,YAAY;IAC3B,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE;QACX,SAAS,EAAE,MAAM,EAAE,CAAC;KACrB,CAAC;IACF,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;IACjB,iBAAiB,CAAC,EAAE,eAAe,EAAE,CAAC;CACvC;AAED,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,OAAO,GAAG,UAAU,CAAC;IAC3B,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE;QACP,MAAM,EAAE,MAAM,CAAC;QACf,GAAG,EAAE,MAAM,CAAC;QACZ,cAAc,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;KACzC,CAAC;CACH;AAED,MAAM,WAAW,SAAS;IACxB,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;CACjC;AAED,MAAM,WAAW,QAAQ;IACvB,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE;QACN,SAAS,EAAE,MAAM,EAAE,CAAC;KACrB,CAAC;IACF,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE;QACX,EAAE,EAAE,MAAM,CAAC;QACX,EAAE,EAAE,MAAM,CAAC;KACZ,EAAE,CAAC;IACJ,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;IACjB,iBAAiB,CAAC,EAAE,eAAe,EAAE,CAAC;CACvC;AAED,MAAM,MAAM,aAAa,GAAG,UAAU,GAAG,UAAU,GAAG,MAAM,GAAG,KAAK,CAAC;AAErE,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,aAAa,CAAC;CACrB"}
|