@enonic/nextjs-adapter 5.0.0-beta.3 → 6.0.0-beta.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +155 -129
- package/dist/common/UrlProcessor.d.ts +2 -8
- package/dist/common/UrlProcessor.js +35 -89
- package/dist/common/UrlProcessor.js.map +1 -1
- package/dist/common/constants.d.ts +2 -1
- package/dist/common/constants.js +26 -25
- package/dist/common/constants.js.map +1 -1
- package/dist/guillotine/buildErrorResponse.d.ts +1 -1
- package/dist/guillotine/buildErrorResponse.js +4 -2
- package/dist/guillotine/buildErrorResponse.js.map +1 -1
- package/dist/guillotine/collectComponentDescriptors.d.ts +5 -3
- package/dist/guillotine/collectComponentDescriptors.js +5 -3
- package/dist/guillotine/collectComponentDescriptors.js.map +1 -1
- package/dist/guillotine/combineMultipleQueries.js +22 -13
- package/dist/guillotine/combineMultipleQueries.js.map +1 -1
- package/dist/guillotine/createMetaData.d.ts +4 -2
- package/dist/guillotine/createMetaData.js +4 -2
- package/dist/guillotine/createMetaData.js.map +1 -1
- package/dist/guillotine/fetchContent.js +28 -17
- package/dist/guillotine/fetchContent.js.map +1 -1
- package/dist/guillotine/fetchContentData.d.ts +1 -1
- package/dist/guillotine/fetchContentData.js +12 -4
- package/dist/guillotine/fetchContentData.js.map +1 -1
- package/dist/guillotine/fetchContentPathsForAllLocales.d.ts +1 -1
- package/dist/guillotine/fetchContentPathsForAllLocales.js +3 -3
- package/dist/guillotine/fetchContentPathsForAllLocales.js.map +1 -1
- package/dist/guillotine/fetchContentPathsForLocale.d.ts +1 -1
- package/dist/guillotine/fetchContentPathsForLocale.js +13 -13
- package/dist/guillotine/fetchContentPathsForLocale.js.map +1 -1
- package/dist/guillotine/fetchFromApi.d.ts +2 -2
- package/dist/guillotine/fetchFromApi.js +3 -5
- package/dist/guillotine/fetchFromApi.js.map +1 -1
- package/dist/guillotine/fetchGuillotine.d.ts +2 -2
- package/dist/guillotine/fetchGuillotine.js +2 -2
- package/dist/guillotine/fetchGuillotine.js.map +1 -1
- package/dist/guillotine/fetchMetaData.d.ts +1 -1
- package/dist/guillotine/fetchMetaData.js +6 -3
- package/dist/guillotine/fetchMetaData.js.map +1 -1
- package/dist/guillotine/getMetaData.d.ts +2 -0
- package/dist/guillotine/getMetaData.js +17 -10
- package/dist/guillotine/getMetaData.js.map +1 -1
- package/dist/guillotine/getQueryAndVariables.d.ts +2 -2
- package/dist/guillotine/getQueryAndVariables.js +12 -5
- package/dist/guillotine/getQueryAndVariables.js.map +1 -1
- package/dist/guillotine/{getCleanContentPathArrayOrThrow400.d.ts → getSiteRelativePathOrThrow.d.ts} +1 -1
- package/dist/guillotine/{getCleanContentPathArrayOrThrow400.js → getSiteRelativePathOrThrow.js} +2 -2
- package/dist/guillotine/getSiteRelativePathOrThrow.js.map +1 -0
- package/dist/guillotine/metadata/richTextQuery.js +1 -0
- package/dist/guillotine/metadata/richTextQuery.js.map +1 -1
- package/dist/guillotine/validateShortcut.js +3 -3
- package/dist/guillotine/validateShortcut.js.map +1 -1
- package/dist/index.d.ts +4 -2
- package/dist/index.js +4 -2
- package/dist/index.js.map +1 -1
- package/dist/query/Shortcut.d.ts +1 -1
- package/dist/query/Shortcut.js +11 -15
- package/dist/query/Shortcut.js.map +1 -1
- package/dist/types/component.d.ts +9 -6
- package/dist/types/componentProps.d.ts +4 -4
- package/dist/types/guillotine.d.ts +0 -1
- package/dist/utils/decryptParams.d.ts +1 -0
- package/dist/utils/decryptParams.js +20 -0
- package/dist/utils/decryptParams.js.map +1 -0
- package/dist/utils/encryptParams.d.ts +1 -0
- package/dist/utils/encryptParams.js +12 -0
- package/dist/utils/encryptParams.js.map +1 -0
- package/dist/utils/fixDoubleSlashes.d.ts +3 -0
- package/dist/utils/fixDoubleSlashes.js +9 -0
- package/dist/utils/fixDoubleSlashes.js.map +1 -1
- package/dist/utils/getContentBranch.d.ts +2 -0
- package/dist/utils/getContentBranch.js +11 -0
- package/dist/utils/getContentBranch.js.map +1 -0
- package/dist/utils/getRenderMode.d.ts +1 -1
- package/dist/utils/getRenderMode.js +1 -1
- package/dist/utils/getRenderMode.js.map +1 -1
- package/dist/utils/prependSitePath.d.ts +5 -0
- package/dist/utils/prependSitePath.js +15 -0
- package/dist/utils/prependSitePath.js.map +1 -0
- package/dist/views/BaseMacro.jsx +1 -30
- package/dist/views/BaseMacro.jsx.map +1 -1
- package/dist/views/RichTextView.jsx +8 -8
- package/dist/views/RichTextView.jsx.map +1 -1
- package/dist/views/Text.jsx +1 -1
- package/dist/views/Text.jsx.map +1 -1
- package/package.json +14 -14
- package/dist/guillotine/getCleanContentPathArrayOrThrow400.js.map +0 -1
- package/dist/utils/getContentApiUrl.d.ts +0 -2
- package/dist/utils/getContentApiUrl.js +0 -15
- package/dist/utils/getContentApiUrl.js.map +0 -1
|
@@ -1,66 +1,52 @@
|
|
|
1
1
|
import { RENDER_MODE } from './constants';
|
|
2
2
|
import { fixDoubleSlashes } from '../utils/fixDoubleSlashes';
|
|
3
3
|
import { addBasePath } from 'next/dist/client/add-base-path';
|
|
4
|
-
import {
|
|
5
|
-
import { getLocaleMappingByLocale } from '../utils/getLocaleMappingByLocale';
|
|
4
|
+
import { API_URL } from './env';
|
|
6
5
|
export class UrlProcessor {
|
|
7
6
|
static process(url, meta, serverSide = false, isResource = false) {
|
|
8
|
-
|
|
9
|
-
if (this.startsWithHash(url) || !meta || (this.isAttachmentUrl(url)) && meta.renderMode === RENDER_MODE.NEXT) {
|
|
7
|
+
if (this.startsWithHash(url) || this.isAbsolute(url) || !meta) {
|
|
10
8
|
// do not process if:
|
|
11
9
|
// - url starts with #
|
|
10
|
+
// - url is absolute
|
|
12
11
|
// - meta is absent
|
|
13
|
-
// - attachment urls in NEXT mode
|
|
14
12
|
return url;
|
|
15
13
|
}
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
const
|
|
19
|
-
|
|
20
|
-
// see if url starts with site name and remove it
|
|
21
|
-
const normalSite = mapping.site.replace(this.startSlashPattern, '').replace(this.endSlashPattern, '');
|
|
22
|
-
normalUrl = url.replace(new RegExp(`^/?${normalSite}(?=/|$)`), '');
|
|
23
|
-
}
|
|
24
|
-
else {
|
|
25
|
-
normalUrl = url;
|
|
26
|
-
}
|
|
14
|
+
if (this.isAttachmentUrl(url)) {
|
|
15
|
+
// XP resource, add api url host and base url
|
|
16
|
+
const apiUrl = new URL(API_URL);
|
|
17
|
+
return `${apiUrl.origin}${url}`;
|
|
27
18
|
}
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
//
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
if (!this.isRelative(normalUrl)) {
|
|
35
|
-
return normalUrl;
|
|
36
|
-
}
|
|
19
|
+
let result = this.normalizeBaseUrl(url, meta, isResource);
|
|
20
|
+
if (!isResource && meta.locale !== meta.defaultLocale) {
|
|
21
|
+
// append locale if it's not the default one
|
|
22
|
+
// to avoid additional middleware redirection
|
|
23
|
+
// NB: don't add locale to resource urls
|
|
24
|
+
result = `/${meta.locale}${result}`;
|
|
37
25
|
}
|
|
38
|
-
|
|
39
|
-
let result;
|
|
26
|
+
// only add basePath and locale in next mode
|
|
40
27
|
if (meta.renderMode === RENDER_MODE.NEXT) {
|
|
41
|
-
// only add basePath and locale in next mode
|
|
42
|
-
result = `/${normalUrl}`;
|
|
43
|
-
if (!isResource && meta.locale !== meta.defaultLocale) {
|
|
44
|
-
// append locale if it's not the default one
|
|
45
|
-
// to avoid additional middleware redirection
|
|
46
|
-
// NB: don't add locale to resource urls
|
|
47
|
-
result = `/${meta.locale}${result}`;
|
|
48
|
-
}
|
|
49
28
|
if (!serverSide) {
|
|
50
29
|
// no need for baseurl and basepath on server
|
|
51
|
-
result = addBasePath(
|
|
30
|
+
result = addBasePath(result);
|
|
52
31
|
}
|
|
53
32
|
}
|
|
54
|
-
else {
|
|
55
|
-
result = `${baseUrl}/${normalUrl}`;
|
|
56
|
-
}
|
|
57
33
|
return fixDoubleSlashes(result);
|
|
58
34
|
}
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
35
|
+
static normalizeBaseUrl(url, meta, isResource) {
|
|
36
|
+
if (isResource) {
|
|
37
|
+
return url;
|
|
38
|
+
}
|
|
39
|
+
let result = url;
|
|
40
|
+
if (result.charAt(0) !== '/') {
|
|
41
|
+
result = '/' + result;
|
|
42
|
+
}
|
|
43
|
+
// Drop the site-name prefix so urls are site-relative
|
|
44
|
+
// (e.g. /sitename/content/path -> /content/path)
|
|
45
|
+
if (meta.site && meta.site !== '/'
|
|
46
|
+
&& (result === meta.site || result.startsWith(`${meta.site}/`))) {
|
|
47
|
+
result = result.substring(meta.site.length) || '/';
|
|
48
|
+
}
|
|
49
|
+
return result;
|
|
64
50
|
}
|
|
65
51
|
static isMediaLink(ref, linkData) {
|
|
66
52
|
var _a;
|
|
@@ -77,59 +63,25 @@ export class UrlProcessor {
|
|
|
77
63
|
const srcParts = src.trim().split(' ');
|
|
78
64
|
switch (srcParts.length) {
|
|
79
65
|
case 1: // src only
|
|
80
|
-
return
|
|
66
|
+
return UrlProcessor.process(src, meta, false, true);
|
|
81
67
|
case 2: // width descriptor
|
|
82
|
-
return `${
|
|
68
|
+
return `${UrlProcessor.process(srcParts[0], meta, false, true)} ${srcParts[1]}`;
|
|
83
69
|
case 3: // pixel density descriptor
|
|
84
|
-
return `${
|
|
70
|
+
return `${UrlProcessor.process(srcParts[0], meta, false, true)} ${srcParts[1]} ${srcParts[2]}`;
|
|
85
71
|
default:
|
|
86
72
|
console.warn('Can not process image srcset: ' + src);
|
|
87
73
|
return src;
|
|
88
74
|
}
|
|
89
75
|
}).join(', ');
|
|
90
76
|
}
|
|
91
|
-
static stripApiUrl(url, apiUrl) {
|
|
92
|
-
// normalise localhost-127.0.0.1 if present in urls
|
|
93
|
-
const normalUrl = parseUrl(url.replace(this.localhostPattern, '127.0.0.1'));
|
|
94
|
-
const normalApiUrl = parseUrl(apiUrl.replace(this.localhostPattern, '127.0.0.1'));
|
|
95
|
-
// WARNING! disregarding the protocol (http/https)
|
|
96
|
-
if (normalUrl.hostname !== normalApiUrl.hostname
|
|
97
|
-
|| normalUrl.port !== normalApiUrl.port) {
|
|
98
|
-
// can't strip apiUrl if hostnames or ports are different
|
|
99
|
-
return url;
|
|
100
|
-
}
|
|
101
|
-
const urlPathCrumbs = normalUrl.pathname.split('/');
|
|
102
|
-
const apiUrlPathCrumbs = normalApiUrl.pathname.split('/');
|
|
103
|
-
for (let i = 0; i < Math.min(apiUrlPathCrumbs.length, urlPathCrumbs.length);) {
|
|
104
|
-
const urlPathCrumb = urlPathCrumbs[i];
|
|
105
|
-
const apiUrlPathCrumb = apiUrlPathCrumbs[i];
|
|
106
|
-
if (urlPathCrumb === apiUrlPathCrumb) {
|
|
107
|
-
urlPathCrumbs.shift();
|
|
108
|
-
apiUrlPathCrumbs.shift();
|
|
109
|
-
}
|
|
110
|
-
else {
|
|
111
|
-
i++;
|
|
112
|
-
}
|
|
113
|
-
}
|
|
114
|
-
return `/${urlPathCrumbs.join('/')}` + normalUrl.search + normalUrl.hash;
|
|
115
|
-
}
|
|
116
77
|
static isAttachmentUrl(url) {
|
|
117
78
|
return this.IMG_ATMT_REGEXP.test(url);
|
|
118
79
|
}
|
|
119
80
|
static startsWithHash(url) {
|
|
120
81
|
return (url === null || url === void 0 ? void 0 : url.charAt(0)) == '#';
|
|
121
82
|
}
|
|
122
|
-
static
|
|
123
|
-
return
|
|
124
|
-
}
|
|
125
|
-
static getApiUrl(meta) {
|
|
126
|
-
var _a, _b;
|
|
127
|
-
let combinedUrl = ((_a = meta.apiUrl) === null || _a === void 0 ? void 0 : _a.replace(this.endSlashPattern, '')) || '';
|
|
128
|
-
const mapping = getLocaleMappingByLocale(meta.locale);
|
|
129
|
-
if ((_b = mapping.site) === null || _b === void 0 ? void 0 : _b.length) {
|
|
130
|
-
combinedUrl += '/' + mapping.site.replace(this.startSlashPattern, '');
|
|
131
|
-
}
|
|
132
|
-
return combinedUrl;
|
|
83
|
+
static isAbsolute(url) {
|
|
84
|
+
return /^(?:ht|f)tps?:\/\/[^ :\r\n\t]+/.test(url);
|
|
133
85
|
}
|
|
134
86
|
}
|
|
135
87
|
UrlProcessor.IMG_TAG = 'img';
|
|
@@ -139,13 +91,7 @@ UrlProcessor.IMG_ATTR = 'data-image-ref';
|
|
|
139
91
|
UrlProcessor.LINK_ATTR = 'data-link-ref';
|
|
140
92
|
UrlProcessor.MACRO_ATTR = 'data-macro-ref';
|
|
141
93
|
UrlProcessor.IMG_ATMT_REGEXP = /\/_\/media:(image|attachment)\//;
|
|
142
|
-
UrlProcessor.endSlashPattern = /\/+$/;
|
|
143
|
-
UrlProcessor.startSlashPattern = /^\/+/;
|
|
144
|
-
UrlProcessor.localhostPattern = /localhost/;
|
|
145
94
|
export function getUrl(url, meta) {
|
|
146
95
|
return UrlProcessor.process(url, meta, false, false);
|
|
147
96
|
}
|
|
148
|
-
export function getAsset(url, meta) {
|
|
149
|
-
return UrlProcessor.process(url, meta, false, true);
|
|
150
|
-
}
|
|
151
97
|
//# sourceMappingURL=UrlProcessor.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"UrlProcessor.js","sourceRoot":"","sources":["../../src/common/UrlProcessor.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"UrlProcessor.js","sourceRoot":"","sources":["../../src/common/UrlProcessor.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,WAAW,EAAC,MAAM,aAAa,CAAC;AACxC,OAAO,EAAC,gBAAgB,EAAC,MAAM,2BAA2B,CAAC;AAC3D,OAAO,EAAC,WAAW,EAAC,MAAM,gCAAgC,CAAC;AAC3D,OAAO,EAAC,OAAO,EAAC,MAAM,OAAO,CAAC;AAE9B,MAAM,OAAO,YAAY;IAYd,MAAM,CAAC,OAAO,CAAC,GAAW,EAAE,IAAc,EAAE,UAAU,GAAG,KAAK,EAAE,UAAU,GAAG,KAAK;QACrF,IAAI,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;YAC5D,qBAAqB;YACrB,sBAAsB;YACtB,oBAAoB;YACpB,mBAAmB;YACnB,OAAO,GAAG,CAAC;QACf,CAAC;QAED,IAAI,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,EAAE,CAAC;YAC5B,6CAA6C;YAC7C,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,CAAC;YAChC,OAAO,GAAG,MAAM,CAAC,MAAM,GAAG,GAAG,EAAE,CAAC;QACpC,CAAC;QAED,IAAI,MAAM,GAAG,IAAI,CAAC,gBAAgB,CAAC,GAAG,EAAE,IAAI,EAAE,UAAU,CAAC,CAAC;QAE1D,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,MAAM,KAAK,IAAI,CAAC,aAAa,EAAE,CAAC;YACpD,4CAA4C;YAC5C,6CAA6C;YAC7C,wCAAwC;YACxC,MAAM,GAAG,IAAI,IAAI,CAAC,MAAM,GAAG,MAAM,EAAE,CAAC;QACxC,CAAC;QAED,4CAA4C;QAC5C,IAAI,IAAI,CAAC,UAAU,KAAK,WAAW,CAAC,IAAI,EAAE,CAAC;YACvC,IAAI,CAAC,UAAU,EAAE,CAAC;gBACd,6CAA6C;gBAC7C,MAAM,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC;YACjC,CAAC;QACL,CAAC;QACD,OAAO,gBAAgB,CAAC,MAAM,CAAC,CAAC;IACpC,CAAC;IAEO,MAAM,CAAC,gBAAgB,CAAC,GAAW,EAAE,IAAc,EAAE,UAAmB;QAC5E,IAAI,UAAU,EAAE,CAAC;YACb,OAAO,GAAG,CAAC;QACf,CAAC;QAED,IAAI,MAAM,GAAG,GAAG,CAAC;QACjB,IAAI,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,GAAG,EAAE,CAAC;YAC3B,MAAM,GAAG,GAAG,GAAG,MAAM,CAAC;QAC1B,CAAC;QACD,sDAAsD;QACtD,iDAAiD;QACjD,IAAI,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,KAAK,GAAG;eAC3B,CAAC,MAAM,KAAK,IAAI,CAAC,IAAI,IAAI,MAAM,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC,EAAE,CAAC;YAClE,MAAM,GAAG,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,GAAG,CAAC;QACvD,CAAC;QAED,OAAO,MAAM,CAAC;IAClB,CAAC;IAEM,MAAM,CAAC,WAAW,CAAC,GAAW,EAAE,QAAoB;;QACvD,wEAAwE;QACxE,OAAO,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAA,MAAA,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,GAAG,MAAK,GAAG,CAAC,0CAAE,KAAK,CAAA,CAAC;IACxF,CAAC;IAEM,MAAM,CAAC,cAAc,CAAC,GAAW,EAAE,SAAsB;;QAC5D,yEAAyE;QACzE,OAAO,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAA,MAAA,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,KAAK,GAAG,CAAC,0CAAE,KAAK,CAAA,CAAC;IACzF,CAAC;IAEM,MAAM,CAAC,aAAa,CAAC,MAAc,EAAE,IAAc;QACtD,OAAO,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE;YAClC,MAAM,QAAQ,GAAG,GAAG,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YACvC,QAAQ,QAAQ,CAAC,MAAM,EAAE,CAAC;gBAC1B,KAAK,CAAC,EAAE,WAAW;oBACf,OAAO,YAAY,CAAC,OAAO,CAAC,GAAG,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;gBACxD,KAAK,CAAC,EAAE,mBAAmB;oBACvB,OAAO,GAAG,YAAY,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,IAAI,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC;gBACpF,KAAK,CAAC,EAAE,2BAA2B;oBAC/B,OAAO,GAAG,YAAY,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,IAAI,QAAQ,CAAC,CAAC,CAAC,IAAI,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC;gBACnG;oBACI,OAAO,CAAC,IAAI,CAAC,gCAAgC,GAAG,GAAG,CAAC,CAAC;oBACrD,OAAO,GAAG,CAAC;YACf,CAAC;QACL,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAClB,CAAC;IAEO,MAAM,CAAC,eAAe,CAAC,GAAW;QACtC,OAAO,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAC1C,CAAC;IAEO,MAAM,CAAC,cAAc,CAAC,GAAW;QACrC,OAAO,CAAA,GAAG,aAAH,GAAG,uBAAH,GAAG,CAAE,MAAM,CAAC,CAAC,CAAC,KAAI,GAAG,CAAC;IACjC,CAAC;IAEO,MAAM,CAAC,UAAU,CAAC,GAAW;QACjC,OAAO,gCAAgC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACtD,CAAC;;AApGa,oBAAO,GAAG,KAAK,CAAC;AAChB,qBAAQ,GAAG,GAAG,CAAC;AACf,sBAAS,GAAG,cAAc,CAAC;AAE3B,qBAAQ,GAAG,gBAAgB,CAAC;AAC5B,sBAAS,GAAG,eAAe,CAAC;AAC5B,uBAAU,GAAG,gBAAgB,CAAC;AAE7B,4BAAe,GAAG,iCAAiC,CAAC;AA+FvE,MAAM,UAAU,MAAM,CAAC,GAAW,EAAE,IAAc;IAC9C,OAAO,YAAY,CAAC,OAAO,CAAC,GAAG,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;AACzD,CAAC"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
export declare const CATCH_ALL = "*";
|
|
2
2
|
export declare enum ENV_VARS {
|
|
3
3
|
MAPPINGS = "ENONIC_MAPPINGS",
|
|
4
|
+
API_TOKEN = "ENONIC_API_TOKEN",
|
|
4
5
|
API_URL = "ENONIC_API",
|
|
5
6
|
APP_NAME = "ENONIC_APP_NAME",
|
|
6
7
|
LOG = "ENONIC_LOGGING"
|
|
@@ -13,7 +14,7 @@ export declare const FRAGMENT_DEFAULT_REGION_NAME = "fragment";
|
|
|
13
14
|
* - media
|
|
14
15
|
* - paths with '/_' in them
|
|
15
16
|
*/
|
|
16
|
-
export declare const GET_STATIC_PATHS_QUERY
|
|
17
|
+
export declare const GET_STATIC_PATHS_QUERY: string;
|
|
17
18
|
export declare enum GUILLOTINE_REQUEST_HEADERS {
|
|
18
19
|
COOKIE = "Cookie",
|
|
19
20
|
LOCALE = "locale",
|
package/dist/common/constants.js
CHANGED
|
@@ -2,44 +2,45 @@ export const CATCH_ALL = '*';
|
|
|
2
2
|
export var ENV_VARS;
|
|
3
3
|
(function (ENV_VARS) {
|
|
4
4
|
ENV_VARS["MAPPINGS"] = "ENONIC_MAPPINGS";
|
|
5
|
+
ENV_VARS["API_TOKEN"] = "ENONIC_API_TOKEN";
|
|
5
6
|
ENV_VARS["API_URL"] = "ENONIC_API";
|
|
6
7
|
ENV_VARS["APP_NAME"] = "ENONIC_APP_NAME";
|
|
7
8
|
ENV_VARS["LOG"] = "ENONIC_LOGGING";
|
|
8
9
|
})(ENV_VARS || (ENV_VARS = {}));
|
|
9
10
|
export const FRAGMENT_CONTENTTYPE_NAME = 'portal:fragment';
|
|
10
11
|
export const FRAGMENT_DEFAULT_REGION_NAME = 'fragment';
|
|
12
|
+
import { queryGuillotine } from '../guillotine/getMetaData';
|
|
11
13
|
/** excluded contents:
|
|
12
14
|
* - folder
|
|
13
15
|
* - shortcuts (redirect can't be used in prerender)
|
|
14
16
|
* - media
|
|
15
17
|
* - paths with '/_' in them
|
|
16
18
|
*/
|
|
17
|
-
export const GET_STATIC_PATHS_QUERY = `
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
{like: {field:"_path", value: $pathRegex}}
|
|
33
|
-
]
|
|
34
|
-
}
|
|
35
|
-
}
|
|
36
|
-
) {
|
|
37
|
-
_name
|
|
38
|
-
_path
|
|
39
|
-
site {_name}
|
|
19
|
+
export const GET_STATIC_PATHS_QUERY = queryGuillotine(`queryDsl(
|
|
20
|
+
first: $count,
|
|
21
|
+
sort: {
|
|
22
|
+
field: "modifiedTime",
|
|
23
|
+
direction: DESC
|
|
24
|
+
}
|
|
25
|
+
query: {
|
|
26
|
+
boolean: {
|
|
27
|
+
mustNot: [
|
|
28
|
+
{in: {field: "type", stringValues: ["base:shortcut", "portal:fragment", "portal:template-folder", "portal:page-template"]}}
|
|
29
|
+
{like: {field: "type", value: "media:*"}}
|
|
30
|
+
]
|
|
31
|
+
must: [
|
|
32
|
+
{like: {field:"_path", value: $pathRegex}}
|
|
33
|
+
]
|
|
40
34
|
}
|
|
41
|
-
|
|
42
|
-
|
|
35
|
+
}
|
|
36
|
+
) {
|
|
37
|
+
_name
|
|
38
|
+
_path
|
|
39
|
+
site {_name}
|
|
40
|
+
}`, {
|
|
41
|
+
'$pathRegex': 'String!',
|
|
42
|
+
'$count': 'Int'
|
|
43
|
+
});
|
|
43
44
|
// Seems like NodeJS.fetch lowercases all headers, so we need to lowercase the
|
|
44
45
|
// header names here.
|
|
45
46
|
export var GUILLOTINE_REQUEST_HEADERS;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/common/constants.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,SAAS,GAAG,GAAG,CAAC;AAE7B,MAAM,CAAN,IAAY,
|
|
1
|
+
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/common/constants.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,SAAS,GAAG,GAAG,CAAC;AAE7B,MAAM,CAAN,IAAY,QAMX;AAND,WAAY,QAAQ;IAChB,wCAA4B,CAAA;IAC5B,0CAA8B,CAAA;IAC9B,kCAAsB,CAAA;IACtB,wCAA4B,CAAA;IAC5B,kCAAsB,CAAA;AAC1B,CAAC,EANW,QAAQ,KAAR,QAAQ,QAMnB;AAED,MAAM,CAAC,MAAM,yBAAyB,GAAG,iBAAiB,CAAC;AAC3D,MAAM,CAAC,MAAM,4BAA4B,GAAG,UAAU,CAAC;AAEvD,OAAO,EAAC,eAAe,EAAC,MAAM,2BAA2B,CAAC;AAE1D;;;;;GAKG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAAG,eAAe,CAAC;;;;;;;;;;;;;;;;;;;;;MAqBhD,EACF;IACI,YAAY,EAAE,SAAS;IACvB,QAAQ,EAAE,KAAK;CAClB,CAAC,CAAC;AAEP,8EAA8E;AAC9E,qBAAqB;AACrB,MAAM,CAAN,IAAY,0BAKX;AALD,WAAY,0BAA0B;IAClC,+CAAiB,CAAA;IACjB,+CAAiB,CAAA;IACjB,iDAAmB,CAAA;IACnB,+DAAiC,CAAA;AACrC,CAAC,EALW,0BAA0B,KAA1B,0BAA0B,QAKrC;AAED,MAAM,CAAC,MAAM,iBAAiB,GAAG,YAAY,CAAC;AAE9C,MAAM,CAAC,MAAM,8BAA8B,GAAG,sBAAsB,CAAC;AACrE,MAAM,CAAC,MAAM,oBAAoB,GAAG,wBAAwB,CAAC;AAC7D,MAAM,CAAC,MAAM,0BAA0B,GAAG,4BAA4B,CAAC;AACvE,MAAM,CAAC,MAAM,uBAAuB,GAAG,oBAAoB,CAAC;AAC5D,MAAM,CAAC,MAAM,iBAAiB,GAAG,wBAAwB,CAAC;AAE1D,MAAM,CAAN,IAAY,WAOX;AAPD,WAAY,WAAW;IACnB,gCAAiB,CAAA;IACjB,4BAAa,CAAA;IACb,kCAAmB,CAAA;IACnB,4BAAa,CAAA;IACb,8BAAe,CAAA;IACf,4BAAa,CAAA,CAAO,mEAAmE;AAC3F,CAAC,EAPW,WAAW,KAAX,WAAW,QAOtB;AAED,MAAM,CAAC,MAAM,kBAAkB,GAAG,qBAAqB,CAAC;AAExD,MAAM,CAAC,MAAM,qBAAqB,GAAG,aAAa,CAAC;AAEnD,oHAAoH;AACpH,MAAM,CAAC,MAAM,kBAAkB,GAAG,WAAW,CAAC;AAE9C,0DAA0D;AAC1D,MAAM,CAAN,IAAY,iBAMX;AAND,WAAY,iBAAiB;IACzB,kCAAa,CAAA;IACb,sCAAiB,CAAA;IACjB,kCAAa,CAAA;IACb,0CAAqB,CAAA;IACrB,kCAAa,CAAA;AACjB,CAAC,EANW,iBAAiB,KAAjB,iBAAiB,QAM5B;AAED,MAAM,CAAN,IAAY,eAIX;AAJD,WAAY,eAAe;IACvB,0CAAuB,CAAA;IACvB,gCAAa,CAAA;IACb,gCAAa,CAAA;AACjB,CAAC,EAJW,eAAe,KAAf,eAAe,QAI1B"}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
import type { FetchContentResult } from '../types';
|
|
2
2
|
import { RENDER_MODE, XP_REQUEST_TYPE } from '../common/constants';
|
|
3
|
-
export declare function buildErrorResponse(requestType: XP_REQUEST_TYPE, renderMode: RENDER_MODE,
|
|
3
|
+
export declare function buildErrorResponse(requestType: XP_REQUEST_TYPE, renderMode: RENDER_MODE, project: string, site: string, branch: string, baseUrl: string, locale: string, defaultLocale: string, contentPath?: string, contentId?: string): (code?: string, message?: string) => FetchContentResult;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export function buildErrorResponse(requestType, renderMode,
|
|
1
|
+
export function buildErrorResponse(requestType, renderMode, project, site, branch, baseUrl, locale, defaultLocale, contentPath, contentId) {
|
|
2
2
|
return function (code = '500', message = 'Unknown error') {
|
|
3
3
|
return {
|
|
4
4
|
error: {
|
|
@@ -16,7 +16,9 @@ export function buildErrorResponse(requestType, renderMode, apiUrl, baseUrl, loc
|
|
|
16
16
|
path: contentPath || '',
|
|
17
17
|
canRender: false,
|
|
18
18
|
catchAll: false,
|
|
19
|
-
|
|
19
|
+
project,
|
|
20
|
+
site,
|
|
21
|
+
branch,
|
|
20
22
|
baseUrl,
|
|
21
23
|
locale,
|
|
22
24
|
defaultLocale
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"buildErrorResponse.js","sourceRoot":"","sources":["../../src/guillotine/buildErrorResponse.ts"],"names":[],"mappings":"AAMA,MAAM,UAAU,kBAAkB,CAAC,WAA4B,EAAE,UAAuB,
|
|
1
|
+
{"version":3,"file":"buildErrorResponse.js","sourceRoot":"","sources":["../../src/guillotine/buildErrorResponse.ts"],"names":[],"mappings":"AAMA,MAAM,UAAU,kBAAkB,CAAC,WAA4B,EAAE,UAAuB,EACrD,OAAe,EAAE,IAAY,EAAE,MAAc,EAAE,OAAe,EAAE,MAAc,EAAE,aAAqB,EACrG,WAAqB,EAAE,SAAkB;IAExE,OAAO,UAAU,IAAI,GAAG,KAAK,EAAE,OAAO,GAAG,eAAe;QACpD,OAAO;YACH,KAAK,EAAE;gBACH,IAAI;gBACJ,OAAO;aACV;YACD,IAAI,EAAE,IAAI;YACV,MAAM,EAAE,IAAI;YACZ,IAAI,EAAE,IAAI;YACV,IAAI,EAAE;gBACF,EAAE,EAAE,SAAS,IAAI,EAAE;gBACnB,IAAI,EAAE,EAAE;gBACR,WAAW,EAAE,WAAW;gBACxB,UAAU,EAAE,UAAU;gBACtB,IAAI,EAAE,WAAW,IAAI,EAAE;gBACvB,SAAS,EAAE,KAAK;gBAChB,QAAQ,EAAE,KAAK;gBACf,OAAO;gBACP,IAAI;gBACJ,MAAM;gBACN,OAAO;gBACP,MAAM;gBACN,aAAa;aAChB;SACJ,CAAC;IACN,CAAC,CAAC;AACN,CAAC"}
|
|
@@ -1,6 +1,8 @@
|
|
|
1
|
-
import type { ComponentDescriptor, Context, PageComponent } from '../types';
|
|
2
|
-
export declare function collectComponentDescriptors({ components,
|
|
1
|
+
import type { ComponentDescriptor, Context, PageComponent, LocaleMapping } from '../types';
|
|
2
|
+
export declare function collectComponentDescriptors({ components, contentPath, branch, mapping, context }: {
|
|
3
3
|
components: PageComponent[];
|
|
4
|
-
|
|
4
|
+
contentPath: string;
|
|
5
|
+
branch: string;
|
|
6
|
+
mapping: LocaleMapping;
|
|
5
7
|
context: Context;
|
|
6
8
|
}): ComponentDescriptor[];
|
|
@@ -4,7 +4,7 @@ import { APP_NAME, APP_NAME_DASHED } from '../common/env';
|
|
|
4
4
|
import { processComponentConfig } from './processComponentConfig';
|
|
5
5
|
import { getComponentConfig } from './getComponentConfig';
|
|
6
6
|
import { getQueryAndVariables } from './getQueryAndVariables';
|
|
7
|
-
export function collectComponentDescriptors({ components,
|
|
7
|
+
export function collectComponentDescriptors({ components, contentPath, branch, mapping, context }) {
|
|
8
8
|
var _a, _b;
|
|
9
9
|
const descriptors = [];
|
|
10
10
|
for (const cmp of (components || [])) {
|
|
@@ -16,7 +16,7 @@ export function collectComponentDescriptors({ components, xpContentPath, context
|
|
|
16
16
|
if (cmpDef) {
|
|
17
17
|
// const partPath = `${xpContentPath}/_component${cmp.path}`;
|
|
18
18
|
const config = getComponentConfig(cmp);
|
|
19
|
-
const queryAndVariables = getQueryAndVariables(cmp.type,
|
|
19
|
+
const queryAndVariables = getQueryAndVariables(cmp.type, contentPath, branch, mapping, context, cmpDef.query, config);
|
|
20
20
|
if (queryAndVariables) {
|
|
21
21
|
descriptors.push({
|
|
22
22
|
component: cmp,
|
|
@@ -30,7 +30,9 @@ export function collectComponentDescriptors({ components, xpContentPath, context
|
|
|
30
30
|
// look for parts inside fragments
|
|
31
31
|
const fragPartDescs = collectComponentDescriptors({
|
|
32
32
|
components: (_b = (_a = cmp.fragment) === null || _a === void 0 ? void 0 : _a.fragment) === null || _b === void 0 ? void 0 : _b.components,
|
|
33
|
-
|
|
33
|
+
contentPath,
|
|
34
|
+
branch,
|
|
35
|
+
mapping,
|
|
34
36
|
context
|
|
35
37
|
});
|
|
36
38
|
if (fragPartDescs.length) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"collectComponentDescriptors.js","sourceRoot":"","sources":["../../src/guillotine/collectComponentDescriptors.ts"],"names":[],"mappings":"AAGA,OAAO,EAAC,iBAAiB,EAAC,MAAM,6BAA6B,CAAC;AAC9D,OAAO,EAAC,iBAAiB,EAAC,MAAM,qBAAqB,CAAC;AACtD,OAAO,EAAC,QAAQ,EAAE,eAAe,EAAC,MAAM,eAAe,CAAC;AACxD,OAAO,EAAC,sBAAsB,EAAC,MAAM,0BAA0B,CAAC;AAChE,OAAO,EAAC,kBAAkB,EAAC,MAAM,sBAAsB,CAAC;AACxD,OAAO,EAAC,oBAAoB,EAAC,MAAM,wBAAwB,CAAC;AAG5D,MAAM,UAAU,2BAA2B,CAAC,EACxC,UAAU,
|
|
1
|
+
{"version":3,"file":"collectComponentDescriptors.js","sourceRoot":"","sources":["../../src/guillotine/collectComponentDescriptors.ts"],"names":[],"mappings":"AAGA,OAAO,EAAC,iBAAiB,EAAC,MAAM,6BAA6B,CAAC;AAC9D,OAAO,EAAC,iBAAiB,EAAC,MAAM,qBAAqB,CAAC;AACtD,OAAO,EAAC,QAAQ,EAAE,eAAe,EAAC,MAAM,eAAe,CAAC;AACxD,OAAO,EAAC,sBAAsB,EAAC,MAAM,0BAA0B,CAAC;AAChE,OAAO,EAAC,kBAAkB,EAAC,MAAM,sBAAsB,CAAC;AACxD,OAAO,EAAC,oBAAoB,EAAC,MAAM,wBAAwB,CAAC;AAG5D,MAAM,UAAU,2BAA2B,CAAC,EACxC,UAAU,EACkC,WAAW,EACX,MAAM,EACN,OAAO,EACnD,OAAO,EAOV;;IAEG,MAAM,WAAW,GAA0B,EAAE,CAAC;IAE9C,KAAK,MAAM,GAAG,IAAI,CAAC,UAAU,IAAI,EAAE,CAAC,EAAE,CAAC;QACnC,sBAAsB,CAAC,QAAQ,EAAE,eAAe,EAAE,GAAG,CAAC,CAAC;QACvD,sBAAsB;QACtB,2DAA2D;QAC3D,IAAI,iBAAiB,CAAC,QAAQ,KAAK,GAAG,CAAC,IAAI,EAAE,CAAC;YAC1C,MAAM,MAAM,GAAG,iBAAiB,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC;YACrD,IAAI,MAAM,EAAE,CAAC;gBACT,6DAA6D;gBAC7D,MAAM,MAAM,GAAG,kBAAkB,CAAC,GAAG,CAAC,CAAC;gBACvC,MAAM,iBAAiB,GAAG,oBAAoB,CAAC,GAAG,CAAC,IAAI,EAAE,WAAW,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;gBACtH,IAAI,iBAAiB,EAAE,CAAC;oBACpB,WAAW,CAAC,IAAI,CAAC;wBACb,SAAS,EAAE,GAAG;wBACd,IAAI,EAAE,MAAM;wBACZ,iBAAiB,EAAE,iBAAiB;qBACvC,CAAC,CAAC;gBACP,CAAC;YACL,CAAC;QACL,CAAC;aAAM,CAAC;YACJ,kCAAkC;YAClC,MAAM,aAAa,GAAG,2BAA2B,CAAC;gBAC9C,UAAU,EAAE,MAAA,MAAA,GAAG,CAAC,QAAQ,0CAAE,QAAQ,0CAAE,UAAU;gBAC9C,WAAW;gBACX,MAAM;gBACN,OAAO;gBACP,OAAO;aACV,CAAC,CAAC;YACH,IAAI,aAAa,CAAC,MAAM,EAAE,CAAC;gBACvB,WAAW,CAAC,IAAI,CAAC,GAAG,aAAa,CAAC,CAAC;YACvC,CAAC;QACL,CAAC;IACL,CAAC;IAED,OAAO,WAAW,CAAC;AACvB,CAAC"}
|
|
@@ -1,6 +1,9 @@
|
|
|
1
1
|
const ALIAS_PREFIX = 'request';
|
|
2
2
|
const GRAPHQL_FRAGMENTS_REGEXP = /fragment\s+.+\s+on\s+.+\s*{[\s\w{}().,:"'`]+}/;
|
|
3
|
-
const GUILLOTINE_QUERY_REGEXP = /^\s*query\s*(?:\((.*)*\))?\s*{\s*guillotine\s*{((?:.|\s)+)}\s*}\s*$/;
|
|
3
|
+
// const GUILLOTINE_QUERY_REGEXP = /^\s*query\s*(?:\((.*)*\))?\s*{\s*guillotine\s*{((?:.|\s)+)}\s*}\s*$/;
|
|
4
|
+
const GUILLOTINE_QUERY_REGEXP = /^\s*query\s*(?:\(([^)]*)\))?\s*{\s*((?:.|\s)+)\s*}\s*$/;
|
|
5
|
+
const GLOBAL_PARAMS = [{ key: 'path', type: 'ID!' }, { key: 'siteKey', type: 'String' }, { key: 'project', type: 'String' },
|
|
6
|
+
{ key: 'branch', type: 'String' }];
|
|
4
7
|
export function combineMultipleQueries(queriesWithVars) {
|
|
5
8
|
const queries = [];
|
|
6
9
|
const fragments = [];
|
|
@@ -11,6 +14,7 @@ export function combineMultipleQueries(queriesWithVars) {
|
|
|
11
14
|
if (!queryAndVars) {
|
|
12
15
|
return;
|
|
13
16
|
}
|
|
17
|
+
const currentAlias = `${ALIAS_PREFIX}${index}`;
|
|
14
18
|
// Extract fragments first if exist
|
|
15
19
|
let q = queryAndVars.query;
|
|
16
20
|
let match = q.match(GRAPHQL_FRAGMENTS_REGEXP);
|
|
@@ -21,28 +25,33 @@ export function combineMultipleQueries(queriesWithVars) {
|
|
|
21
25
|
q = q.replace(match[0], '');
|
|
22
26
|
}
|
|
23
27
|
// Extract graphql query and its params and add prefixes to exclude collisions with other queries
|
|
24
|
-
match = q.match(GUILLOTINE_QUERY_REGEXP) || [''];
|
|
28
|
+
match = q.match(GUILLOTINE_QUERY_REGEXP) || [''];
|
|
25
29
|
const args = match[1];
|
|
26
30
|
let query = match[2];
|
|
27
31
|
if (args) {
|
|
28
32
|
args.split(',').forEach(originalParamString => {
|
|
29
|
-
const [originalKey, originalVal] = originalParamString.trim().split(':');
|
|
30
|
-
const [prefixedKey, prefixedVal] = [`$${
|
|
33
|
+
const [originalKey, originalVal] = originalParamString.trim().split(':').map(s => s.trim());
|
|
34
|
+
const [prefixedKey, prefixedVal] = [`$${currentAlias}_${originalKey.substring(1)}`, originalVal];
|
|
31
35
|
superParams.push(`${prefixedKey}:${prefixedVal}`);
|
|
32
|
-
//
|
|
33
|
-
|
|
34
|
-
//
|
|
35
|
-
const origKeyPattern = new RegExp(originalKey.replace(/\$/g, '\\$'), 'g');
|
|
36
|
-
query = query.replace(origKeyPattern, prefixedKey);
|
|
36
|
+
// Replace param usages in the query
|
|
37
|
+
query = query.replace(new RegExp(`\\${originalKey}`, 'g'), prefixedKey);
|
|
38
|
+
// Variables are updated later
|
|
37
39
|
});
|
|
38
40
|
}
|
|
39
|
-
if (query === null || query === void 0 ? void 0 : query.length) {
|
|
40
|
-
queries.push(`${ALIAS_PREFIX}${index}:guillotine {${query}}`);
|
|
41
|
-
}
|
|
42
41
|
// Update variables with the same prefixes
|
|
43
42
|
Object.entries(queryAndVars.variables || {}).forEach(entry => {
|
|
44
|
-
superVars[`${
|
|
43
|
+
superVars[`${currentAlias}_${entry[0]}`] = entry[1];
|
|
45
44
|
});
|
|
45
|
+
if (query === null || query === void 0 ? void 0 : query.length) {
|
|
46
|
+
queries.push(`${currentAlias}:${query}`);
|
|
47
|
+
// Find global params used in the query and add them to superParams
|
|
48
|
+
GLOBAL_PARAMS.forEach(param => {
|
|
49
|
+
const def = `$${param.key}:${param.type}`;
|
|
50
|
+
if (query.includes(`$${param.key}`) && superParams.indexOf(def) < 0) {
|
|
51
|
+
superParams.push(def);
|
|
52
|
+
}
|
|
53
|
+
});
|
|
54
|
+
}
|
|
46
55
|
});
|
|
47
56
|
// Compose the super query
|
|
48
57
|
const superQuery = `query ${superParams.length ? `(${superParams.join(', ')})` : ''} {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"combineMultipleQueries.js","sourceRoot":"","sources":["../../src/guillotine/combineMultipleQueries.ts"],"names":[],"mappings":"AAGA,MAAM,YAAY,GAAG,SAAS,CAAC;AAE/B,MAAM,wBAAwB,GAAG,+CAA+C,CAAC;AAEjF,MAAM,uBAAuB,GAAG,
|
|
1
|
+
{"version":3,"file":"combineMultipleQueries.js","sourceRoot":"","sources":["../../src/guillotine/combineMultipleQueries.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,9 +1,11 @@
|
|
|
1
1
|
import type { MetaData, PageComponent } from '../types';
|
|
2
2
|
import { RENDER_MODE, XP_REQUEST_TYPE } from '../common/constants';
|
|
3
|
-
export declare function createMetaData({
|
|
3
|
+
export declare function createMetaData({ project, site, branch, baseUrl, components, // Optional NOTE: Doesn't handle null
|
|
4
4
|
contentPath, contentType, contentId, defaultLocale, locale, pageCmp, // Optional
|
|
5
5
|
renderMode, requestedComponentPath, requestType }: {
|
|
6
|
-
|
|
6
|
+
project: string;
|
|
7
|
+
site: string;
|
|
8
|
+
branch: string;
|
|
7
9
|
baseUrl: string;
|
|
8
10
|
components?: PageComponent[];
|
|
9
11
|
contentPath: string;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { XP_REQUEST_TYPE } from '../common/constants';
|
|
2
2
|
import { ComponentRegistry } from '../common/ComponentRegistry';
|
|
3
|
-
export function createMetaData({
|
|
3
|
+
export function createMetaData({ project, site, branch, baseUrl, components = [], // Optional NOTE: Doesn't handle null
|
|
4
4
|
contentPath, contentType, contentId, defaultLocale, locale, pageCmp, // Optional
|
|
5
5
|
renderMode, requestedComponentPath, requestType }) {
|
|
6
6
|
var _a;
|
|
@@ -8,7 +8,9 @@ renderMode, requestedComponentPath, requestType }) {
|
|
|
8
8
|
// Only adding some .meta attributes here on certain conditions
|
|
9
9
|
// (instead of always adding them and letting them be visible as false/undefined etc)
|
|
10
10
|
const meta = {
|
|
11
|
-
|
|
11
|
+
project,
|
|
12
|
+
site,
|
|
13
|
+
branch,
|
|
12
14
|
baseUrl,
|
|
13
15
|
canRender: false,
|
|
14
16
|
catchAll: false, // catchAll only refers to content type catch-all
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"createMetaData.js","sourceRoot":"","sources":["../../src/guillotine/createMetaData.ts"],"names":[],"mappings":"AAGA,OAAO,EAAc,eAAe,EAAC,MAAM,qBAAqB,CAAC;AACjE,OAAO,EAAC,iBAAiB,EAAC,MAAM,6BAA6B,CAAC;AAG9D,MAAM,UAAU,cAAc,CAAC,EACI,MAAM,EACN,OAAO,EACP,UAAU,GAAG,EAAE,EAAE,qCAAqC;AACtD,WAAW,EACX,WAAW,EACX,SAAS,EACT,aAAa,EACb,MAAM,EACN,OAAO,EAAE,WAAW;AACpB,UAAU,EACV,sBAAsB,EACrD,WAAW,
|
|
1
|
+
{"version":3,"file":"createMetaData.js","sourceRoot":"","sources":["../../src/guillotine/createMetaData.ts"],"names":[],"mappings":"AAGA,OAAO,EAAc,eAAe,EAAC,MAAM,qBAAqB,CAAC;AACjE,OAAO,EAAC,iBAAiB,EAAC,MAAM,6BAA6B,CAAC;AAG9D,MAAM,UAAU,cAAc,CAAC,EACI,OAAO,EACP,IAAI,EACJ,MAAM,EACN,OAAO,EACP,UAAU,GAAG,EAAE,EAAE,qCAAqC;AACtD,WAAW,EACX,WAAW,EACX,SAAS,EACT,aAAa,EACb,MAAM,EACN,OAAO,EAAE,WAAW;AACpB,UAAU,EACV,sBAAsB,EACrD,WAAW,EAgBd;;IACG,wDAAwD;IACxD,+DAA+D;IAC/D,qFAAqF;IACrF,MAAM,IAAI,GAAa;QACnB,OAAO;QACP,IAAI;QACJ,MAAM;QACN,OAAO;QACP,SAAS,EAAE,KAAK;QAChB,QAAQ,EAAE,KAAK,EAAE,iDAAiD;QAClE,aAAa;QACb,MAAM;QACN,EAAE,EAAE,SAAS;QACb,IAAI,EAAE,WAAW;QACjB,UAAU,EAAE,UAAU;QACtB,WAAW,EAAE,WAAW;QACxB,IAAI,EAAE,WAAW;KACpB,CAAC;IAEF,IAAI,sBAAsB,EAAE,CAAC;QACzB,IAAI,CAAC,kBAAkB,GAAG,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,IAAI,KAAK,sBAAsB,CAAC,CAAC;IAC1F,CAAC;IAED,MAAM,QAAQ,GAAG,MAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,IAAI,0CAAE,UAAU,CAAC;IAC3C,MAAM,OAAO,GAAG,iBAAiB,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC;IAC9D,IAAI,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,IAAI,KAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC;QACrC,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;IAC1B,CAAC;SAAM,IAAI,WAAW,KAAK,eAAe,CAAC,SAAS,EAAE,CAAC;QACnD,qEAAqE;QACrE,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;IAC1B,CAAC;SAAM,IAAI,QAAQ,EAAE,CAAC;QAClB,kFAAkF;QAClF,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;IAC1B,CAAC;SAAM,IAAI,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,IAAI,EAAE,CAAC;QACvB,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;QACtB,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;IACzB,CAAC;IAED,OAAO,IAAI,CAAC;AAChB,CAAC"}
|