@remkoj/optimizely-graph-functions 1.0.4 → 2.0.0-pre1

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.
@@ -1,9 +1,4 @@
1
- import type { Types } from '@graphql-codegen/plugin-helpers';
2
- type DocumentsConfigNode = NonNullable<Types.Config['documents']>;
3
1
  export declare const IContentDataProps: string[];
4
2
  export declare const fragments: string[];
5
3
  export declare const queries: string[];
6
4
  export declare const DefaultFunctions: string[];
7
- export declare const documents: string[];
8
- export declare const injectFragments: (base: DocumentsConfigNode) => DocumentsConfigNode;
9
- export {};
package/dist/documents.js CHANGED
@@ -1,173 +1,220 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.injectFragments = exports.documents = exports.DefaultFunctions = exports.queries = exports.fragments = exports.IContentDataProps = void 0;
3
+ exports.DefaultFunctions = exports.queries = exports.fragments = exports.IContentDataProps = void 0;
4
4
  exports.IContentDataProps = ["contentType", "id", "locale", "path", "__typename"];
5
5
  exports.fragments = [
6
- `fragment ContentLink on ContentModelReference {
7
- id: Id,
8
- workId: WorkId,
9
- guidValue: GuidValue
10
- }`,
11
- `fragment ContentLinkSearch on ContentModelReferenceSearch {
12
- id: Id,
13
- workId: WorkId,
14
- guidValue: GuidValue
15
- }`,
16
- `fragment IContentData on IContent {
17
- contentType: ContentType
18
- id: ContentLink {
19
- ...ContentLink
20
- }
21
- locale: Language {
22
- name: Name
23
- }
24
- path:RelativePath
25
- }`,
26
- `fragment ContentAreaItemData on ContentAreaItemModelSearch {
27
- item: ContentLink {
28
- ...ContentLinkSearch
29
- data: Expanded {
30
- ...BlockData
31
- }
32
- }
33
- displayOption:DisplayOption
34
- }`,
35
- `fragment BlockContentAreaItemSearchData on ContentAreaItemModelSearch {
36
- item: ContentLink {
37
- ...ContentLinkSearch
38
- data: Expanded {
39
- ...IContentData
40
- }
41
- }
42
- displayOption:DisplayOption
43
- }`,
44
- `fragment BlockContentAreaItemData on ContentAreaItemModel {
45
- item: ContentLink {
46
- ...ContentLink
47
- data: Expanded {
48
- ...IContentData
49
- }
6
+ `fragment IContentData on IContent
7
+ {
8
+ _metadata {
9
+ ...IContentInfo
10
+ }
11
+ _type: __typename
12
+ }`,
13
+ `fragment CompositionData on ICompositionNode {
14
+ name
15
+ type
16
+ ... on ICompositionStructureNode {
17
+ nodes @recursive(depth: 5) {
18
+ name
50
19
  }
51
- displayOption:DisplayOption
52
- }`,
53
- `fragment LinkItemData on LinkItemNode {
54
- children: Text
55
- title: Title
56
- href: Href
57
- target: Target
58
- content: ContentLink {
59
- href: Url
60
- data: Expanded {
61
- path: RelativePath
20
+ }
21
+ ... on ICompositionElementNode {
22
+ element {
23
+ ...ElementData
62
24
  }
63
- }
64
- }`,
65
- `fragment ImageData on ContentModelReference {
66
- ...ContentLink
67
- url: Url
68
- data: Expanded {
69
- ...IContentData
70
- url: Url
71
- alt: Name
72
- path: RelativePath
73
- }
74
- }`,
75
- `fragment ImageDataSearch on ContentModelReferenceSearch {
76
- ...ContentLinkSearch
77
- url: Url
78
- data: Expanded {
79
- ...IContentData
80
- url: Url
81
- alt: Name
82
- path: RelativePath
83
- }
84
- }`,
25
+ }
26
+ }`,
27
+ `fragment IElementData on IElement {
28
+ _metadata {
29
+ ...IContentInfo
30
+ }
31
+ _type: __typename
32
+ }`,
33
+ `fragment ElementData on IElement {
34
+ ...IElementData
35
+ }`,
85
36
  `fragment BlockData on IContent {
86
- ...IContentData
87
- }`,
37
+ ...IContentData
38
+ }`,
88
39
  `fragment PageData on IContent {
89
- ...IContentData
90
- }`,
91
- `fragment ContentAreaItemBase on ContentAreaItemModelSearch {
92
- contentLink:ContentLink {
93
- id:Id
94
- workId:WorkId
95
- guidValue:GuidValue
96
- component:Expanded {
97
- path:RelativePath
98
- type:ContentType
99
- }
100
- }
101
- displayOption:DisplayOption
102
- }`
40
+ ...IContentData
41
+ }`,
42
+ `fragment LinkData on ContentUrl {
43
+ base
44
+ hierarchical
45
+ default
46
+ }`,
47
+ `fragment ReferenceData on ContentReference {
48
+ key
49
+ locale
50
+ url {
51
+ ...LinkData
52
+ }
53
+ }`,
54
+ `fragment IContentInfo on IContentMetadata {
55
+ key
56
+ locale
57
+ types
58
+ displayName
59
+ version
60
+ url {
61
+ ...LinkData
62
+ }
63
+ }`,
64
+ `fragment IContentListItem on IContent {
65
+ ...IContentData
66
+ }`
67
+ /*
68
+ `fragment ContentLink on ContentModelReference {
69
+ id: Id,
70
+ workId: WorkId,
71
+ guidValue: GuidValue
72
+ }`,
73
+ `fragment ContentLinkSearch on ContentModelReferenceSearch {
74
+ id: Id,
75
+ workId: WorkId,
76
+ guidValue: GuidValue
77
+ }`,
78
+ `fragment IContentData on IContent {
79
+ contentType: ContentType
80
+ id: ContentLink {
81
+ ...ContentLink
82
+ }
83
+ locale: Language {
84
+ name: Name
85
+ }
86
+ path:RelativePath
87
+ }`,
88
+ `fragment ContentAreaItemData on ContentAreaItemModelSearch {
89
+ item: ContentLink {
90
+ ...ContentLinkSearch
91
+ data: Expanded {
92
+ ...BlockData
93
+ }
94
+ }
95
+ displayOption:DisplayOption
96
+ }`,
97
+ `fragment BlockContentAreaItemSearchData on ContentAreaItemModelSearch {
98
+ item: ContentLink {
99
+ ...ContentLinkSearch
100
+ data: Expanded {
101
+ ...IContentData
102
+ }
103
+ }
104
+ displayOption:DisplayOption
105
+ }`,
106
+ `fragment BlockContentAreaItemData on ContentAreaItemModel {
107
+ item: ContentLink {
108
+ ...ContentLink
109
+ data: Expanded {
110
+ ...IContentData
111
+ }
112
+ }
113
+ displayOption:DisplayOption
114
+ }`,
115
+ `fragment LinkItemData on LinkItemNode {
116
+ children: Text
117
+ title: Title
118
+ href: Href
119
+ target: Target
120
+ content: ContentLink {
121
+ href: Url
122
+ data: Expanded {
123
+ path: RelativePath
124
+ }
125
+ }
126
+ }`,
127
+ `fragment ImageData on ContentModelReference {
128
+ ...ContentLink
129
+ url: Url
130
+ data: Expanded {
131
+ ...IContentData
132
+ url: Url
133
+ alt: Name
134
+ path: RelativePath
135
+ }
136
+ }`,
137
+ `fragment ImageDataSearch on ContentModelReferenceSearch {
138
+ ...ContentLinkSearch
139
+ url: Url
140
+ data: Expanded {
141
+ ...IContentData
142
+ url: Url
143
+ alt: Name
144
+ path: RelativePath
145
+ }
146
+ }`,
147
+ `fragment BlockData on IContent {
148
+ ...IContentData
149
+ }`,
150
+ `fragment PageData on IContent {
151
+ ...IContentData
152
+ }`,
153
+ `fragment ContentAreaItemBase on ContentAreaItemModelSearch {
154
+ contentLink:ContentLink {
155
+ id:Id
156
+ workId:WorkId
157
+ guidValue:GuidValue
158
+ component:Expanded {
159
+ path:RelativePath
160
+ type:ContentType
161
+ }
162
+ }
163
+ displayOption:DisplayOption
164
+ }`*/
103
165
  ];
104
- exports.queries = [`query getContentById($id: Int, $workId: Int, $guidValue: String, $locale: [Locales!], $isCommonDraft: Boolean) {
105
- Content(
166
+ exports.queries = [
167
+ `query getContentById($key: String!, $version: String, $locale: [Locales!], $path: String, $domain: String) {
168
+ content: Content(
106
169
  where: {
107
- ContentLink: {
108
- Id: { eq: $id },
109
- WorkId: { eq: $workId },
110
- GuidValue: { eq: $guidValue }
111
- }
112
- IsCommonDraft: { eq: $isCommonDraft }
170
+ _or: [
171
+ { _metadata: { key: { eq: $key }, version: { eq: $version } } }
172
+ { _metadata: { url: { hierarchical: { eq: $path }, base: { eq: $domain } }, version: { eq: $version } } }
173
+ ]
113
174
  }
114
175
  locale: $locale
115
176
  ) {
116
177
  total
117
178
  items {
118
179
  ...IContentData
119
- ...PageData
120
180
  ...BlockData
181
+ ...PageData
121
182
  }
122
183
  }
123
184
  }`,
124
- `query getContentByPath($path: String!, $locale: [Locales], $siteId: String)
125
- {
126
- Content(
127
- where: {
128
- RelativePath: {
129
- eq: $path
130
- }
131
- SiteId: {
132
- eq: $siteId
133
- }
134
- },
135
- locale: $locale
136
- ) {
137
- items {
138
- ...PageData
185
+ `query getContentByPath($path: String!, $version: String, $locale: [Locales!], $domain: String) {
186
+ content: Content(
187
+ where: {
188
+ _metadata: { url: { hierarchical: { eq: $path }, base: { eq: $domain } } version: { eq: $version }}
189
+ }
190
+ locale: $locale
191
+ ) {
192
+ total
193
+ items {
194
+ ...IContentData
195
+ ...BlockData
196
+ ...PageData
197
+ }
139
198
  }
140
- }
141
- }`, `query getContentType($id: Int, $workId: Int, $guidValue: String, $locale: [Locales])
142
- {
143
- Content(
144
- where: {
145
- ContentLink: {
146
- GuidValue: {
147
- eq: $guidValue
199
+ }`,
200
+ `query getContentType($key: String!, $version: String, $locale: [Locales!], $path: String, $domain: String) {
201
+ content: Content(
202
+ where: {
203
+ _or: [
204
+ { _metadata: { key: { eq: $key }, version: { eq: $version } } }
205
+ { _metadata: { url: { hierarchical: { eq: $path }, base: { eq: $domain } }, version: { eq: $version } } }
206
+ ]
148
207
  }
149
- Id: {
150
- eq: $id
151
- },
152
- WorkId: {
153
- eq: $workId
208
+ locale: $locale
209
+ ) {
210
+ total
211
+ items {
212
+ _metadata {
213
+ types
214
+ }
154
215
  }
155
- }
156
- },
157
- locale: $locale
158
- limit: 1
159
- ) {
160
- items {
161
- ContentType
162
- },
163
- total
164
- }
165
- }`];
216
+ }
217
+ }`
218
+ ];
166
219
  exports.DefaultFunctions = ['getContentType', 'getContentByPath', 'getContentById'];
167
- exports.documents = [...exports.queries, ...exports.fragments];
168
- const injectFragments = (base) => {
169
- const baseIsArray = Array.isArray(base);
170
- return baseIsArray ? [...exports.fragments, ...base] : [...exports.fragments, base];
171
- };
172
- exports.injectFragments = injectFragments;
173
220
  //# sourceMappingURL=documents.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"documents.js","sourceRoot":"","sources":["../src/documents.ts"],"names":[],"mappings":";;;AAIa,QAAA,iBAAiB,GAAG,CAAC,aAAa,EAAC,IAAI,EAAC,QAAQ,EAAC,MAAM,EAAC,YAAY,CAAC,CAAA;AAErE,QAAA,SAAS,GAAG;IACrB;;;;MAIE;IACF;;;;MAIE;IACF;;;;;;;;;MASE;IACF;;;;;;;;MAQE;IACF;;;;;;;;MAQE;IACF;;;;;;;;MAQE;IACF;;;;;;;;;;;MAWE;IACF;;;;;;;;;MASE;IACF;;;;;;;;;MASE;IACF;;MAEE;IACF;;MAEE;IACF;;;;;;;;;;;MAWE;CACL,CAAA;AACY,QAAA,OAAO,GAAG,CAAC;;;;;;;;;;;;;;;;;;;EAmBtB;IACF;;;;;;;;;;;;;;;;;EAiBE,EAAC;;;;;;;;;;;;;;;;;;;;;;;;EAwBD,CAAC,CAAA;AAEU,QAAA,gBAAgB,GAAG,CAAC,gBAAgB,EAAC,kBAAkB,EAAC,gBAAgB,CAAC,CAAA;AACzE,QAAA,SAAS,GAAG,CAAE,GAAG,eAAO,EAAE,GAAG,iBAAS,CAAE,CAAA;AAC9C,MAAM,eAAe,GAAwD,CAAC,IAAI,EAAE,EAAE;IAEzF,MAAM,WAAW,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAA;IACvC,OAAO,WAAW,CAAC,CAAC,CAAC,CAAE,GAAG,iBAAS,EAAE,GAAG,IAAI,CAAE,CAAC,CAAC,CAAC,CAAE,GAAG,iBAAS,EAAE,IAAI,CAAE,CAAA;AAC3E,CAAC,CAAA;AAJY,QAAA,eAAe,mBAI3B"}
1
+ {"version":3,"file":"documents.js","sourceRoot":"","sources":["../src/documents.ts"],"names":[],"mappings":";;;AAAa,QAAA,iBAAiB,GAAG,CAAC,aAAa,EAAC,IAAI,EAAC,QAAQ,EAAC,MAAM,EAAC,YAAY,CAAC,CAAA;AAErE,QAAA,SAAS,GAAG;IACzB;;;;;;EAME;IACF;;;;;;;;;;;;;EAaE;IACF;;;;;EAKE;IACF;;EAEE;IACF;;EAEE;IACF;;EAEE;IACF;;;;EAIE;IACF;;;;;;EAME;IACF;;;;;;;;;EASE;IACF;;EAEE;IACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;UAiGM;CACP,CAAA;AACY,QAAA,OAAO,GAAG;IACvB;;;;;;;;;;;;;;;;;EAiBE;IACF;;;;;;;;;;;;;;EAcE;IACF;;;;;;;;;;;;;;;;;EAiBE;CACD,CAAA;AAEY,QAAA,gBAAgB,GAAG,CAAC,gBAAgB,EAAC,kBAAkB,EAAC,gBAAgB,CAAC,CAAA"}
package/dist/index.js CHANGED
@@ -3,9 +3,10 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.plugin = exports.validate = exports.pickPluginOptions = void 0;
4
4
  const graphql_1 = require("graphql");
5
5
  const utils_1 = require("./utils");
6
+ const documents_1 = require("./documents");
6
7
  function pickPluginOptions(options) {
7
8
  return {
8
- functions: options.functions ?? ['getContentByPath', 'getContentById'],
9
+ functions: options.functions ?? documents_1.DefaultFunctions,
9
10
  prettyPrintQuery: options.prettyPrintQuery ?? false,
10
11
  clientPath: options.clientPath ?? "./graphql"
11
12
  };
@@ -52,7 +53,7 @@ const plugin = async (schema, documents, config, info) => {
52
53
  if (!(queryNode && queryNode.operation == graphql_1.OperationTypeNode.QUERY))
53
54
  return [`export async function ${fn}() { throw new Error('No query named ${fn} defined')}`];
54
55
  const fragments = resolveSpreads(queryNode, docs);
55
- const fnTypeName = fn.charAt(0).toUpperCase() + fn.slice(1);
56
+ const fnTypeName = fn; //.charAt(0).toUpperCase() + fn.slice(1)
56
57
  const varsType = `Types.${fnTypeName}QueryVariables`;
57
58
  const returnType = `Types.${fnTypeName}Query`;
58
59
  const query = [queryNode, ...fragments].map(node => (0, graphql_1.print)(node)).join("\n\n");
@@ -71,11 +72,9 @@ const plugin = async (schema, documents, config, info) => {
71
72
  const prepend = [];
72
73
  const append = [];
73
74
  prepend.push('import { gql, type GraphQLClient } from \'graphql-request\'');
74
- prepend.push('import { ContentGraphClient as BaseGraphClient } from \'@remkoj/optimizely-graph-client\'');
75
75
  prepend.push(`import type * as Types from './graphql'`);
76
76
  prepend.push("\n");
77
- append.push("\n\n");
78
- append.push(generateClientClass(functions));
77
+ append.push("\n");
79
78
  return { prepend, content: output.join("\n"), append };
80
79
  };
81
80
  exports.plugin = plugin;
@@ -112,27 +111,5 @@ function resolveSpreads(definition, document, availableFragments = []) {
112
111
  });
113
112
  return [...fragments, ...dependencies];
114
113
  }
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
114
  exports.default = { validate: exports.validate, plugin: exports.plugin };
138
115
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/preset.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- import type { Types } from '@graphql-codegen/plugin-helpers';
1
+ import { type Types } from '@graphql-codegen/plugin-helpers';
2
2
  import { type ClientPresetConfig as ClientPresetOptions } from '@graphql-codegen/client-preset';
3
3
  import { type PluginOptions } from './index';
4
4
  import { type TransformOptions } from './transform';
package/dist/preset.js CHANGED
@@ -27,27 +27,72 @@ exports.preset = void 0;
27
27
  const documents_1 = require("./documents");
28
28
  // Import base preset
29
29
  const client_preset_1 = require("@graphql-codegen/client-preset");
30
+ const GraphQLRequestPlugin = __importStar(require("@graphql-codegen/typescript-graphql-request"));
31
+ const AddPlugin = __importStar(require("@graphql-codegen/add"));
30
32
  // Import injected parts
31
33
  const index_1 = __importStar(require("./index"));
32
34
  const transform_1 = __importStar(require("./transform"));
33
35
  exports.preset = {
36
+ /**
37
+ * Prepare the documents to be parsed by this preset, without modifying the original array
38
+ *
39
+ * @param outputFilePath The path where the output of this preset will be stored
40
+ * @param outputSpecificDocuments The currently selected documents
41
+ * @returns An awaitable with the modified list of documents.
42
+ */
34
43
  prepareDocuments: async (outputFilePath, outputSpecificDocuments) => {
35
44
  // 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;
45
+ const documents = client_preset_1.preset.prepareDocuments ?
46
+ await client_preset_1.preset.prepareDocuments(outputFilePath, outputSpecificDocuments) :
47
+ [...outputSpecificDocuments, `!${outputFilePath}`];
48
+ // Create a new, extended, array
49
+ return [...documents, ...documents_1.fragments, ...documents_1.queries];
41
50
  },
42
51
  buildGeneratesSection: async (options) => {
52
+ // Extend the document transforms
53
+ options.config = {
54
+ ...options.config,
55
+ namingConvention: "keep", // Keep casing "as-is" from Optimizely Graph
56
+ };
43
57
  options.documentTransforms = [
58
+ ...(options.documentTransforms || []),
44
59
  {
45
60
  name: 'optly-transform',
46
61
  transformObject: transform_1.default,
47
62
  config: (0, transform_1.pickTransformOptions)(options.presetConfig)
48
63
  }
49
64
  ];
65
+ // Build the preset files
50
66
  const section = await client_preset_1.preset.buildGeneratesSection(options);
67
+ // Add GraphQL Request Client
68
+ section.push({
69
+ filename: `${options.baseOutputDir}client.ts`,
70
+ pluginMap: {
71
+ "add": AddPlugin,
72
+ "typescript-graphql-request": GraphQLRequestPlugin
73
+ },
74
+ plugins: [
75
+ {
76
+ add: {
77
+ content: ["import type * as Schema from \"./graphql\";"]
78
+ },
79
+ },
80
+ {
81
+ 'typescript-graphql-request': {
82
+ pureMagicComment: true,
83
+ useTypeImports: true,
84
+ dedupeFragments: true,
85
+ importOperationTypesFrom: "Schema"
86
+ }
87
+ }
88
+ ],
89
+ schema: options.schema,
90
+ schemaAst: options.schemaAst,
91
+ config: options.config,
92
+ profiler: options.profiler,
93
+ documents: options.documents,
94
+ documentTransforms: options.documentTransforms
95
+ });
51
96
  // Add the functions file
52
97
  section.push({
53
98
  filename: `${options.baseOutputDir}functions.ts`,
@@ -60,6 +105,8 @@ exports.preset = {
60
105
  }
61
106
  ],
62
107
  schema: options.schema,
108
+ schemaAst: options.schemaAst,
109
+ profiler: options.profiler,
63
110
  config: (0, index_1.pickPluginOptions)(options.presetConfig),
64
111
  documents: options.documents,
65
112
  documentTransforms: options.documentTransforms
@@ -67,9 +114,11 @@ exports.preset = {
67
114
  // Add functions to index plugin
68
115
  section.forEach((fileConfig, idx) => {
69
116
  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";`;
117
+ section[idx].plugins.unshift({
118
+ add: {
119
+ content: ['export * as Schema from "./graphql";', 'export * from "./functions";', 'export { getSdk, type Sdk } from "./client";']
120
+ }
121
+ });
73
122
  }
74
123
  });
