@remkoj/optimizely-graph-functions 6.0.0-pre12 → 6.0.0-pre14

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.
Files changed (43) hide show
  1. package/README.md +4 -0
  2. package/dist/_transform/handleDependDirective.js +8 -1
  3. package/dist/_transform/handleDependDirective.js.map +1 -1
  4. package/dist/_transform/injectComponentDocuments.d.ts +3 -0
  5. package/dist/_transform/injectComponentDocuments.js +72 -24
  6. package/dist/_transform/injectComponentDocuments.js.map +1 -1
  7. package/dist/_transform/injectPageQueries.d.ts +1 -0
  8. package/dist/_transform/injectPageQueries.js +40 -7
  9. package/dist/_transform/injectPageQueries.js.map +1 -1
  10. package/dist/_transform/injectSectionQueries.d.ts +1 -0
  11. package/dist/_transform/injectSectionQueries.js +27 -7
  12. package/dist/_transform/injectSectionQueries.js.map +1 -1
  13. package/dist/_transform/performInjections.js +2 -35
  14. package/dist/_transform/performInjections.js.map +1 -1
  15. package/dist/cms/index.d.ts +4 -10
  16. package/dist/cms/index.js +57 -24
  17. package/dist/cms/index.js.map +1 -1
  18. package/dist/contenttype-loader.d.ts +1 -48
  19. package/dist/contenttype-loader.js +21 -281
  20. package/dist/contenttype-loader.js.map +1 -1
  21. package/dist/generator/collision-tracker.d.ts +22 -0
  22. package/dist/generator/collision-tracker.js +103 -0
  23. package/dist/generator/collision-tracker.js.map +1 -0
  24. package/dist/generator/generator.d.ts +77 -0
  25. package/dist/generator/generator.js +267 -0
  26. package/dist/generator/generator.js.map +1 -0
  27. package/dist/generator/index.d.ts +3 -0
  28. package/dist/generator/index.js +42 -0
  29. package/dist/generator/index.js.map +1 -0
  30. package/dist/generator/virtual-location.d.ts +41 -0
  31. package/dist/generator/virtual-location.js +139 -0
  32. package/dist/generator/virtual-location.js.map +1 -0
  33. package/dist/index.js +4 -1
  34. package/dist/index.js.map +1 -1
  35. package/dist/preset.js +61 -36
  36. package/dist/preset.js.map +1 -1
  37. package/dist/transform.d.ts +3 -3
  38. package/dist/transform.js +6 -1
  39. package/dist/transform.js.map +1 -1
  40. package/package.json +20 -16
  41. package/dist/_transform/removeReferenceItem.d.ts +0 -11
  42. package/dist/_transform/removeReferenceItem.js +0 -113
  43. package/dist/_transform/removeReferenceItem.js.map +0 -1
package/README.md CHANGED
@@ -1,4 +1,8 @@
1
1
  # Optimizely GraphQL Codegen Plugin <!-- omit in toc -->
2
+
3
+ > [!WARNING]
4
+ > There'll be an update of Optimizely SaaS CMS that is incompatible with all SDK versions prior to 5.1.6. If you don't upgrade, you will see empty pages (main website) and "Component not found" messages (preview).
5
+
2
6
  GraphQL Codegen plugin and preset which generate both the GraphQL type definitions and a few convenienece methods for useage with [Optimizely Graph Client](../optimizely-graph-client/README.md).
3
7
 
