@remkoj/optimizely-graph-functions 6.0.0-pre12 → 6.0.0-pre13
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/dist/_transform/handleDependDirective.js +8 -1
- package/dist/_transform/handleDependDirective.js.map +1 -1
- package/package.json +5 -5
- package/dist/_transform/removeReferenceItem.d.ts +0 -11
- package/dist/_transform/removeReferenceItem.js +0 -113
- package/dist/_transform/removeReferenceItem.js.map +0 -1
|
@@ -35,10 +35,17 @@ async function handleDependDirective(files, options) {
|
|
|
35
35
|
throw new Error(`The "on" parameter of the "@depend" directive must have the form "typeName.fieldName" ${buildLocString(dependDirective)}`);
|
|
36
36
|
// Retrieve the type fields
|
|
37
37
|
const fields = getObjectFieldNames(options.schema, typeName);
|
|
38
|
+
isModified = true;
|
|
38
39
|
if (!(fields?.includes(fieldName) ?? false)) {
|
|
39
|
-
isModified = true;
|
|
40
40
|
return null; // Remove the item
|
|
41
41
|
}
|
|
42
|
+
else {
|
|
43
|
+
const newNode = {
|
|
44
|
+
...node,
|
|
45
|
+
directives: node.directives?.filter(x => x.name.value !== 'depend')
|
|
46
|
+
};
|
|
47
|
+
return newNode;
|
|
48
|
+
}
|
|
42
49
|
}
|
|
43
50
|
}
|
|
44
51
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"handleDependDirective.js","sourceRoot":"","sources":["../../src/_transform/handleDependDirective.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"handleDependDirective.js","sourceRoot":"","sources":["../../src/_transform/handleDependDirective.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
"repository": "https://github.com/remkoj/optimizely-dxp-clients.git",
|
|
4
4
|
"author": "Remko Jantzen <693172+remkoj@users.noreply.github.com>",
|
|
5
5
|
"homepage": "https://github.com/remkoj/optimizely-dxp-clients",
|
|
6
|
-
"version": "6.0.0-
|
|
6
|
+
"version": "6.0.0-pre13",
|
|
7
7
|
"license": "Apache-2.0",
|
|
8
8
|
"type": "commonjs",
|
|
9
9
|
"description": "GraphQL Codegen preset for Optimizely Graph",
|
|
@@ -47,8 +47,8 @@
|
|
|
47
47
|
},
|
|
48
48
|
"devDependencies": {
|
|
49
49
|
"@graphql-typed-document-node/core": "^3.2.0",
|
|
50
|
-
"@remkoj/optimizely-cms-api": "6.0.0-
|
|
51
|
-
"@remkoj/optimizely-graph-client": "6.0.0-
|
|
50
|
+
"@remkoj/optimizely-cms-api": "6.0.0-pre13",
|
|
51
|
+
"@remkoj/optimizely-graph-client": "6.0.0-pre13",
|
|
52
52
|
"@types/node": "^22.18.13",
|
|
53
53
|
"typescript": "^5.9.3"
|
|
54
54
|
},
|
|
@@ -59,8 +59,8 @@
|
|
|
59
59
|
"@graphql-codegen/typescript": "^5.0.2",
|
|
60
60
|
"@graphql-codegen/typescript-graphql-request": "^6.3.0",
|
|
61
61
|
"@graphql-codegen/typescript-operations": "^5.0.2",
|
|
62
|
-
"@remkoj/optimizely-cms-api": "6.0.0-
|
|
63
|
-
"@remkoj/optimizely-graph-client": "6.0.0-
|
|
62
|
+
"@remkoj/optimizely-cms-api": "6.0.0-pre13",
|
|
63
|
+
"@remkoj/optimizely-graph-client": "6.0.0-pre13",
|
|
64
64
|
"graphql": "^16.11.0",
|
|
65
65
|
"graphql-request": "^7.3.1",
|
|
66
66
|
"graphql-sock": "^1.0.1",
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
import type { Types } from '@graphql-codegen/plugin-helpers';
|
|
2
|
-
import type { PresetOptions } from '../types';
|
|
3
|
-
/**
|
|
4
|
-
* Remove the "item" field in queries and fragments from the "ContentReference" type if it's not in the schema
|
|
5
|
-
*
|
|
6
|
-
* @param files
|
|
7
|
-
* @param options
|
|
8
|
-
* @returns
|
|
9
|
-
*/
|
|
10
|
-
export declare function removeReferenceItem(files: Types.DocumentFile[], options: Types.PresetFnArgs<PresetOptions>): Promise<Types.DocumentFile[]>;
|
|
11
|
-
export default removeReferenceItem;
|
|
@@ -1,113 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.removeReferenceItem = removeReferenceItem;
|
|
4
|
-
const graphql_1 = require("graphql");
|
|
5
|
-
/**
|
|
6
|
-
* Remove the "item" field in queries and fragments from the "ContentReference" type if it's not in the schema
|
|
7
|
-
*
|
|
8
|
-
* @param files
|
|
9
|
-
* @param options
|
|
10
|
-
* @returns
|
|
11
|
-
*/
|
|
12
|
-
async function removeReferenceItem(files, options) {
|
|
13
|
-
// Debug output
|
|
14
|
-
if (options.presetConfig.verbose)
|
|
15
|
-
console.log(`✨ [Optimizely] Checking ContentReference to determine if it has an "item" field`);
|
|
16
|
-
const GraphSchemaObject = 'ContentReference';
|
|
17
|
-
const GraphFieldName = 'item';
|
|
18
|
-
// Get the fields of ContentReference, return if it contains "item" - we're all good to go
|
|
19
|
-
const contentReferenceFields = getObjectFieldNames(options.schema, GraphSchemaObject);
|
|
20
|
-
if (contentReferenceFields.includes(GraphFieldName))
|
|
21
|
-
return files;
|
|
22
|
-
// Ouch, this is an old SaaS CMS instance, so we're going to clean this field
|
|
23
|
-
if (options.presetConfig.verbose)
|
|
24
|
-
console.log(`✨ [Optimizely] Nope it hasn't removing any reference to it`);
|
|
25
|
-
const filteredFiles = files.map((file) => {
|
|
26
|
-
let isModified = false;
|
|
27
|
-
const newDocument = file.document ? (0, graphql_1.visit)(file.document, {
|
|
28
|
-
Field: {
|
|
29
|
-
enter(node) {
|
|
30
|
-
const dependDirective = node.directives?.find(x => x.name.value === 'depend');
|
|
31
|
-
if (dependDirective) {
|
|
32
|
-
const args = parseArgs(dependDirective.arguments);
|
|
33
|
-
const dependency = args.get('on');
|
|
34
|
-
if (typeof dependency !== 'string' || dependency.length === 0)
|
|
35
|
-
throw new Error(`The depend directive requires the parameter "on" to be a non-empty string ${buildLocString(dependDirective)}`);
|
|
36
|
-
console.log(`Field ${node.name.value} depends on ${args.get('on')}`);
|
|
37
|
-
}
|
|
38
|
-
}
|
|
39
|
-
}
|
|
40
|
-
}) : undefined;
|
|
41
|
-
return isModified
|
|
42
|
-
? {
|
|
43
|
-
...file,
|
|
44
|
-
rawSDL: newDocument ? (0, graphql_1.print)(newDocument) : undefined,
|
|
45
|
-
document: newDocument,
|
|
46
|
-
}
|
|
47
|
-
: file;
|
|
48
|
-
});
|
|
49
|
-
return filteredFiles;
|
|
50
|
-
}
|
|
51
|
-
function buildLocString(node) {
|
|
52
|
-
if (!node.loc)
|
|
53
|
-
return "";
|
|
54
|
-
const sourceName = node.loc.source.name;
|
|
55
|
-
const startLine = node.loc.startToken.line;
|
|
56
|
-
const startChar = node.loc.startToken.column;
|
|
57
|
-
return `in ${sourceName} at line ${startLine}, position ${startChar}`;
|
|
58
|
-
}
|
|
59
|
-
function parseArgs(args) {
|
|
60
|
-
return args?.reduce((out, arg) => {
|
|
61
|
-
const argName = arg.name.value;
|
|
62
|
-
switch (arg.value.kind) {
|
|
63
|
-
case graphql_1.Kind.INT:
|
|
64
|
-
out.set(argName, parseInt(arg.value.value));
|
|
65
|
-
break;
|
|
66
|
-
case graphql_1.Kind.BOOLEAN:
|
|
67
|
-
out.set(argName, new Boolean(arg.value.value));
|
|
68
|
-
break;
|
|
69
|
-
case graphql_1.Kind.STRING:
|
|
70
|
-
out.set(argName, arg.value.value);
|
|
71
|
-
break;
|
|
72
|
-
default:
|
|
73
|
-
throw new Error(`Error parsing directive arguments, encountered unsupported argument kind ${arg.value.kind} for ${argName} ${buildLocString(arg)}`);
|
|
74
|
-
}
|
|
75
|
-
return out;
|
|
76
|
-
}, new Map()) ?? new Map();
|
|
77
|
-
}
|
|
78
|
-
exports.default = removeReferenceItem;
|
|
79
|
-
function getObjectFieldNames(schema, objectName) {
|
|
80
|
-
let currentObjectName;
|
|
81
|
-
let objectFields = [];
|
|
82
|
-
(0, graphql_1.visit)(schema, {
|
|
83
|
-
ObjectTypeDefinition: {
|
|
84
|
-
enter(node) {
|
|
85
|
-
currentObjectName = node.name.value;
|
|
86
|
-
},
|
|
87
|
-
leave(node) {
|
|
88
|
-
if (currentObjectName === node.name.value)
|
|
89
|
-
currentObjectName = undefined;
|
|
90
|
-
},
|
|
91
|
-
},
|
|
92
|
-
FieldDefinition: {
|
|
93
|
-
enter(node) {
|
|
94
|
-
if (currentObjectName === objectName)
|
|
95
|
-
objectFields.push(node.name.value);
|
|
96
|
-
},
|
|
97
|
-
},
|
|
98
|
-
});
|
|
99
|
-
return objectFields;
|
|
100
|
-
}
|
|
101
|
-
function isASTNode(node) {
|
|
102
|
-
return !Array.isArray(node);
|
|
103
|
-
}
|
|
104
|
-
function isNotNullOrUndefined(toTest) {
|
|
105
|
-
return toTest !== null && toTest !== undefined;
|
|
106
|
-
}
|
|
107
|
-
function isFragmentOrOperation(x) {
|
|
108
|
-
if (Array.isArray(x) || x == undefined || x == null)
|
|
109
|
-
return false;
|
|
110
|
-
return (x.kind == graphql_1.Kind.FRAGMENT_DEFINITION ||
|
|
111
|
-
x.kind == graphql_1.Kind.OPERATION_DEFINITION);
|
|
112
|
-
}
|
|
113
|
-
//# sourceMappingURL=removeReferenceItem.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"removeReferenceItem.js","sourceRoot":"","sources":["../../src/_transform/removeReferenceItem.ts"],"names":[],"mappings":"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"}
|