@remkoj/optimizely-graph-functions 1.0.2 → 1.0.3
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/index.d.ts +19 -0
- package/dist/index.js +26 -0
- package/dist/index.js.map +1 -1
- package/dist/preset.js +32 -3
- package/dist/preset.js.map +1 -1
- package/dist/transform.js +67 -37
- package/dist/transform.js.map +1 -1
- package/package.json +3 -3
- package/dist/src/documents.d.ts +0 -9
- package/dist/src/documents.js +0 -173
- package/dist/src/documents.js.map +0 -1
- package/dist/src/index.d.ts +0 -30
- package/dist/src/index.js +0 -138
- package/dist/src/index.js.map +0 -1
- package/dist/src/preset.d.ts +0 -7
- package/dist/src/preset.js +0 -79
- package/dist/src/preset.js.map +0 -1
- package/dist/src/transform.d.ts +0 -11
- package/dist/src/transform.js +0 -136
- package/dist/src/transform.js.map +0 -1
- package/dist/src/types.d.ts +0 -21
- package/dist/src/types.js +0 -3
- package/dist/src/types.js.map +0 -1
- package/dist/src/utils.d.ts +0 -8
- package/dist/src/utils.js +0 -38
- package/dist/src/utils.js.map +0 -1
- package/dist/tsconfig.tsbuildinfo +0 -1
package/dist/src/index.js
DELETED
|
@@ -1,138 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.plugin = exports.validate = exports.pickPluginOptions = void 0;
|
|
4
|
-
const graphql_1 = require("graphql");
|
|
5
|
-
const utils_1 = require("./utils");
|
|
6
|
-
function pickPluginOptions(options) {
|
|
7
|
-
return {
|
|
8
|
-
functions: options.functions ?? ['getContentByPath', 'getContentById'],
|
|
9
|
-
prettyPrintQuery: options.prettyPrintQuery ?? false,
|
|
10
|
-
clientPath: options.clientPath ?? "./graphql"
|
|
11
|
-
};
|
|
12
|
-
}
|
|
13
|
-
exports.pickPluginOptions = pickPluginOptions;
|
|
14
|
-
/**
|
|
15
|
-
* Validate the plugin configuration
|
|
16
|
-
*
|
|
17
|
-
* @param schema
|
|
18
|
-
* @param document
|
|
19
|
-
* @param config
|
|
20
|
-
* @param outputFile
|
|
21
|
-
* @param allPlugins
|
|
22
|
-
* @param pluginContext
|
|
23
|
-
*/
|
|
24
|
-
const validate = (schema, document, config, outputFile, allPlugins, pluginContext) => {
|
|
25
|
-
if (config.functions) {
|
|
26
|
-
if (!Array.isArray(config.functions))
|
|
27
|
-
throw new Error("If provided functions must be an array");
|
|
28
|
-
if (config.functions.some(x => typeof (x) != 'string' || x.length == 0))
|
|
29
|
-
throw new Error("If provided functions must only contain non-empty strings");
|
|
30
|
-
}
|
|
31
|
-
};
|
|
32
|
-
exports.validate = validate;
|
|
33
|
-
/**
|
|
34
|
-
* Actual Plugin logic
|
|
35
|
-
*
|
|
36
|
-
* @param schema
|
|
37
|
-
* @param documents
|
|
38
|
-
* @param config
|
|
39
|
-
* @param info
|
|
40
|
-
* @returns
|
|
41
|
-
*/
|
|
42
|
-
const plugin = async (schema, documents, config, info) => {
|
|
43
|
-
// Read the functions to fully build & extend
|
|
44
|
-
const functions = config.functions || [];
|
|
45
|
-
if (functions.length == 0)
|
|
46
|
-
return "// NO FUNCTIONS TO BE EXPORTED";
|
|
47
|
-
// Output the functions
|
|
48
|
-
const docs = (0, graphql_1.concatAST)(documents.map(x => x.document).filter(utils_1.isNotNullOrUndefined));
|
|
49
|
-
const output = functions.map(fn => {
|
|
50
|
-
try {
|
|
51
|
-
const queryNode = (0, graphql_1.getOperationAST)(docs, fn);
|
|
52
|
-
if (!(queryNode && queryNode.operation == graphql_1.OperationTypeNode.QUERY))
|
|
53
|
-
return [`export async function ${fn}() { throw new Error('No query named ${fn} defined')}`];
|
|
54
|
-
const fragments = resolveSpreads(queryNode, docs);
|
|
55
|
-
const fnTypeName = fn.charAt(0).toUpperCase() + fn.slice(1);
|
|
56
|
-
const varsType = `Types.${fnTypeName}QueryVariables`;
|
|
57
|
-
const returnType = `Types.${fnTypeName}Query`;
|
|
58
|
-
const query = [queryNode, ...fragments].map(node => (0, graphql_1.print)(node)).join("\n\n");
|
|
59
|
-
const functionBody = [];
|
|
60
|
-
functionBody.push(`export function ${fn}(client: GraphQLClient, variables: ${varsType}) : Promise<${returnType}>`);
|
|
61
|
-
functionBody.push('{');
|
|
62
|
-
functionBody.push(` const query = gql\`${config.prettyPrintQuery ? query : query.replace(/\s+/g, ' ').trim()}\``);
|
|
63
|
-
functionBody.push(` return client.request<${returnType}, ${varsType}>(query, variables)`);
|
|
64
|
-
functionBody.push('}');
|
|
65
|
-
return functionBody;
|
|
66
|
-
}
|
|
67
|
-
catch (e) {
|
|
68
|
-
return [`export async function ${fn}() { throw new Error('Function generation error')}`];
|
|
69
|
-
}
|
|
70
|
-
}).flat();
|
|
71
|
-
const prepend = [];
|
|
72
|
-
const append = [];
|
|
73
|
-
prepend.push('import { gql, type GraphQLClient } from \'graphql-request\'');
|
|
74
|
-
prepend.push('import { ContentGraphClient as BaseGraphClient } from \'@remkoj/optimizely-graph-client\'');
|
|
75
|
-
prepend.push(`import type * as Types from './graphql'`);
|
|
76
|
-
prepend.push("\n");
|
|
77
|
-
append.push("\n\n");
|
|
78
|
-
append.push(generateClientClass(functions));
|
|
79
|
-
return { prepend, content: output.join("\n"), append };
|
|
80
|
-
};
|
|
81
|
-
exports.plugin = plugin;
|
|
82
|
-
function resolveSpreads(definition, document, availableFragments = []) {
|
|
83
|
-
// Collect the fragment names we need to add
|
|
84
|
-
const spreadNames = [];
|
|
85
|
-
(0, graphql_1.visit)(definition, {
|
|
86
|
-
"FragmentSpread": {
|
|
87
|
-
leave(node) {
|
|
88
|
-
if (!availableFragments.includes(node.name.value))
|
|
89
|
-
spreadNames.push(node.name.value);
|
|
90
|
-
}
|
|
91
|
-
}
|
|
92
|
-
});
|
|
93
|
-
// Collect these fragments from the document
|
|
94
|
-
const fragments = [];
|
|
95
|
-
(0, graphql_1.visit)(document, {
|
|
96
|
-
FragmentDefinition: {
|
|
97
|
-
leave(node) {
|
|
98
|
-
if (spreadNames.includes(node.name.value))
|
|
99
|
-
fragments.push(node);
|
|
100
|
-
}
|
|
101
|
-
}
|
|
102
|
-
});
|
|
103
|
-
// Recurse down the fragments to build the full query
|
|
104
|
-
const dependencies = [];
|
|
105
|
-
const availableFragmentNames = [...availableFragments, ...fragments.map(x => x.name.value)];
|
|
106
|
-
fragments.forEach(fragment => {
|
|
107
|
-
// Set the available names based on what was previously available, loaded above and loaded within this loop
|
|
108
|
-
const resolvedSpreads = [...availableFragmentNames, ...dependencies.map(x => x.name.value)];
|
|
109
|
-
// Recurse into fragments
|
|
110
|
-
const fragmentDependencies = resolveSpreads(fragment, document, resolvedSpreads);
|
|
111
|
-
dependencies.push(...fragmentDependencies);
|
|
112
|
-
});
|
|
113
|
-
return [...fragments, ...dependencies];
|
|
114
|
-
}
|
|
115
|
-
function generateClientClass(functions) {
|
|
116
|
-
return `/**
|
|
117
|
-
* Function client for Optimizely Graph, exposing both the raw request method,
|
|
118
|
-
* as well as the high level convenience methods to read content from
|
|
119
|
-
* Optimizely Graph. The actual format for each of the Content Items returned
|
|
120
|
-
* by these convenience methods is defined by the GraphQL Fragments within the
|
|
121
|
-
* application codebase.
|
|
122
|
-
*/
|
|
123
|
-
export class OptimizelyGraphClient extends BaseGraphClient {
|
|
124
|
-
|
|
125
|
-
${functions.map(fn => {
|
|
126
|
-
const fnTypeName = fn.charAt(0).toUpperCase() + fn.slice(1);
|
|
127
|
-
const fnNamespace = "Types";
|
|
128
|
-
const varsType = `${fnNamespace}.${fnTypeName}QueryVariables`;
|
|
129
|
-
const returnType = `${fnNamespace}.${fnTypeName}Query`;
|
|
130
|
-
return ` public ${fn}(variables: ${varsType}) : Promise<${returnType}>
|
|
131
|
-
{
|
|
132
|
-
return ${fn}(this, variables)
|
|
133
|
-
}`;
|
|
134
|
-
}).join('\n\n')}
|
|
135
|
-
}`;
|
|
136
|
-
}
|
|
137
|
-
exports.default = { validate: exports.validate, plugin: exports.plugin };
|
|
138
|
-
//# sourceMappingURL=index.js.map
|
package/dist/src/index.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/src/preset.d.ts
DELETED
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
import type { Types } from '@graphql-codegen/plugin-helpers';
|
|
2
|
-
import { type ClientPresetConfig as ClientPresetOptions } from '@graphql-codegen/client-preset';
|
|
3
|
-
import { type PluginOptions } from './index';
|
|
4
|
-
import { type TransformOptions } from './transform';
|
|
5
|
-
export type PresetOptions = ClientPresetOptions & PluginOptions & TransformOptions;
|
|
6
|
-
export declare const preset: Types.OutputPreset<PresetOptions>;
|
|
7
|
-
export default preset;
|
package/dist/src/preset.js
DELETED
|
@@ -1,79 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
-
if (k2 === undefined) k2 = k;
|
|
4
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
-
}
|
|
8
|
-
Object.defineProperty(o, k2, desc);
|
|
9
|
-
}) : (function(o, m, k, k2) {
|
|
10
|
-
if (k2 === undefined) k2 = k;
|
|
11
|
-
o[k2] = m[k];
|
|
12
|
-
}));
|
|
13
|
-
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
-
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
-
}) : function(o, v) {
|
|
16
|
-
o["default"] = v;
|
|
17
|
-
});
|
|
18
|
-
var __importStar = (this && this.__importStar) || function (mod) {
|
|
19
|
-
if (mod && mod.__esModule) return mod;
|
|
20
|
-
var result = {};
|
|
21
|
-
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
22
|
-
__setModuleDefault(result, mod);
|
|
23
|
-
return result;
|
|
24
|
-
};
|
|
25
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
26
|
-
exports.preset = void 0;
|
|
27
|
-
const documents_1 = require("./documents");
|
|
28
|
-
// Import base preset
|
|
29
|
-
const client_preset_1 = require("@graphql-codegen/client-preset");
|
|
30
|
-
// Import injected parts
|
|
31
|
-
const index_1 = __importStar(require("./index"));
|
|
32
|
-
const transform_1 = __importStar(require("./transform"));
|
|
33
|
-
exports.preset = {
|
|
34
|
-
prepareDocuments: async (outputFilePath, outputSpecificDocuments) => {
|
|
35
|
-
// Get the base documents
|
|
36
|
-
const documents = client_preset_1.preset.prepareDocuments ? await client_preset_1.preset.prepareDocuments(outputFilePath, outputSpecificDocuments) : [...outputSpecificDocuments, `!${outputFilePath}`];
|
|
37
|
-
// Then add the implicit documents to it
|
|
38
|
-
documents.push([...documents_1.fragments, ...documents_1.queries].join("\n"));
|
|
39
|
-
// Finally return the extended array
|
|
40
|
-
return documents;
|
|
41
|
-
},
|
|
42
|
-
buildGeneratesSection: async (options) => {
|
|
43
|
-
options.documentTransforms = [
|
|
44
|
-
{
|
|
45
|
-
name: 'optly-transform',
|
|
46
|
-
transformObject: transform_1.default,
|
|
47
|
-
config: (0, transform_1.pickTransformOptions)(options.presetConfig)
|
|
48
|
-
}
|
|
49
|
-
];
|
|
50
|
-
const section = await client_preset_1.preset.buildGeneratesSection(options);
|
|
51
|
-
// Add the functions file
|
|
52
|
-
section.push({
|
|
53
|
-
filename: `${options.baseOutputDir}functions.ts`,
|
|
54
|
-
pluginMap: {
|
|
55
|
-
['optly-functions']: index_1.default
|
|
56
|
-
},
|
|
57
|
-
plugins: [
|
|
58
|
-
{
|
|
59
|
-
['optly-functions']: {}
|
|
60
|
-
}
|
|
61
|
-
],
|
|
62
|
-
schema: options.schema,
|
|
63
|
-
config: (0, index_1.pickPluginOptions)(options.presetConfig),
|
|
64
|
-
documents: options.documents,
|
|
65
|
-
documentTransforms: options.documentTransforms
|
|
66
|
-
});
|
|
67
|
-
// Add functions to index plugin
|
|
68
|
-
section.forEach((fileConfig, idx) => {
|
|
69
|
-
if (fileConfig.filename.endsWith("index.ts")) {
|
|
70
|
-
const currentContent = section[idx].plugins[0]?.add?.content;
|
|
71
|
-
if (currentContent)
|
|
72
|
-
section[idx].plugins[0].add.content = `export * as Schema from "./graphql";\n${currentContent}\nexport * from "./functions";`;
|
|
73
|
-
}
|
|
74
|
-
});
|
|
75
|
-
return section;
|
|
76
|
-
},
|
|
77
|
-
};
|
|
78
|
-
exports.default = exports.preset;
|
|
79
|
-
//# sourceMappingURL=preset.js.map
|
package/dist/src/preset.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"preset.js","sourceRoot":"","sources":["../../src/preset.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AACA,2CAAgD;AAEhD,qBAAqB;AACrB,kEAAuH;AAEvH,wBAAwB;AACxB,iDAAuE;AACvE,yDAAoF;AAKvE,QAAA,MAAM,GACnB;IACI,gBAAgB,EAAE,KAAK,EAAE,cAAc,EAAE,uBAAuB,EAAE,EAAE;QAChE,yBAAyB;QACzB,MAAM,SAAS,GAAG,sBAAY,CAAC,gBAAgB,CAAC,CAAC,CAAC,MAAM,sBAAY,CAAC,gBAAgB,CAAC,cAAc,EAAE,uBAAuB,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,uBAAuB,EAAE,IAAI,cAAc,EAAE,CAAC,CAAA;QAEnL,wCAAwC;QACxC,SAAS,CAAC,IAAI,CAAC,CAAC,GAAG,qBAAS,EAAE,GAAG,mBAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAA;QAErD,oCAAoC;QACpC,OAAO,SAAS,CAAA;IACpB,CAAC;IAED,qBAAqB,EAAE,KAAK,EAAE,OAAO,EAAG,EAAE;QACtC,OAAO,CAAC,kBAAkB,GAAG;YACzB;gBACI,IAAI,EAAE,iBAAiB;gBACvB,eAAe,EAAE,mBAAS;gBAC1B,MAAM,EAAE,IAAA,gCAAoB,EAAC,OAAO,CAAC,YAAY,CAAC;aACrD;SACJ,CAAA;QAED,MAAM,OAAO,GAAG,MAAM,sBAAY,CAAC,qBAAqB,CAAC,OAAO,CAAC,CAAA;QAEjE,yBAAyB;QACzB,OAAO,CAAC,IAAI,CAAC;YACT,QAAQ,EAAE,GAAI,OAAO,CAAC,aAAc,cAAc;YAClD,SAAS,EAAE;gBACP,CAAC,iBAAiB,CAAC,EAAE,eAAM;aAC9B;YACD,OAAO,EAAE;gBACL;oBACI,CAAC,iBAAiB,CAAC,EAAE,EAAE;iBAC1B;aACJ;YACD,MAAM,EAAE,OAAO,CAAC,MAAM;YACtB,MAAM,EAAE,IAAA,yBAAiB,EAAC,OAAO,CAAC,YAAY,CAAC;YAC/C,SAAS,EAAE,OAAO,CAAC,SAAS;YAC5B,kBAAkB,EAAE,OAAO,CAAC,kBAAkB;SACjD,CAAC,CAAA;QAEF,gCAAgC;QAChC,OAAO,CAAC,OAAO,CAAC,CAAC,UAAU,EAAE,GAAG,EAAE,EAAE;YAChC,IAAI,UAAU,CAAC,QAAQ,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC;gBAC3C,MAAM,cAAc,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,OAAO,CAAA;gBAC5D,IAAI,cAAc;oBACd,OAAO,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,GAAG,yCAAyC,cAAc,gCAAgC,CAAA;YACrI,CAAC;QACL,CAAC,CAAC,CAAA;QAEF,OAAO,OAAO,CAAA;IAClB,CAAC;CACJ,CAAA;AAED,kBAAe,cAAM,CAAA"}
|
package/dist/src/transform.d.ts
DELETED
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
import type { Types } from '@graphql-codegen/plugin-helpers';
|
|
2
|
-
import type { Injection } from './types';
|
|
3
|
-
export type TransformOptions = {
|
|
4
|
-
injections?: Injection[];
|
|
5
|
-
};
|
|
6
|
-
export declare function pickTransformOptions(options: Record<string, any>): TransformOptions;
|
|
7
|
-
export declare const transform: Types.DocumentTransformFunction<TransformOptions>;
|
|
8
|
-
declare const _default: {
|
|
9
|
-
transform: Types.DocumentTransformFunction<TransformOptions>;
|
|
10
|
-
};
|
|
11
|
-
export default _default;
|
package/dist/src/transform.js
DELETED
|
@@ -1,136 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.transform = exports.pickTransformOptions = void 0;
|
|
4
|
-
const graphql_1 = require("graphql");
|
|
5
|
-
function pickTransformOptions(options) {
|
|
6
|
-
return {
|
|
7
|
-
injections: options.injections ?? []
|
|
8
|
-
};
|
|
9
|
-
}
|
|
10
|
-
exports.pickTransformOptions = pickTransformOptions;
|
|
11
|
-
function isArray(toTest) { return Array.isArray(toTest); }
|
|
12
|
-
const transform = async ({ documents: files, config }) => {
|
|
13
|
-
//console.log("[STARTED] Optimizely document transformation")
|
|
14
|
-
const injections = config.injections ?? [];
|
|
15
|
-
// Retrieve component fragments
|
|
16
|
-
const componentFragments = {};
|
|
17
|
-
files.forEach(file => {
|
|
18
|
-
if (!file.document)
|
|
19
|
-
return;
|
|
20
|
-
const applicableInjections = injections.filter(injection => !injection.pathRegex || (new RegExp(injection.pathRegex)).test(file.location ?? ""));
|
|
21
|
-
if (!applicableInjections || applicableInjections.length == 0)
|
|
22
|
-
return;
|
|
23
|
-
(0, graphql_1.visit)(file.document, {
|
|
24
|
-
"FragmentDefinition": {
|
|
25
|
-
enter(node) {
|
|
26
|
-
const matchingInjections = applicableInjections.filter(injection => !injection.nameRegex || (new RegExp(injection.nameRegex)).test(node.name.value));
|
|
27
|
-
if (!matchingInjections || matchingInjections.length == 0)
|
|
28
|
-
return false;
|
|
29
|
-
matchingInjections.forEach(injection => {
|
|
30
|
-
//console.log(`[ DEBUG ] Matched ${ node.name.value } for ${ injection.into } in file ${ node.loc?.source?.name }`)
|
|
31
|
-
if (!componentFragments[injection.into])
|
|
32
|
-
componentFragments[injection.into] = [];
|
|
33
|
-
if (!componentFragments[injection.into].some(f => f.name.value == node.name.value))
|
|
34
|
-
componentFragments[injection.into].push(node);
|
|
35
|
-
});
|
|
36
|
-
return undefined;
|
|
37
|
-
}
|
|
38
|
-
}
|
|
39
|
-
});
|
|
40
|
-
});
|
|
41
|
-
// Get the names we actually need to inject into, and return when none are present
|
|
42
|
-
const intoNames = Object.getOwnPropertyNames(componentFragments);
|
|
43
|
-
if (intoNames.length == 0)
|
|
44
|
-
return files;
|
|
45
|
-
// Process the fragments, add matching spreads if need be
|
|
46
|
-
const recursiveFragments = ["BlockContentAreaItemSearchData", "BlockContentAreaItemData"];
|
|
47
|
-
const componentSpreads = {};
|
|
48
|
-
intoNames.forEach(intoName => {
|
|
49
|
-
//console.log(`[ DEBUG ] Preparing mutations for ${ intoName }`)
|
|
50
|
-
componentFragments[intoName].forEach(fragment => {
|
|
51
|
-
//console.log(`[ DEBUG ] Preparing mutations for fragment ${ fragment.name.value } within ${ intoName }`)
|
|
52
|
-
(0, graphql_1.visit)(fragment, {
|
|
53
|
-
"FragmentSpread": {
|
|
54
|
-
leave(node, key, parent, path, ancestors) {
|
|
55
|
-
if (recursiveFragments.includes(node.name.value) && !isArray(ancestors[0]) && ancestors[0].kind == graphql_1.Kind.FRAGMENT_DEFINITION) {
|
|
56
|
-
//console.log(`[ DEBUG ] Leaving ${ node.name.value } within ${ fragment.name.value } for ${ intoName}, creating recursive fragment`)
|
|
57
|
-
const fields = ancestors.filter(a => !isArray(a) && a.kind != graphql_1.Kind.FRAGMENT_DEFINITION && a.kind != graphql_1.Kind.SELECTION_SET);
|
|
58
|
-
if (fields.length < 1)
|
|
59
|
-
return undefined;
|
|
60
|
-
if (fields.length > 1)
|
|
61
|
-
throw new Error("Recursive items on embedded blocks are not supported at the moment");
|
|
62
|
-
const newNode = {
|
|
63
|
-
kind: graphql_1.Kind.INLINE_FRAGMENT,
|
|
64
|
-
typeCondition: ancestors[0].typeCondition,
|
|
65
|
-
selectionSet: {
|
|
66
|
-
kind: graphql_1.Kind.SELECTION_SET,
|
|
67
|
-
selections: [{
|
|
68
|
-
kind: graphql_1.Kind.FIELD,
|
|
69
|
-
name: fields[0].name,
|
|
70
|
-
alias: fields[0].alias,
|
|
71
|
-
selectionSet: {
|
|
72
|
-
kind: graphql_1.Kind.SELECTION_SET,
|
|
73
|
-
selections: recursiveSelections
|
|
74
|
-
}
|
|
75
|
-
}]
|
|
76
|
-
}
|
|
77
|
-
};
|
|
78
|
-
if (!componentSpreads[intoName])
|
|
79
|
-
componentSpreads[intoName] = [];
|
|
80
|
-
componentSpreads[intoName].push(newNode);
|
|
81
|
-
}
|
|
82
|
-
}
|
|
83
|
-
}
|
|
84
|
-
});
|
|
85
|
-
});
|
|
86
|
-
});
|
|
87
|
-
const newFiles = files.map(file => {
|
|
88
|
-
const document = file.document ? (0, graphql_1.visit)(file.document, {
|
|
89
|
-
SelectionSet: {
|
|
90
|
-
enter(node, key, parent) {
|
|
91
|
-
if (!isArray(parent) && parent?.kind == graphql_1.Kind.FRAGMENT_DEFINITION && intoNames.includes(parent.name.value)) {
|
|
92
|
-
const addedSelections = componentFragments[parent.name.value].map(fragment => {
|
|
93
|
-
return {
|
|
94
|
-
kind: graphql_1.Kind.FRAGMENT_SPREAD,
|
|
95
|
-
directives: [],
|
|
96
|
-
name: {
|
|
97
|
-
kind: graphql_1.Kind.NAME,
|
|
98
|
-
value: fragment.name.value
|
|
99
|
-
}
|
|
100
|
-
};
|
|
101
|
-
});
|
|
102
|
-
componentSpreads[parent.name.value]?.forEach(spread => {
|
|
103
|
-
//console.log("[ DEBUG ] Pushing inline fragment for", parent.name.value)
|
|
104
|
-
addedSelections.push(spread);
|
|
105
|
-
});
|
|
106
|
-
return {
|
|
107
|
-
...node,
|
|
108
|
-
selections: [
|
|
109
|
-
...node.selections,
|
|
110
|
-
...addedSelections
|
|
111
|
-
]
|
|
112
|
-
};
|
|
113
|
-
}
|
|
114
|
-
return undefined;
|
|
115
|
-
}
|
|
116
|
-
}
|
|
117
|
-
}) : undefined;
|
|
118
|
-
return {
|
|
119
|
-
...file,
|
|
120
|
-
document: document,
|
|
121
|
-
};
|
|
122
|
-
});
|
|
123
|
-
//console.log("[SUCCESS] Optimizely document transformation")
|
|
124
|
-
return newFiles;
|
|
125
|
-
};
|
|
126
|
-
exports.transform = transform;
|
|
127
|
-
exports.default = { transform: exports.transform };
|
|
128
|
-
// The recursive sections to add
|
|
129
|
-
const recursiveSelections = (0, graphql_1.parse)(`fragment BlockContentAreaItemData on ContentAreaItemModel {
|
|
130
|
-
item: ContentLink {
|
|
131
|
-
data: Expanded @recursive(depth: 3) {
|
|
132
|
-
__typename
|
|
133
|
-
}
|
|
134
|
-
}
|
|
135
|
-
}`).definitions[0]?.selectionSet.selections || [];
|
|
136
|
-
//# sourceMappingURL=transform.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"transform.js","sourceRoot":"","sources":["../../src/transform.ts"],"names":[],"mappings":"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"}
|
package/dist/src/types.d.ts
DELETED
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
import type { FragmentDefinitionNode, OperationDefinitionNode } from 'graphql';
|
|
2
|
-
export type Injection = {
|
|
3
|
-
into: string;
|
|
4
|
-
nameRegex?: string;
|
|
5
|
-
pathRegex?: string;
|
|
6
|
-
};
|
|
7
|
-
export type IntoMatchType = {
|
|
8
|
-
docId: number;
|
|
9
|
-
path?: string;
|
|
10
|
-
match: {
|
|
11
|
-
defId: number;
|
|
12
|
-
data: OperationDefinitionNode | FragmentDefinitionNode;
|
|
13
|
-
} | null;
|
|
14
|
-
};
|
|
15
|
-
export type Mandatory<T> = {
|
|
16
|
-
[P in keyof T]-?: NonNullable<T[P]>;
|
|
17
|
-
};
|
|
18
|
-
export type WithRequiredProp<T, K extends keyof T> = Omit<T, K> & Pick<Mandatory<T>, K>;
|
|
19
|
-
export type Writeable<T> = {
|
|
20
|
-
-readonly [P in keyof T]: T[P];
|
|
21
|
-
};
|
package/dist/src/types.js
DELETED
package/dist/src/types.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":""}
|
package/dist/src/utils.d.ts
DELETED
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
import type { DefinitionNode, FragmentDefinitionNode, OperationDefinitionNode } from 'graphql';
|
|
2
|
-
import type { IntoMatchType, WithRequiredProp } from './types';
|
|
3
|
-
import type { PluginOptions } from './index';
|
|
4
|
-
export declare function isNotNullOrUndefined<T>(toTest: T | null | undefined): toTest is T;
|
|
5
|
-
export declare function isFragmentDefinitionNode(node?: DefinitionNode): node is FragmentDefinitionNode;
|
|
6
|
-
export declare function isSelectionDefinitionNode(node?: DefinitionNode): node is FragmentDefinitionNode | OperationDefinitionNode;
|
|
7
|
-
export declare function isIntoMatch(toTest: IntoMatchType | null | undefined): toTest is WithRequiredProp<IntoMatchType, 'match'>;
|
|
8
|
-
export declare function extractPluginConfigAndApplyDefaults(baseConfig: Record<string, any>, defaultValues: Partial<PluginOptions>): Partial<PluginOptions>;
|
package/dist/src/utils.js
DELETED
|
@@ -1,38 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.extractPluginConfigAndApplyDefaults = exports.isIntoMatch = exports.isSelectionDefinitionNode = exports.isFragmentDefinitionNode = exports.isNotNullOrUndefined = void 0;
|
|
4
|
-
const graphql_1 = require("graphql");
|
|
5
|
-
function isNotNullOrUndefined(toTest) {
|
|
6
|
-
return toTest ? true : false;
|
|
7
|
-
}
|
|
8
|
-
exports.isNotNullOrUndefined = isNotNullOrUndefined;
|
|
9
|
-
function isFragmentDefinitionNode(node) {
|
|
10
|
-
return node?.kind == graphql_1.Kind.FRAGMENT_DEFINITION && node.name.value ? true : false;
|
|
11
|
-
}
|
|
12
|
-
exports.isFragmentDefinitionNode = isFragmentDefinitionNode;
|
|
13
|
-
function isSelectionDefinitionNode(node) {
|
|
14
|
-
return node?.kind == graphql_1.Kind.OPERATION_DEFINITION || node?.kind == graphql_1.Kind.FRAGMENT_DEFINITION;
|
|
15
|
-
}
|
|
16
|
-
exports.isSelectionDefinitionNode = isSelectionDefinitionNode;
|
|
17
|
-
function isIntoMatch(toTest) {
|
|
18
|
-
if (!toTest)
|
|
19
|
-
return false;
|
|
20
|
-
return toTest.match ? true : false;
|
|
21
|
-
}
|
|
22
|
-
exports.isIntoMatch = isIntoMatch;
|
|
23
|
-
function extractPluginConfigAndApplyDefaults(baseConfig, defaultValues) {
|
|
24
|
-
const extractedConfig = {
|
|
25
|
-
clientPath: baseConfig?.clientPath || undefined,
|
|
26
|
-
functions: baseConfig?.functions || undefined,
|
|
27
|
-
prettyPrintQuery: baseConfig?.prettyPrintQuery || undefined
|
|
28
|
-
};
|
|
29
|
-
for (const propName of Object.getOwnPropertyNames(extractedConfig))
|
|
30
|
-
if (extractedConfig[propName] == null || extractedConfig[propName] == undefined)
|
|
31
|
-
delete extractedConfig[propName];
|
|
32
|
-
return {
|
|
33
|
-
...defaultValues,
|
|
34
|
-
...extractedConfig
|
|
35
|
-
};
|
|
36
|
-
}
|
|
37
|
-
exports.extractPluginConfigAndApplyDefaults = extractPluginConfigAndApplyDefaults;
|
|
38
|
-
//# sourceMappingURL=utils.js.map
|
package/dist/src/utils.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/utils.ts"],"names":[],"mappings":";;;AAGA,qCAA8B;AAE9B,SAAgB,oBAAoB,CAAI,MAA4B;IAEhE,OAAO,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAA;AAChC,CAAC;AAHD,oDAGC;AAED,SAAgB,wBAAwB,CAAE,IAAqB;IAE3D,OAAO,IAAI,EAAE,IAAI,IAAI,cAAI,CAAC,mBAAmB,IAAI,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAA;AACnF,CAAC;AAHD,4DAGC;AAED,SAAgB,yBAAyB,CAAE,IAAqB;IAE5D,OAAO,IAAI,EAAE,IAAI,IAAI,cAAI,CAAC,oBAAoB,IAAI,IAAI,EAAE,IAAI,IAAI,cAAI,CAAC,mBAAmB,CAAA;AAC5F,CAAC;AAHD,8DAGC;AAED,SAAgB,WAAW,CAAC,MAAwC;IAEhE,IAAI,CAAC,MAAM;QACP,OAAO,KAAK,CAAA;IAChB,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAA;AACtC,CAAC;AALD,kCAKC;AAED,SAAgB,mCAAmC,CAAC,UAA+B,EAAE,aAAqC;IAEtH,MAAM,eAAe,GAA4B;QAC7C,UAAU,EAAE,UAAU,EAAE,UAAU,IAAI,SAAS;QAC/C,SAAS,EAAE,UAAU,EAAE,SAAS,IAAI,SAAS;QAC7C,gBAAgB,EAAE,UAAU,EAAE,gBAAgB,IAAI,SAAS;KAC9D,CAAA;IACD,KAAK,MAAM,QAAQ,IAAI,MAAM,CAAC,mBAAmB,CAAC,eAAe,CAAqC;QAClG,IAAI,eAAe,CAAC,QAAQ,CAAC,IAAI,IAAI,IAAI,eAAe,CAAC,QAAQ,CAAC,IAAI,SAAS;YAC3E,OAAO,eAAe,CAAC,QAAQ,CAAC,CAAA;IAExC,OAAO;QACH,GAAG,aAAa;QAChB,GAAG,eAAe;KACrB,CAAA;AACL,CAAC;AAfD,kFAeC"}
|