75
124
  return section;
@@ -1 +1 @@
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"}
1
+ {"version":3,"file":"preset.js","sourceRoot":"","sources":["../src/preset.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,9 @@
1
- import type { Types } from '@graphql-codegen/plugin-helpers';
1
+ import { type Types } from '@graphql-codegen/plugin-helpers';
2
2
  import type { Injection } from './types';
3
3
  export type TransformOptions = {
4
4
  injections?: Injection[];
5
+ verbose?: boolean;
6
+ recursion?: boolean;
5
7
  };
6
8
  export declare function pickTransformOptions(options: Record<string, any>): TransformOptions;
7
9
  export declare const transform: Types.DocumentTransformFunction<TransformOptions>;
package/dist/transform.js CHANGED
@@ -8,13 +8,14 @@ const graphql_1 = require("graphql");
8
8
  const node_fs_1 = __importDefault(require("node:fs"));
9
9
  function pickTransformOptions(options) {
10
10
  return {
11
- injections: options.injections ?? []
11
+ injections: options.injections ?? [],
12
+ verbose: options.verbose ?? false,
13
+ recursion: options.recursion ?? true
12
14
  };
13
15
  }
14
16
  exports.pickTransformOptions = pickTransformOptions;
15
17
  function isArray(toTest) { return Array.isArray(toTest); }
16
- const transform = async ({ documents: files, config, schema }) => {
17
- //console.log("[STARTED] Optimizely document transformation")
18
+ const transform = ({ documents: files, config, schema, pluginContext }) => {
18
19
  const injections = config.injections ?? [];
19
20
  // Retrieve component fragments
20
21
  const componentFragments = {};
@@ -27,12 +28,12 @@ const transform = async ({ documents: files, config, schema }) => {
27
28
  (0, graphql_1.visit)(file.document, {
28
29
  FragmentDefinition: {
29
30
  enter(node) {
30
- console.log("[ DEBUG ] Visiting fragment:", node.name.value, node.typeCondition.name.value);
31
31
  const matchingInjections = applicableInjections.filter(injection => !injection.nameRegex || (new RegExp(injection.nameRegex)).test(node.name.value));
32
32
  if (!matchingInjections || matchingInjections.length == 0)
33
33
  return false;
34
34
  matchingInjections.forEach(injection => {
35
- //console.log(`[ DEBUG ] Matched ${ node.name.value } for ${ injection.into } in file ${ node.loc?.source?.name }`)
35
+ if (config.verbose)
36
+ console.debug(`[ OPTIMIZELY ] Found ${node.name.value} for ${injection.into} in file ${node.loc?.source?.name}`);
36
37
  if (!componentFragments[injection.into])
37
38
  componentFragments[injection.into] = [];
38
39
  if (!componentFragments[injection.into].some(f => f.name.value == node.name.value))
@@ -45,19 +46,19 @@ const transform = async ({ documents: files, config, schema }) => {
45
46
  });
46
47
  // Get the names we actually need to inject into, and return when none are present
47
48
  const intoNames = Object.getOwnPropertyNames(componentFragments);
49
+ // Process recursion
48
50
  const componentSpreads = {};
49
- if (intoNames.length > 0) {
51
+ if (config.recursion && intoNames.length > 0) {
50
52
  // Process the fragments, add matching spreads if need be
51
- const recursiveFragments = ["BlockContentAreaItemSearchData", "BlockContentAreaItemData"];
53
+ const recursiveFragments = ["IContentListItem"];
52
54
  intoNames.forEach(intoName => {
53
- //console.log(`[ DEBUG ] Preparing mutations for ${ intoName }`)
54
55
  componentFragments[intoName].forEach(fragment => {
55
- //console.log(`[ DEBUG ] Preparing mutations for fragment ${ fragment.name.value } within ${ intoName }`)
56
56
  (0, graphql_1.visit)(fragment, {
57
57
  FragmentSpread: {
58
58
  leave(node, key, parent, path, ancestors) {
59
59
  if (recursiveFragments.includes(node.name.value) && !isArray(ancestors[0]) && ancestors[0].kind == graphql_1.Kind.FRAGMENT_DEFINITION) {
60
- //console.log(`[ DEBUG ] Leaving ${ node.name.value } within ${ fragment.name.value } for ${ intoName}, creating recursive fragment`)
60
+ if (config.verbose)
61
+ console.debug(`[ OPTIMIZELY ] Found ${node.name.value} within ${fragment.name.value} for ${intoName}, creating recursive fragment`);
61
62
  const fields = ancestors.filter(a => !isArray(a) && a.kind != graphql_1.Kind.FRAGMENT_DEFINITION && a.kind != graphql_1.Kind.SELECTION_SET);
62
63
  if (fields.length < 1)
63
64
  return undefined;
@@ -72,6 +73,15 @@ const transform = async ({ documents: files, config, schema }) => {
72
73
  kind: graphql_1.Kind.FIELD,
73
74
  name: fields[0].name,
74
75
  alias: fields[0].alias,
76
+ directives: [{
77
+ kind: graphql_1.Kind.DIRECTIVE,
78
+ name: { kind: graphql_1.Kind.NAME, value: "recursive" },
79
+ arguments: [{
80
+ kind: graphql_1.Kind.ARGUMENT,
81
+ name: { kind: graphql_1.Kind.NAME, value: "depth" },
82
+ value: { kind: graphql_1.Kind.INT, value: "5" }
83
+ }]
84
+ }],
75
85
  selectionSet: {
76
86
  kind: graphql_1.Kind.SELECTION_SET,
77
87
  selections: recursiveSelections
@@ -89,26 +99,29 @@ const transform = async ({ documents: files, config, schema }) => {
89
99
  });
90
100
  });
91
101
  }
92
- //console.log(`[ DEBUG ] Start building transformed files`)
93
- const newFiles = files.map(file => {
94
- //console.log(`[ DEBUG ] Entering file ${ file.location } }`)
102
+ // Update the documents
103
+ return files.map(file => {
95
104
  const document = file.document ? (0, graphql_1.visit)(file.document, {
105
+ // Remove fragments from the preset, for which the target type does not exist
96
106
  FragmentDefinition: {
97
107
  enter(node) {
98
108
  if (file.location && !node_fs_1.default.existsSync(file.location)) {
99
109
  const typePresent = schema.definitions.some(definition => (definition.kind == graphql_1.Kind.OBJECT_TYPE_DEFINITION || definition.kind == graphql_1.Kind.INTERFACE_TYPE_DEFINITION) && definition.name.value == node.typeCondition.name.value);
100
- //console.log(`[ DEBUG ] Entering fragment ${ node.name.value } on ${ node.typeCondition.name.value }; ${ node.typeCondition.name.value } present in schema: ${ typePresent ? 'yes' : 'no'}`)
101
110
  if (!typePresent) {
102
- //console.log(`[OPTIMIZELY] Type ${ node.typeCondition.name.value } not found, dropping fragment ${ node.name.value }`)
111
+ if (config.verbose)
112
+ console.debug(`[OPTIMIZELY] Type ${node.typeCondition.name.value} not found, dropping fragment ${node.name.value}`);
103
113
  return null;
104
114
  }
105
115
  }
106
116
  }
107
117
  },
118
+ // Add items to the selection sets
108
119
  SelectionSet: {
109
120
  enter(node, key, parent) {
110
121
  if (!isArray(parent) && parent?.kind == graphql_1.Kind.FRAGMENT_DEFINITION && intoNames.includes(parent.name.value)) {
111
122
  const addedSelections = componentFragments[parent.name.value].map(fragment => {
123
+ if (config.verbose)
124
+ console.debug(`[ OPTIMIZELY ] Adding fragment ${fragment.name.value} to ${parent.name.value}`);
112
125
  return {
113
126
  kind: graphql_1.Kind.FRAGMENT_SPREAD,
114
127
  directives: [],
@@ -119,7 +132,8 @@ const transform = async ({ documents: files, config, schema }) => {
119
132
  };
120
133
  });
121
134
  componentSpreads[parent.name.value]?.forEach(spread => {
122
- //console.log("[ DEBUG ] Pushing inline fragment for", parent.name.value)
135
+ if (config.verbose)
136
+ console.debug(`[ OPTIMIZELY ] Adding inline fragment for ${spread.typeCondition?.name.value ?? "Untyped"} to ${parent.name.value}`);
123
137
  addedSelections.push(spread);
124
138
  });
125
139
  return {
@@ -139,17 +153,11 @@ const transform = async ({ documents: files, config, schema }) => {
139
153
  document: document,
140
154
  };
141
155
  });
142
- //console.log("[SUCCESS] Optimizely document transformation")
143
- return newFiles;
144
156
  };
145
157
  exports.transform = transform;
146
158
  exports.default = { transform: exports.transform };
147
159
  // The recursive sections to add
148
- const recursiveSelections = (0, graphql_1.parse)(`fragment BlockContentAreaItemData on ContentAreaItemModel {
149
- item: ContentLink {
150
- data: Expanded @recursive(depth: 3) {
151
- __typename
152
- }
153
- }
160
+ const recursiveSelections = (0, graphql_1.parse)(`fragment IContentListItem on IContent {
161
+ ...IContentData
154
162
  }`).definitions[0]?.selectionSet.selections || [];
155
163
  //# sourceMappingURL=transform.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"transform.js","sourceRoot":"","sources":["../src/transform.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"transform.js","sourceRoot":"","sources":["../src/transform.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@remkoj/optimizely-graph-functions",
3
3
  "license": "Apache-2.0",
4
- "version": "1.0.4",
4
+ "version": "2.0.0-pre1",
5
5
  "packageManager": "yarn@4.1.1",
6
6
  "repository": "https://github.com/remkoj/optimizely-dxp-clients.git",
7
7
  "author": "Remko Jantzen <693172+remkoj@users.noreply.github.com>",
@@ -35,26 +35,35 @@
35
35
  }
36
36
  },
37
37
  "devDependencies": {
38
- "@graphql-codegen/plugin-helpers": "^5.0.3",
39
- "@types/node": "^20.12.6",
38
+ "@types/node": "^20.12.7",
40
39
  "graphql": "^16.8.1",
41
- "typescript": "^5.4.4"
40
+ "graphql-request": "^6.1.0",
41
+ "graphql-tag": "^2.12.6",
42
+ "typescript": "^5.4.5"
42
43
  },
43
44
  "dependencies": {
44
45
  "@graphql-codegen/add": "^5.0.2",
45
46
  "@graphql-codegen/client-preset": "^4.2.5",
47
+ "@graphql-codegen/plugin-helpers": "^5.0.3",
48
+ "@graphql-codegen/typescript": "^4.0.6",
49
+ "@graphql-codegen/typescript-graphql-request": "^6.2.0",
50
+ "@graphql-codegen/typescript-operations": "^4.2.0",
46
51
  "tslib": "^2.6.2"
47
52
  },
48
53
  "scripts": {
49
54
  "clean": "tsc --clean",
50
55
  "prepare": "tsc --build",
51
56
  "recompile": "tsc --build --clean && tsc --build --force",
52
- "watch": "tsc --watch"
57
+ "watch": "yarn tsc --watch"
53
58
  },
54
59
  "peerDependencies": {
55
- "graphql": "*"
60
+ "@graphql-typed-document-node/core": "*",
61
+ "graphql": "*",
62
+ "graphql-request": "*",
63
+ "graphql-tag": "*"
56
64
  },
57
65
  "optionalDependencies": {
58
- "@remkoj/optimizely-graph-client": "1.0.4"
59
- }
66
+ "@remkoj/optimizely-graph-client": "2.0.0-pre1"
67
+ },
68
+ "stableVersion": "1.0.4"
60
69
  }