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

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,137 @@
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: displayName
15
+ layoutType
16
+ type
17
+ key
18
+ ... on ICompositionStructureNode {
19
+ nodes @recursive(depth: 5) {
20
+ name: displayName
50
21
  }
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
22
+ }
23
+ ... on ICompositionElementNode {
24
+ element {
25
+ ...ElementData
62
26
  }
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
- }`,
27
+ }
28
+ }`,
29
+ `fragment IElementData on IElement {
30
+ _metadata {
31
+ ...IContentInfo
32
+ }
33
+ _type: __typename
34
+ }`,
35
+ `fragment ElementData on IElement {
36
+ ...IElementData
37
+ }`,
85
38
  `fragment BlockData on IContent {
86
- ...IContentData
87
- }`,
39
+ ...IContentData
40
+ }`,
88
41
  `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
42
+ ...IContentData
43
+ }`,
44
+ `fragment LinkData on ContentUrl {
45
+ base
46
+ hierarchical
47
+ default
48
+ }`,
49
+ `fragment ReferenceData on ContentReference {
50
+ key
51
+ url {
52
+ ...LinkData
53
+ }
54
+ }`,
55
+ `fragment IContentInfo on IContentMetadata {
56
+ key
57
+ locale
58
+ types
59
+ displayName
60
+ version
61
+ url {
62
+ ...LinkData
63
+ }
64
+ }`,
65
+ `fragment IContentListItem on IContent {
66
+ ...IContentData
67
+ }`,
68
+ `fragment ExperienceData on IExperience {
69
+ experience: _metadata {
70
+ ... on CompositionMetadata {
71
+ composition {
72
+ key
73
+ layoutType
74
+ type
75
+ nodes {
76
+ ...CompositionData
77
+ }
99
78
  }
100
79
  }
101
- displayOption:DisplayOption
102
- }`
80
+ }
81
+ }`
103
82
  ];
104
- exports.queries = [`query getContentById($id: Int, $workId: Int, $guidValue: String, $locale: [Locales!], $isCommonDraft: Boolean) {
105
- Content(
83
+ exports.queries = [
84
+ `query getContentById($key: String!, $version: String, $locale: [Locales!], $path: String, $domain: String) {
85
+ content: Content(
106
86
  where: {
107
- ContentLink: {
108
- Id: { eq: $id },
109
- WorkId: { eq: $workId },
110
- GuidValue: { eq: $guidValue }
111
- }
112
- IsCommonDraft: { eq: $isCommonDraft }
87
+ _or: [
88
+ { _metadata: { key: { eq: $key }, version: { eq: $version } } }
89
+ { _metadata: { url: { hierarchical: { eq: $path }, base: { eq: $domain } }, version: { eq: $version } } }
90
+ ]
113
91
  }
114
92
  locale: $locale
115
93
  ) {
116
94
  total
117
95
  items {
118
96
  ...IContentData
119
- ...PageData
120
97
  ...BlockData
98
+ ...PageData
121
99
  }
122
100
  }
123
101
  }`,
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
102
+ `query getContentByPath($path: String!, $version: String, $locale: [Locales!], $domain: String) {
103
+ content: Content(
104
+ where: {
105
+ _metadata: { url: { default: { eq: $path }, base: { eq: $domain } }, version: { eq: $version }}
106
+ }
107
+ locale: $locale
108
+ ) {
109
+ total
110
+ items {
111
+ ...IContentData
112
+ ...BlockData
113
+ ...PageData
114
+ }
139
115
  }
140
- }
141
- }`, `query getContentType($id: Int, $workId: Int, $guidValue: String, $locale: [Locales])
142
- {
143
- Content(
144
- where: {
145
- ContentLink: {
146
- GuidValue: {
147
- eq: $guidValue
116
+ }`,
117
+ `query getContentType($key: String!, $version: String, $locale: [Locales!], $path: String, $domain: String) {
118
+ content: Content(
119
+ where: {
120
+ _or: [
121
+ { _metadata: { key: { eq: $key }, version: { eq: $version } } }
122
+ { _metadata: { url: { hierarchical: { eq: $path }, base: { eq: $domain } }, version: { eq: $version } } }
123
+ ]
148
124
  }
149
- Id: {
150
- eq: $id
151
- },
152
- WorkId: {
153
- eq: $workId
125
+ locale: $locale
126
+ ) {
127
+ total
128
+ items {
129
+ _metadata {
130
+ types
131
+ }
154
132
  }
155
- }
156
- },
157
- locale: $locale
158
- limit: 1
159
- ) {
160
- items {
161
- ContentType
162
- },
163
- total
164
- }
165
- }`];
133
+ }
134
+ }`
135
+ ];
166
136
  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
137
  //# 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;;;;;;;;;;;;;;;EAeE;IACF;;;;;EAKE;IACF;;EAEE;IACF;;EAEE;IACF;;EAEE;IACF;;;;EAIE;IACF;;;;;EAKE;IACF;;;;;;;;;EASE;IACF;;EAEE;IACF;;;;;;;;;;;;;EAaE;CACD,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-pre2",
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.10",
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-pre2"
67
+ },
68
+ "stableVersion": "1.0.4"
60
69
  }