@graphql-mesh/fusion-composition 0.8.34 → 0.8.35
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/cjs/transforms/prefix.js
CHANGED
|
@@ -7,9 +7,12 @@ function createPrefixTransform({ value, ignore = [], includeRootOperations = fal
|
|
|
7
7
|
return function prefixTransform(schema, subgraphConfig) {
|
|
8
8
|
value = value || `${subgraphConfig.name}_`;
|
|
9
9
|
const transforms = [];
|
|
10
|
+
const rootTypes = (0, utils_1.getRootTypeNames)(schema);
|
|
10
11
|
if (includeRootOperations) {
|
|
11
12
|
transforms.push((0, rename_js_1.createRenameFieldTransform)(({ typeName, fieldName }) => {
|
|
12
|
-
if (ignore.includes(typeName) ||
|
|
13
|
+
if (ignore.includes(typeName) ||
|
|
14
|
+
ignore.includes(`${typeName}.${fieldName}`) ||
|
|
15
|
+
fieldName.startsWith('_encapsulated')) {
|
|
13
16
|
return fieldName;
|
|
14
17
|
}
|
|
15
18
|
return `${value}${fieldName}`;
|
|
@@ -17,7 +20,7 @@ function createPrefixTransform({ value, ignore = [], includeRootOperations = fal
|
|
|
17
20
|
}
|
|
18
21
|
if (includeTypes) {
|
|
19
22
|
transforms.push((0, rename_js_1.createRenameTypeTransform)(({ typeName }) => {
|
|
20
|
-
if (ignore.includes(typeName)) {
|
|
23
|
+
if (rootTypes.has(typeName) || ignore.includes(typeName)) {
|
|
21
24
|
return typeName;
|
|
22
25
|
}
|
|
23
26
|
return `${value}${typeName}`;
|
package/cjs/transforms/rename.js
CHANGED
|
@@ -182,7 +182,7 @@ function createRenameTypeTransform(renameFn, kind = utils_1.MapperKind.TYPE) {
|
|
|
182
182
|
return function renameTypeTransform(schema, subgraphConfig) {
|
|
183
183
|
const rootTypes = (0, utils_1.getRootTypes)(schema);
|
|
184
184
|
const renamedTypeMap = new Map();
|
|
185
|
-
|
|
185
|
+
const renamedTypes = (0, utils_1.mapSchema)(schema, {
|
|
186
186
|
[kind]: type => {
|
|
187
187
|
if ((0, graphql_1.isSpecifiedScalarType)(type) || rootTypes.has(type)) {
|
|
188
188
|
return type;
|
|
@@ -201,6 +201,8 @@ function createRenameTypeTransform(renameFn, kind = utils_1.MapperKind.TYPE) {
|
|
|
201
201
|
name: newName,
|
|
202
202
|
});
|
|
203
203
|
},
|
|
204
|
+
});
|
|
205
|
+
const renamedFieldAndTypes = (0, utils_1.mapSchema)(renamedTypes, {
|
|
204
206
|
[utils_1.MapperKind.FIELD](field) {
|
|
205
207
|
const fieldDirectives = (0, utils_1.getDirectiveExtensions)(field, schema);
|
|
206
208
|
if (fieldDirectives?.resolveTo) {
|
|
@@ -214,13 +216,17 @@ function createRenameTypeTransform(renameFn, kind = utils_1.MapperKind.TYPE) {
|
|
|
214
216
|
return field;
|
|
215
217
|
},
|
|
216
218
|
});
|
|
219
|
+
return renamedFieldAndTypes;
|
|
217
220
|
};
|
|
218
221
|
}
|
|
219
222
|
function createRenameFieldTransform(renameFn, kind = utils_1.MapperKind.FIELD) {
|
|
220
223
|
return function renameFieldTransform(schema, subgraphConfig) {
|
|
221
224
|
const fieldRenameMap = new Map();
|
|
222
|
-
const
|
|
225
|
+
const fieldRenameMapper = {
|
|
223
226
|
[kind]: (field, fieldName, typeName) => {
|
|
227
|
+
if (fieldName.startsWith('_encapsulated')) {
|
|
228
|
+
return [fieldName, field];
|
|
229
|
+
}
|
|
224
230
|
const type = schema.getType(typeName);
|
|
225
231
|
const newFieldName = renameFn({
|
|
226
232
|
typeName,
|
|
@@ -235,7 +241,15 @@ function createRenameFieldTransform(renameFn, kind = utils_1.MapperKind.FIELD) {
|
|
|
235
241
|
fieldRenameMap.set(typeName, typeFieldRenameMap);
|
|
236
242
|
}
|
|
237
243
|
typeFieldRenameMap.set(fieldName, newFieldName);
|
|
238
|
-
return [newFieldName,
|
|
244
|
+
return [newFieldName, field];
|
|
245
|
+
},
|
|
246
|
+
};
|
|
247
|
+
const resolverUpdaterMapper = {
|
|
248
|
+
[kind]: (field, fieldName) => {
|
|
249
|
+
if (fieldName.startsWith('_encapsulated')) {
|
|
250
|
+
return [fieldName, field];
|
|
251
|
+
}
|
|
252
|
+
return [fieldName, resolveToUpdater(field, schema)];
|
|
239
253
|
},
|
|
240
254
|
};
|
|
241
255
|
function resolveToUpdater(field, schema) {
|
|
@@ -251,6 +265,6 @@ function createRenameFieldTransform(renameFn, kind = utils_1.MapperKind.FIELD) {
|
|
|
251
265
|
fieldExtensions.directives = fieldDirectives;
|
|
252
266
|
return field;
|
|
253
267
|
}
|
|
254
|
-
return (0, utils_1.mapSchema)(schema,
|
|
268
|
+
return (0, utils_1.mapSchema)((0, utils_1.mapSchema)(schema, fieldRenameMapper), resolverUpdaterMapper);
|
|
255
269
|
};
|
|
256
270
|
}
|
package/esm/transforms/prefix.js
CHANGED
|
@@ -1,12 +1,15 @@
|
|
|
1
|
-
import { MapperKind } from '@graphql-tools/utils';
|
|
1
|
+
import { getRootTypeNames, MapperKind } from '@graphql-tools/utils';
|
|
2
2
|
import { createRenameFieldTransform, createRenameTypeTransform } from './rename.js';
|
|
3
3
|
export function createPrefixTransform({ value, ignore = [], includeRootOperations = false, includeTypes = true, } = {}) {
|
|
4
4
|
return function prefixTransform(schema, subgraphConfig) {
|
|
5
5
|
value = value || `${subgraphConfig.name}_`;
|
|
6
6
|
const transforms = [];
|
|
7
|
+
const rootTypes = getRootTypeNames(schema);
|
|
7
8
|
if (includeRootOperations) {
|
|
8
9
|
transforms.push(createRenameFieldTransform(({ typeName, fieldName }) => {
|
|
9
|
-
if (ignore.includes(typeName) ||
|
|
10
|
+
if (ignore.includes(typeName) ||
|
|
11
|
+
ignore.includes(`${typeName}.${fieldName}`) ||
|
|
12
|
+
fieldName.startsWith('_encapsulated')) {
|
|
10
13
|
return fieldName;
|
|
11
14
|
}
|
|
12
15
|
return `${value}${fieldName}`;
|
|
@@ -14,7 +17,7 @@ export function createPrefixTransform({ value, ignore = [], includeRootOperation
|
|
|
14
17
|
}
|
|
15
18
|
if (includeTypes) {
|
|
16
19
|
transforms.push(createRenameTypeTransform(({ typeName }) => {
|
|
17
|
-
if (ignore.includes(typeName)) {
|
|
20
|
+
if (rootTypes.has(typeName) || ignore.includes(typeName)) {
|
|
18
21
|
return typeName;
|
|
19
22
|
}
|
|
20
23
|
return `${value}${typeName}`;
|
package/esm/transforms/rename.js
CHANGED
|
@@ -176,7 +176,7 @@ export function createRenameTypeTransform(renameFn, kind = MapperKind.TYPE) {
|
|
|
176
176
|
return function renameTypeTransform(schema, subgraphConfig) {
|
|
177
177
|
const rootTypes = getRootTypes(schema);
|
|
178
178
|
const renamedTypeMap = new Map();
|
|
179
|
-
|
|
179
|
+
const renamedTypes = mapSchema(schema, {
|
|
180
180
|
[kind]: type => {
|
|
181
181
|
if (isSpecifiedScalarType(type) || rootTypes.has(type)) {
|
|
182
182
|
return type;
|
|
@@ -195,6 +195,8 @@ export function createRenameTypeTransform(renameFn, kind = MapperKind.TYPE) {
|
|
|
195
195
|
name: newName,
|
|
196
196
|
});
|
|
197
197
|
},
|
|
198
|
+
});
|
|
199
|
+
const renamedFieldAndTypes = mapSchema(renamedTypes, {
|
|
198
200
|
[MapperKind.FIELD](field) {
|
|
199
201
|
const fieldDirectives = getDirectiveExtensions(field, schema);
|
|
200
202
|
if (fieldDirectives?.resolveTo) {
|
|
@@ -208,13 +210,17 @@ export function createRenameTypeTransform(renameFn, kind = MapperKind.TYPE) {
|
|
|
208
210
|
return field;
|
|
209
211
|
},
|
|
210
212
|
});
|
|
213
|
+
return renamedFieldAndTypes;
|
|
211
214
|
};
|
|
212
215
|
}
|
|
213
216
|
export function createRenameFieldTransform(renameFn, kind = MapperKind.FIELD) {
|
|
214
217
|
return function renameFieldTransform(schema, subgraphConfig) {
|
|
215
218
|
const fieldRenameMap = new Map();
|
|
216
|
-
const
|
|
219
|
+
const fieldRenameMapper = {
|
|
217
220
|
[kind]: (field, fieldName, typeName) => {
|
|
221
|
+
if (fieldName.startsWith('_encapsulated')) {
|
|
222
|
+
return [fieldName, field];
|
|
223
|
+
}
|
|
218
224
|
const type = schema.getType(typeName);
|
|
219
225
|
const newFieldName = renameFn({
|
|
220
226
|
typeName,
|
|
@@ -229,7 +235,15 @@ export function createRenameFieldTransform(renameFn, kind = MapperKind.FIELD) {
|
|
|
229
235
|
fieldRenameMap.set(typeName, typeFieldRenameMap);
|
|
230
236
|
}
|
|
231
237
|
typeFieldRenameMap.set(fieldName, newFieldName);
|
|
232
|
-
return [newFieldName,
|
|
238
|
+
return [newFieldName, field];
|
|
239
|
+
},
|
|
240
|
+
};
|
|
241
|
+
const resolverUpdaterMapper = {
|
|
242
|
+
[kind]: (field, fieldName) => {
|
|
243
|
+
if (fieldName.startsWith('_encapsulated')) {
|
|
244
|
+
return [fieldName, field];
|
|
245
|
+
}
|
|
246
|
+
return [fieldName, resolveToUpdater(field, schema)];
|
|
233
247
|
},
|
|
234
248
|
};
|
|
235
249
|
function resolveToUpdater(field, schema) {
|
|
@@ -245,6 +259,6 @@ export function createRenameFieldTransform(renameFn, kind = MapperKind.FIELD) {
|
|
|
245
259
|
fieldExtensions.directives = fieldDirectives;
|
|
246
260
|
return field;
|
|
247
261
|
}
|
|
248
|
-
return mapSchema(schema,
|
|
262
|
+
return mapSchema(mapSchema(schema, fieldRenameMapper), resolverUpdaterMapper);
|
|
249
263
|
};
|
|
250
264
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@graphql-mesh/fusion-composition",
|
|
3
|
-
"version": "0.8.
|
|
3
|
+
"version": "0.8.35",
|
|
4
4
|
"description": "Basic composition utility for Fusion spec",
|
|
5
5
|
"sideEffects": false,
|
|
6
6
|
"peerDependencies": {
|
|
@@ -11,7 +11,7 @@
|
|
|
11
11
|
"@graphql-tools/schema": "^10.0.31",
|
|
12
12
|
"@graphql-tools/stitching-directives": "^4.0.17",
|
|
13
13
|
"@graphql-tools/utils": "^11.0.0",
|
|
14
|
-
"@theguild/federation-composition": "^0.22.
|
|
14
|
+
"@theguild/federation-composition": "^0.22.1",
|
|
15
15
|
"change-case": "^4.1.2",
|
|
16
16
|
"graphql-scalars": "^1.23.0",
|
|
17
17
|
"minimatch": "^10.2.4",
|