4
8
  [Release notes](https://github.com/remkoj/optimizely-dxp-clients/releases)
@@ -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":"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"}
1
+ {"version":3,"file":"handleDependDirective.js","sourceRoot":"","sources":["../../src/_transform/handleDependDirective.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,8 @@
1
1
  import type { Types } from '@graphql-codegen/plugin-helpers';
2
2
  import type { PresetOptions } from '../types';
3
+ export declare function getComponentDocuments(loader?: string): Promise<Types.CustomDocumentLoader[]>;
4
+ export declare function getInjectionTargetDocuments(loader?: string): Promise<Types.CustomDocumentLoader[]>;
5
+ export declare function injectInjectionTargets(files: Types.DocumentFile[], options: Types.PresetFnArgs<PresetOptions>): Promise<Types.DocumentFile[]>;
3
6
  /**
4
7
  * Check all fragments within the project and ensure that there's at least a fragment for every
5
8
  * content type defined in Optimizely CMS. This assumes that when overriding the fragments the
@@ -33,27 +33,59 @@ var __importStar = (this && this.__importStar) || (function () {
33
33
  };
34
34
  })();
35
35
  Object.defineProperty(exports, "__esModule", { value: true });
36
+ exports.getComponentDocuments = getComponentDocuments;
37
+ exports.getInjectionTargetDocuments = getInjectionTargetDocuments;
38
+ exports.injectInjectionTargets = injectInjectionTargets;
36
39
  exports.injectComponentDocuments = injectComponentDocuments;
37
40
  const graphql_1 = require("graphql");
38
- const QueryGen = __importStar(require("../contenttype-loader"));
41
+ const generator_1 = require("../generator");
39
42
  const OptiCMS = __importStar(require("../cms"));
40
43
  const tools_1 = require("./tools");
41
- /**
42
- * Check all fragments within the project and ensure that there's at least a fragment for every
43
- * content type defined in Optimizely CMS. This assumes that when overriding the fragments the
44
- * project will ensure that the injections are correct.
45
- *
46
- * @param files
47
- * @param options
48
- * @returns
49
- */
50
- async function injectComponentDocuments(files, options) {
44
+ const utils_1 = require("../utils");
45
+ async function getComponentDocuments(loader = '@remkoj/optimizely-graph-functions/contenttype-loader') {
46
+ const componentTypes = await OptiCMS.getContentTypesList(undefined, (ct) => {
47
+ return ct.key && ct.source !== 'graph' ? true : false;
48
+ });
49
+ const documents = [];
50
+ for (const componentType of componentTypes) {
51
+ const vLoc = generator_1.VirtualLocation.build(componentType, { type: 'fragment', forProperty: false });
52
+ if (vLoc) {
53
+ // Inject virtual location
54
+ const def = {};
55
+ def[vLoc] = { loader };
56
+ documents.push(def);
57
+ // Get properties
58
+ const propertyComponentTypeNames = generator_1.DocumentGenerator.getReferencedPropertyComponents(componentType);
59
+ const propertyComponentTypes = (await Promise.all(propertyComponentTypeNames.map(componentTypeName => OptiCMS.getContentType(componentTypeName)))).filter(utils_1.isNotNullOrUndefined);
60
+ for (const propertyComponentType of propertyComponentTypes) {
61
+ const propVLoc = generator_1.VirtualLocation.build(propertyComponentType, { type: 'fragment', forProperty: true });
62
+ if (propVLoc && !documents.some(x => typeof x === 'object' && x[propVLoc])) {
63
+ // Inject virtual location
64
+ const def = {};
65
+ def[propVLoc] = { loader };
66
+ documents.push(def);
67
+ }
68
+ }
69
+ }
70
+ }
71
+ return documents;
72
+ }
73
+ async function getInjectionTargetDocuments(loader = '@remkoj/optimizely-graph-functions/contenttype-loader') {
74
+ const documents = [];
75
+ for (const injectionTarget of generator_1.VirtualLocation.getInjectionTargets()) {
76
+ const vLoc = generator_1.VirtualLocation.build(injectionTarget);
77
+ const def = {};
78
+ def[vLoc] = { loader };
79
+ documents.push(def);
80
+ }
81
+ return documents;
82
+ }
83
+ async function injectInjectionTargets(files, options) {
51
84
  const allFragments = (0, tools_1.getAllFragments)(files);
52
- const allGraphTypes = (0, tools_1.getAllTypeNames)(options.schema);
53
85
  const addedFiles = [];
54
86
  if (options.presetConfig.verbose)
55
- console.log(`✨ [Optimizely] Generating injection target fragments that have not been defined by the implementation`);
56
- for (const injectionTarget of Object.getOwnPropertyNames(QueryGen.ContentTypeTarget)) {
87
+ console.log(`✨ [Optimizely] Generating injection target fragments`);
88
+ for (const injectionTarget of generator_1.VirtualLocation.getInjectionTargets()) {
57
89
  if (!allFragments.some(x => x.fragmentName === injectionTarget)) {
58
90
  const vLoc = `opti-cms:/injectiontarget/${injectionTarget}`;
59
91
  const rawSDL = `fragment ${injectionTarget} on _IContent { ...IContentData }`;
@@ -67,28 +99,44 @@ async function injectComponentDocuments(files, options) {
67
99
  });
68
100
  }
69
101
  }
102
+ return [...files, ...addedFiles];
103
+ }
104
+ /**
105
+ * Check all fragments within the project and ensure that there's at least a fragment for every
106
+ * content type defined in Optimizely CMS. This assumes that when overriding the fragments the
107
+ * project will ensure that the injections are correct.
108
+ *
109
+ * @param files
110
+ * @param options
111
+ * @returns
112
+ */
113
+ async function injectComponentDocuments(files, options) {
114
+ const allFragments = (0, tools_1.getAllFragments)(files);
115
+ const allGraphTypes = (0, tools_1.getAllTypeNames)(options.schema);
116
+ const addedFiles = [];
70
117
  if (options.presetConfig.verbose)
71
118
  console.log(`✨ [Optimizely] Generating component fragments that have not been defined by the implementation`);
72
- const allContentTypes = OptiCMS.getAllContentTypes(options.presetConfig.cmsClient, 100, (ct) => {
119
+ const allContentTypes = await OptiCMS.getContentTypes(options.presetConfig.cmsClient, (ct) => {
73
120
  return ct.key && ct.source !== 'graph' ? true : false;
74
121
  });
122
+ const queryGen = new generator_1.DocumentGenerator(allContentTypes);
75
123
  const propTracker = new Map();
76
- for await (const contentType of allContentTypes) {
124
+ for (const [_, contentType] of allContentTypes) {
77
125
  // Skip over content types without a key
78
126
  if (!contentType.key)
79
127
  continue;
80
128
  // Construct the type names expected to be in Graph
81
- const graphType = QueryGen.getGraphType(contentType);
82
- const graphPropertyType = QueryGen.getGraphPropertyType(contentType);
83
- const fragmentName = QueryGen.Tools.ucFirst(graphType) + "Data";
84
- const propertyFragmentName = QueryGen.Tools.ucFirst(graphPropertyType) + "Data";
129
+ const graphType = queryGen.getGraphType(contentType);
130
+ const graphPropertyType = queryGen.getGraphPropertyType(contentType);
131
+ const fragmentName = queryGen.getDefaultFragmentName(contentType);
132
+ const propertyFragmentName = queryGen.getDefaultPropertyFragmentName(contentType);
85
133
  // Check if the types exist
86
134
  const graphTypeExists = allGraphTypes.includes(graphType);
87
135
  const graphPropertyTypeExists = allGraphTypes.includes(graphPropertyType);
88
136
  // Add Component Data Fragment
89
137
  if (graphTypeExists && !allFragments.has(fragmentName)) {
90
- const rawSDL = QueryGen.buildFragment(contentType, fragmentName, false, propTracker);
91
- const vLoc = QueryGen.buildVirtualLocation(contentType);
138
+ const rawSDL = queryGen.buildFragment(contentType, fragmentName, false, propTracker);
139
+ const vLoc = generator_1.VirtualLocation.build(contentType);
92
140
  if (rawSDL) {
93
141
  if (options.presetConfig.verbose)
94
142
  console.log(` - Generated fragment ${fragmentName} for ${contentType.key} at ${vLoc}`);
@@ -102,8 +150,8 @@ async function injectComponentDocuments(files, options) {
102
150
  }
103
151
  // Add Component Property Data Fragment
104
152
  if (graphPropertyTypeExists && contentType.baseType === '_component' && !allFragments.has(propertyFragmentName)) {
105
- const rawSDL = QueryGen.buildFragment(contentType, propertyFragmentName, true, propTracker);
106
- const vLoc = QueryGen.buildVirtualLocation(contentType, { forProperty: true });
153
+ const rawSDL = queryGen.buildFragment(contentType, propertyFragmentName, true, propTracker);
154
+ const vLoc = generator_1.VirtualLocation.build(contentType, { forProperty: true });
107
155
  if (rawSDL) {
108
156
  if (options.presetConfig.verbose)
109
157
  console.log(` - Generated property fragment ${propertyFragmentName} for ${contentType.key} at ${vLoc}`);
@@ -1 +1 @@
1
- {"version":3,"file":"injectComponentDocuments.js","sourceRoot":"","sources":["../../src/_transform/injectComponentDocuments.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"injectComponentDocuments.js","sourceRoot":"","sources":["../../src/_transform/injectComponentDocuments.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,5 @@
1
1
  import type { Types } from '@graphql-codegen/plugin-helpers';
2
2
  import type { PresetOptions } from '../types';
3
+ export declare function getPageDocuments(loader?: string): Promise<Types.CustomDocumentLoader[]>;
3
4
  export declare function injectPageQueries(files: Types.DocumentFile[], options: Types.PresetFnArgs<PresetOptions>): Promise<Types.DocumentFile[]>;
4
5
  export default injectPageQueries;
@@ -33,25 +33,58 @@ var __importStar = (this && this.__importStar) || (function () {
33
33
  };
34
34
  })();
35
35
  Object.defineProperty(exports, "__esModule", { value: true });
36
+ exports.getPageDocuments = getPageDocuments;
36
37
  exports.injectPageQueries = injectPageQueries;
37
38
  const graphql_1 = require("graphql");
38
- const QueryGen = __importStar(require("../contenttype-loader"));
39
39
  const OptiCMS = __importStar(require("../cms"));
40
40
  const tools_1 = require("./tools");
41
+ const utils_1 = require("../utils");
42
+ const generator_1 = require("../generator");
43
+ async function getPageDocuments(loader = '@remkoj/optimizely-graph-functions/contenttype-loader') {
44
+ const pageTypes = OptiCMS.getContentTypesList(undefined, (ct) => {
45
+ if (ct.source == "graph")
46
+ return false;
47
+ return ["_page", "_experience"].includes((ct.baseType || "").toLowerCase());
48
+ });
49
+ const documents = [];
50
+ for (const pageType of await pageTypes) {
51
+ const vLoc = generator_1.VirtualLocation.build(pageType, { type: 'query' });
52
+ if (vLoc) {
53
+ const def = {};
54
+ def[vLoc] = { loader };
55
+ documents.push(def);
56
+ }
57
+ // Get properties
58
+ const propertyComponentTypeNames = generator_1.DocumentGenerator.getReferencedPropertyComponents(pageType);
59
+ const propertyComponentTypes = (await Promise.all(propertyComponentTypeNames.map(componentTypeName => OptiCMS.getContentType(componentTypeName)))).filter(utils_1.isNotNullOrUndefined);
60
+ for (const propertyComponentType of propertyComponentTypes) {
61
+ const propVLoc = generator_1.VirtualLocation.build(propertyComponentType, { type: 'fragment', forProperty: true });
62
+ if (propVLoc && !documents.some(x => typeof x === 'object' && x[propVLoc])) {
63
+ // Inject virtual location
64
+ const def = {};
65
+ def[propVLoc] = { loader };
66
+ documents.push(def);
67
+ }
68
+ }
69
+ }
70
+ return documents;
71
+ }
41
72
  async function injectPageQueries(files, options) {
42
73
  if (options.presetConfig.verbose)
43
74
  console.log(`✨ [Optimizely] Generating page queries that have not been defined by the implementation`);
44
75
  const existingQueries = (0, tools_1.getAllQueries)(files);
45
76
  const existingTypes = (0, tools_1.getAllTypeNames)(options.schema);
46
- const pageLevelTypes = OptiCMS.getAllContentTypes(undefined, 100, (ct) => {
77
+ const allTypes = OptiCMS.getContentTypes(undefined);
78
+ const pageLevelTypes = OptiCMS.getContentTypesList(undefined, (ct) => {
47
79
  if (ct.source == "graph")
48
80
  return false;
49
81
  return ["_page", "_experience"].includes((ct.baseType || "").toLowerCase());
50
82
  });
83
+ const queryGen = new generator_1.DocumentGenerator(await allTypes);
51
84
  const newFiles = [];
52
- for await (const pageContentType of pageLevelTypes) {
53
- const graphDataType = QueryGen.getGraphType(pageContentType);
54
- const queryName = `get${QueryGen.Tools.ucFirst(graphDataType)}Data`;
85
+ for (const pageContentType of await pageLevelTypes) {
86
+ const graphDataType = queryGen.getGraphType(pageContentType);
87
+ const queryName = queryGen.getDefaultQueryName(pageContentType);
55
88
  // Check if the type exists in the Schema, if not skip it
56
89
  if (!existingTypes.includes(graphDataType)) {
57
90
  if (options.presetConfig.verbose)
@@ -64,8 +97,8 @@ async function injectPageQueries(files, options) {
64
97
  console.log(` - Skipping query generation for ${pageContentType.key}, the project already includes a definition for ${queryName}`);
65
98
  continue;
66
99
  }
67
- const rawSDL = QueryGen.buildGetQuery(pageContentType, queryName);
68
- const vLoc = QueryGen.buildVirtualLocation(pageContentType, { type: 'query' });
100
+ const rawSDL = queryGen.buildGetQuery(pageContentType, queryName);
101
+ const vLoc = generator_1.VirtualLocation.build(pageContentType, { type: 'query' });
69
102
  if (options.presetConfig.verbose)
70
103
  console.log(` - Generated query for ${pageContentType.key} at ${vLoc}`);
71
104
  newFiles.push({
@@ -1 +1 @@
1
- {"version":3,"file":"injectPageQueries.js","sourceRoot":"","sources":["../../src/_transform/injectPageQueries.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAOA,8CA8CC;AApDD,qCAA+B;AAC/B,gEAAiD;AACjD,gDAAiC;AAEjC,mCAAwD;AAEjD,KAAK,UAAU,iBAAiB,CAAC,KAA2B,EAAE,OAA0C;IAC7G,IAAI,OAAO,CAAC,YAAY,CAAC,OAAO;QAC9B,OAAO,CAAC,GAAG,CAAC,yFAAyF,CAAC,CAAA;IAExG,MAAM,eAAe,GAAG,IAAA,qBAAa,EAAC,KAAK,CAAC,CAAA;IAC5C,MAAM,aAAa,GAAG,IAAA,uBAAe,EAAC,OAAO,CAAC,MAAM,CAAC,CAAA;IAErD,MAAM,cAAc,GAAG,OAAO,CAAC,kBAAkB,CAAC,SAAS,EAAE,GAAG,EAAE,CAAC,EAAE,EAAE,EAAE;QACvE,IAAI,EAAE,CAAC,MAAM,IAAI,OAAO;YACtB,OAAO,KAAK,CAAC;QACf,OAAO,CAAC,OAAO,EAAE,aAAa,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC;IAC9E,CAAC,CAAC,CAAC;IAEH,MAAM,QAAQ,GAAyB,EAAE,CAAA;IACzC,IAAI,KAAK,EAAE,MAAM,eAAe,IAAI,cAAc,EAAE,CAAC;QACnD,MAAM,aAAa,GAAG,QAAQ,CAAC,YAAY,CAAC,eAAe,CAAC,CAAA;QAC5D,MAAM,SAAS,GAAG,MAAM,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,aAAa,CAAC,MAAM,CAAA;QAEnE,yDAAyD;QACzD,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,aAAa,CAAC,EAAE,CAAC;YAC3C,IAAI,OAAO,CAAC,YAAY,CAAC,OAAO;gBAC9B,OAAO,CAAC,GAAG,CAAC,uCAAuC,eAAe,CAAC,GAAG,0CAA0C,aAAa,EAAE,CAAC,CAAA;YAClI,SAAQ;QACV,CAAC;QAED,6DAA6D;QAC7D,IAAI,eAAe,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC;YACnC,IAAI,OAAO,CAAC,YAAY,CAAC,OAAO;gBAC9B,OAAO,CAAC,GAAG,CAAC,uCAAuC,eAAe,CAAC,GAAG,mDAAmD,SAAS,EAAE,CAAC,CAAA;YACvI,SAAQ;QACV,CAAC;QAED,MAAM,MAAM,GAAG,QAAQ,CAAC,aAAa,CAAC,eAAe,EAAE,SAAS,CAAC,CAAA;QACjE,MAAM,IAAI,GAAG,QAAQ,CAAC,oBAAoB,CAAC,eAAe,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAA;QAC9E,IAAI,OAAO,CAAC,YAAY,CAAC,OAAO;YAC9B,OAAO,CAAC,GAAG,CAAC,6BAA6B,eAAe,CAAC,GAAG,OAAO,IAAI,EAAE,CAAC,CAAA;QAE5E,QAAQ,CAAC,IAAI,CAAC;YACZ,MAAM;YACN,QAAQ,EAAE,IAAA,eAAK,EAAC,MAAM,CAAC;YACvB,QAAQ,EAAE,IAAI;YACd,IAAI,EAAE,IAAI;SACX,CAAC,CAAA;IACJ,CAAC;IAED,OAAO,CAAC,GAAG,KAAK,EAAE,GAAG,QAAQ,CAAC,CAAA;AAChC,CAAC;AAED,kBAAe,iBAAiB,CAAA"}
1
+ {"version":3,"file":"injectPageQueries.js","sourceRoot":"","sources":["../../src/_transform/injectPageQueries.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,5 @@
1
1
  import type { Types } from '@graphql-codegen/plugin-helpers';
2
2
  import type { PresetOptions } from '../types';
3
+ export declare function getSectionDocuments(loader?: string): Promise<Types.CustomDocumentLoader[]>;
3
4
  export declare function injectSectionQueries(files: Types.DocumentFile[], options: Types.PresetFnArgs<PresetOptions>): Promise<Types.DocumentFile[]>;
4
5
  export default injectSectionQueries;
@@ -33,25 +33,45 @@ var __importStar = (this && this.__importStar) || (function () {
33
33
  };
34
34
  })();
35
35
  Object.defineProperty(exports, "__esModule", { value: true });
36
+ exports.getSectionDocuments = getSectionDocuments;
36
37
  exports.injectSectionQueries = injectSectionQueries;
37
38
  const graphql_1 = require("graphql");
38
- const QueryGen = __importStar(require("../contenttype-loader"));
39
39
  const OptiCMS = __importStar(require("../cms"));
40
40
  const tools_1 = require("./tools");
41
+ const generator_1 = require("../generator");
42
+ async function getSectionDocuments(loader = '@remkoj/optimizely-graph-functions/contenttype-loader') {
43
+ const sectionTypes = OptiCMS.getContentTypesList(undefined, (ct) => {
44
+ if (ct.source == "graph")
45
+ return false;
46
+ return ["_section"].includes((ct.baseType || "").toLowerCase());
47
+ });
48
+ const documents = [];
49
+ for (const sectionType of await sectionTypes) {
50
+ const vLoc = generator_1.VirtualLocation.build(sectionType, { type: 'query' });
51
+ if (vLoc) {
52
+ const def = {};
53
+ def[vLoc] = { loader };
54
+ documents.push(def);
55
+ }
56
+ }
57
+ return documents;
58
+ }
41
59
  async function injectSectionQueries(files, options) {
42
60
  if (options.presetConfig.verbose)
43
61
  console.log(`✨ [Optimizely] Generating page queries that have not been defined by the implementation`);
44
62
  const existingQueries = (0, tools_1.getAllQueries)(files);
45
63
  const existingTypes = (0, tools_1.getAllTypeNames)(options.schema);
46
- const sectionTypes = OptiCMS.getAllContentTypes(undefined, 100, (ct) => {
64
+ const allTypes = OptiCMS.getContentTypes(undefined);
65
+ const sectionTypes = OptiCMS.getContentTypesList(undefined, (ct) => {
47
66
  if (ct.source == "graph")
48
67
  return false;
49
68
  return ["_section"].includes((ct.baseType || "").toLowerCase());
50
69
  });
51
70
  const newFiles = [];
52
- for await (const sectionContentType of sectionTypes) {
53
- const graphDataType = QueryGen.getGraphType(sectionContentType);
54
- const queryName = `get${QueryGen.Tools.ucFirst(graphDataType)}Data`;
71
+ const queryGen = new generator_1.DocumentGenerator(await allTypes);
72
+ for (const sectionContentType of await sectionTypes) {
73
+ const graphDataType = queryGen.getGraphType(sectionContentType);
74
+ const queryName = queryGen.getDefaultQueryName(sectionContentType);
55
75
  // Check if the type exists in the Schema, if not skip it
56
76
  if (!existingTypes.includes(graphDataType)) {
57
77
  if (options.presetConfig.verbose)
@@ -64,8 +84,8 @@ async function injectSectionQueries(files, options) {
64
84
  console.log(` - Skipping query generation for ${sectionContentType.key}, the project already includes a definition for ${queryName}`);
65
85
  continue;
66
86
  }
67
- const rawSDL = QueryGen.buildGetQuery(sectionContentType, queryName);
68
- const vLoc = QueryGen.buildVirtualLocation(sectionContentType, { type: 'query' });
87
+ const rawSDL = queryGen.buildGetQuery(sectionContentType, queryName);
88
+ const vLoc = generator_1.VirtualLocation.build(sectionContentType, { type: 'query' });
69
89
  if (options.presetConfig.verbose)
70
90
  console.log(` - Generated query for ${sectionContentType.key} at ${vLoc}`);
71
91
  newFiles.push({
@@ -1 +1 @@
1
- {"version":3,"file":"injectSectionQueries.js","sourceRoot":"","sources":["../../src/_transform/injectSectionQueries.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAOA,oDA8CC;AApDD,qCAA+B;AAC/B,gEAAiD;AACjD,gDAAiC;AAEjC,mCAAwD;AAEjD,KAAK,UAAU,oBAAoB,CAAC,KAA2B,EAAE,OAA0C;IAChH,IAAI,OAAO,CAAC,YAAY,CAAC,OAAO;QAC9B,OAAO,CAAC,GAAG,CAAC,yFAAyF,CAAC,CAAA;IAExG,MAAM,eAAe,GAAG,IAAA,qBAAa,EAAC,KAAK,CAAC,CAAA;IAC5C,MAAM,aAAa,GAAG,IAAA,uBAAe,EAAC,OAAO,CAAC,MAAM,CAAC,CAAA;IAErD,MAAM,YAAY,GAAG,OAAO,CAAC,kBAAkB,CAAC,SAAS,EAAE,GAAG,EAAE,CAAC,EAAE,EAAE,EAAE;QACrE,IAAI,EAAE,CAAC,MAAM,IAAI,OAAO;YACtB,OAAO,KAAK,CAAC;QACf,OAAO,CAAC,UAAU,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC;IAClE,CAAC,CAAC,CAAC;IAEH,MAAM,QAAQ,GAAyB,EAAE,CAAA;IACzC,IAAI,KAAK,EAAE,MAAM,kBAAkB,IAAI,YAAY,EAAE,CAAC;QACpD,MAAM,aAAa,GAAG,QAAQ,CAAC,YAAY,CAAC,kBAAkB,CAAC,CAAA;QAC/D,MAAM,SAAS,GAAG,MAAM,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,aAAa,CAAC,MAAM,CAAA;QAEnE,yDAAyD;QACzD,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,aAAa,CAAC,EAAE,CAAC;YAC3C,IAAI,OAAO,CAAC,YAAY,CAAC,OAAO;gBAC9B,OAAO,CAAC,GAAG,CAAC,uCAAuC,kBAAkB,CAAC,GAAG,0CAA0C,aAAa,EAAE,CAAC,CAAA;YACrI,SAAQ;QACV,CAAC;QAED,6DAA6D;QAC7D,IAAI,eAAe,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC;YACnC,IAAI,OAAO,CAAC,YAAY,CAAC,OAAO;gBAC9B,OAAO,CAAC,GAAG,CAAC,uCAAuC,kBAAkB,CAAC,GAAG,mDAAmD,SAAS,EAAE,CAAC,CAAA;YAC1I,SAAQ;QACV,CAAC;QAED,MAAM,MAAM,GAAG,QAAQ,CAAC,aAAa,CAAC,kBAAkB,EAAE,SAAS,CAAC,CAAA;QACpE,MAAM,IAAI,GAAG,QAAQ,CAAC,oBAAoB,CAAC,kBAAkB,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAA;QACjF,IAAI,OAAO,CAAC,YAAY,CAAC,OAAO;YAC9B,OAAO,CAAC,GAAG,CAAC,6BAA6B,kBAAkB,CAAC,GAAG,OAAO,IAAI,EAAE,CAAC,CAAA;QAE/E,QAAQ,CAAC,IAAI,CAAC;YACZ,MAAM;YACN,QAAQ,EAAE,IAAA,eAAK,EAAC,MAAM,CAAC;YACvB,QAAQ,EAAE,IAAI;YACd,IAAI,EAAE,IAAI;SACX,CAAC,CAAA;IACJ,CAAC;IAED,OAAO,CAAC,GAAG,KAAK,EAAE,GAAG,QAAQ,CAAC,CAAA;AAChC,CAAC;AAED,kBAAe,oBAAoB,CAAA"}
1
+ {"version":3,"file":"injectSectionQueries.js","sourceRoot":"","sources":["../../src/_transform/injectSectionQueries.ts"],"names":[],"mappings":"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"}
@@ -1,44 +1,11 @@
1
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 () {
19
- var ownKeys = function(o) {
20
- ownKeys = Object.getOwnPropertyNames || function (o) {
21
- var ar = [];
22
- for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
- return ar;
24
- };
25
- return ownKeys(o);
26
- };
27
- return function (mod) {
28
- if (mod && mod.__esModule) return mod;
29
- var result = {};
30
- if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
- __setModuleDefault(result, mod);
32
- return result;
33
- };
34
- })();
35
2
  Object.defineProperty(exports, "__esModule", { value: true });
36
3
  exports.performInjections = performInjections;
37
4
  exports.getInjectionsByFile = getInjectionsByFile;
38
5
  exports.getInjectionsByFragmentName = getInjectionsByFragmentName;
39
6
  exports.getComponentFragments = getComponentFragments;
40
7
  const graphql_1 = require("graphql");
41
- const QueryGen = __importStar(require("../contenttype-loader"));
8
+ const generator_1 = require("../generator");
42
9
  const options_1 = require("./options");
43
10
  /**
44
11
  * Check all fragments within the project and ensure that there's at least a fragment for every
@@ -156,7 +123,7 @@ async function getComponentFragments(files, { injections, verbose }) {
156
123
  if (!file.document)
157
124
  return componentFragments; /// Stop if we don't have a document
158
125
  // Check if this an internally generated fragment
159
- const vLocInfo = file.location ? QueryGen.parseVirtualLocation(file.location) : undefined;
126
+ const vLocInfo = file.location ? generator_1.VirtualLocation.parse(file.location) : undefined;
160
127
  if (vLocInfo) {
161
128
  // Only process the Virtual Location if it's for a non-property fragment with at least one injection target
162
129
  if (vLocInfo.type !== 'fragment' || vLocInfo.forProperty || vLocInfo.injectionTargets.length == 0)
@@ -1 +1 @@
1
- {"version":3,"file":"performInjections.js","sourceRoot":"","sources":["../../src/_transform/performInjections.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"performInjections.js","sourceRoot":"","sources":["../../src/_transform/performInjections.ts"],"names":[],"mappings":"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"}
@@ -1,17 +1,11 @@
1
- import type { IntegrationApi, CmsIntegrationApiClient, CmsIntegrationApiOptions } from "@remkoj/optimizely-cms-api";
1
+ import { IntegrationApi, CmsIntegrationApiClient, CmsIntegrationApiOptions } from "@remkoj/optimizely-cms-api";
2
2
  export declare function contentTypeToFragmentName(contentType: IntegrationApi.ContentType, forProperty?: boolean): string | undefined;
3
3
  export declare function fragmentNameToContentType(fragmentName: string): {
4
4
  contentType: string;
5
5
  baseType: string;
6
6
  forProperty: boolean;
7
7
  };
8
- export declare function getContentType(contentTypeKey: string, clientOrConfig?: CmsIntegrationApiClient | CmsIntegrationApiOptions): Promise<IntegrationApi.ContentType | undefined>;
9
8
  export type ContentTypeFilter = (contentType: IntegrationApi.ContentType) => Promise<boolean> | boolean;
10
- /**
11
- * Retrieve all content types as an Async Generator, allowing processing of entries whilest they are being loaded from the CMS instance.
12
- *
13
- * @param clientOrConfig
14
- * @param pageSize
15
- * @param filter
16
- */
17
- export declare function getAllContentTypes(clientOrConfig?: CmsIntegrationApiClient | CmsIntegrationApiOptions, pageSize?: number, filter?: ContentTypeFilter): AsyncGenerator<IntegrationApi.ContentType>;
9
+ export declare function getContentTypes(configOrClient?: CmsIntegrationApiOptions | CmsIntegrationApiClient, filter?: ContentTypeFilter): Promise<Map<string, IntegrationApi.ContentType>>;
10
+ export declare function getContentTypesList(configOrClient?: CmsIntegrationApiOptions | CmsIntegrationApiClient, filter?: ContentTypeFilter): Promise<Array<IntegrationApi.ContentType>>;
11
+ export declare function getContentType(contentTypeKey: string, clientOrConfig?: CmsIntegrationApiClient | CmsIntegrationApiOptions): Promise<IntegrationApi.ContentType | undefined>;
package/dist/cms/index.js CHANGED
@@ -2,29 +2,12 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.contentTypeToFragmentName = contentTypeToFragmentName;
4
4
  exports.fragmentNameToContentType = fragmentNameToContentType;
5
+ exports.getContentTypes = getContentTypes;
6
+ exports.getContentTypesList = getContentTypesList;
5
7
  exports.getContentType = getContentType;
6
- exports.getAllContentTypes = getAllContentTypes;
7
8
  const optimizely_cms_api_1 = require("@remkoj/optimizely-cms-api");
8
9
  const node_object_hash_1 = require("node-object-hash");
9
10
  const tools_1 = require("../tools");
10
- var hasher = (0, node_object_hash_1.hasher)({ sort: true, coerce: true });
11
- const clientByHash = new Map();
12
- function getClient(config) {
13
- const configHash = hasher.hash(config ?? {});
14
- let client = clientByHash.get(configHash);
15
- if (!client) {
16
- client = new Promise((resolve, reject) => {
17
- const cms_client = (0, optimizely_cms_api_1.createClient)(config);
18
- cms_client.getInstanceInfo().then(() => {
19
- resolve(cms_client);
20
- }).catch(e => {
21
- reject(e);
22
- });
23
- });
24
- clientByHash.set(configHash, client);
25
- }
26
- return client;
27
- }
28
11
  function contentTypeToFragmentName(contentType, forProperty = false) {
29
12
  const contentTypeKey = contentType.key;
30
13
  const contentTypeBase = forProperty ? (0, tools_1.ucFirst)((0, tools_1.trimStart)(contentType.baseType ?? '', '_')) : 'Property';
@@ -45,11 +28,6 @@ function fragmentNameToContentType(fragmentName) {
45
28
  forProperty
46
29
  };
47
30
  }
48
- async function getContentType(contentTypeKey, clientOrConfig) {
49
- const client = (0, optimizely_cms_api_1.isClientInstance)(clientOrConfig) ? clientOrConfig : await getClient(clientOrConfig);
50
- const contentType = await client.contentTypesGet({ path: { key: contentTypeKey } }).catch(() => undefined);
51
- return contentType;
52
- }
53
31
  const DefaultContentTypeFilter = () => true;
54
32
  /**
55
33
  * Retrieve all content types as an Async Generator, allowing processing of entries whilest they are being loaded from the CMS instance.
@@ -85,4 +63,59 @@ async function* getAllContentTypes(clientOrConfig, pageSize = 25, filter = Defau
85
63
  }
86
64
  } while (requestPageIndex < totalPages);
87
65
  }
66
+ async function getAllContentTypesMap(clientOrConfig, pageSize = 25, filter = DefaultContentTypeFilter) {
67
+ const contentTypeMap = new Map();
68
+ const allContentTypes = getAllContentTypes(clientOrConfig, pageSize, filter);
69
+ for await (const ct of allContentTypes) {
70
+ if (ct.key)
71
+ contentTypeMap.set(ct.key, ct);
72
+ }
73
+ return contentTypeMap;
74
+ }
75
+ var hasher = (0, node_object_hash_1.hasher)({ sort: true, coerce: true });
76
+ const clientByHash = new Map();
77
+ const contentTypeList = new Map();
78
+ function getContentTypes(configOrClient, filter) {
79
+ const config = ((0, optimizely_cms_api_1.isClientInstance)(configOrClient) ? configOrClient._config : configOrClient);
80
+ const hash = hasher.hash(config ?? {});
81
+ let list = contentTypeList.get(hash);
82
+ if (!list) {
83
+ list = getAllContentTypesMap(configOrClient, 100);
84
+ contentTypeList.set(hash, list);
85
+ }
86
+ if (filter)
87
+ return list.then(contentTypeMap => {
88
+ const filteredMap = new Map();
89
+ contentTypeMap.forEach((contentType, contentTypeKey) => {
90
+ if (filter(contentType))
91
+ filteredMap.set(contentTypeKey, contentType);
92
+ });
93
+ return filteredMap;
94
+ });
95
+ return list;
96
+ }
97
+ async function getContentTypesList(configOrClient, filter) {
98
+ const types = await getContentTypes(configOrClient, filter);
99
+ return Array.from(types.values());
100
+ }
101
+ async function getContentType(contentTypeKey, clientOrConfig) {
102
+ const types = await getContentTypes(clientOrConfig);
103
+ return types.get(contentTypeKey);
104
+ }
105
+ function getClient(config) {
106
+ const configHash = hasher.hash(config ?? {});
107
+ let client = clientByHash.get(configHash);
108
+ if (!client) {
109
+ client = new Promise((resolve, reject) => {
110
+ const cms_client = (0, optimizely_cms_api_1.createClient)(config);
111
+ cms_client.getInstanceInfo().then(() => {
112
+ resolve(cms_client);
113
+ }).catch(e => {
114
+ reject(e);
115
+ });
116
+ });
117
+ clientByHash.set(configHash, client);
118
+ }
119
+ return client;
120
+ }
88
121
  //# sourceMappingURL=index.js.map