@sitecore-content-sdk/core 1.3.0-canary.9 → 1.4.0-canary.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 +7 -7
- package/dist/cjs/cache-client.js +55 -54
- package/dist/cjs/client/constants.js +7 -7
- package/dist/cjs/client/edge-proxy.js +24 -22
- package/dist/cjs/client/index.js +15 -15
- package/dist/cjs/client/models.js +2 -2
- package/dist/cjs/client/sitecore-client.js +421 -419
- package/dist/cjs/client/utils.js +47 -46
- package/dist/cjs/config/define-config.js +194 -193
- package/dist/cjs/config/index.js +7 -7
- package/dist/cjs/config/models.js +12 -11
- package/dist/cjs/config-cli/define-cli-config.js +23 -22
- package/dist/cjs/config-cli/index.js +7 -7
- package/dist/cjs/config-cli/models.js +8 -7
- package/dist/cjs/constants.js +49 -17
- package/dist/cjs/debug.js +48 -46
- package/dist/cjs/editing/codegen/index.js +14 -9
- package/dist/cjs/editing/codegen/preview.js +277 -193
- package/dist/cjs/editing/component-layout-service.js +62 -61
- package/dist/cjs/editing/design-library.js +183 -126
- package/dist/cjs/editing/editing-service.js +75 -74
- package/dist/cjs/editing/index.js +33 -27
- package/dist/cjs/editing/metadata.js +42 -42
- package/dist/cjs/editing/models.js +44 -38
- package/dist/cjs/editing/utils.js +108 -90
- package/dist/cjs/form/form.js +81 -78
- package/dist/cjs/form/index.js +7 -7
- package/dist/cjs/graphql-request-client.js +108 -107
- package/dist/cjs/i18n/dictionary-service.js +122 -121
- package/dist/cjs/i18n/index.js +7 -7
- package/dist/cjs/i18n/utils.js +16 -15
- package/dist/cjs/index.js +60 -60
- package/dist/cjs/layout/content-styles.js +72 -71
- package/dist/cjs/layout/index.js +24 -24
- package/dist/cjs/layout/layout-service.js +62 -57
- package/dist/cjs/layout/models.js +39 -34
- package/dist/cjs/layout/themes.js +76 -75
- package/dist/cjs/layout/utils.js +117 -110
- package/dist/cjs/media/index.js +38 -38
- package/dist/cjs/media/media-api.js +100 -96
- package/dist/cjs/models.js +2 -2
- package/dist/cjs/native-fetcher.js +194 -179
- package/dist/cjs/personalize/index.js +15 -15
- package/dist/cjs/personalize/layout-personalizer.js +98 -97
- package/dist/cjs/personalize/personalize-service.js +98 -94
- package/dist/cjs/personalize/utils.js +143 -136
- package/dist/cjs/retries.js +43 -42
- package/dist/cjs/site/error-pages-service.js +65 -64
- package/dist/cjs/site/index.js +26 -26
- package/dist/cjs/site/models.js +2 -2
- package/dist/cjs/site/redirects-service.js +94 -81
- package/dist/cjs/site/robots-service.js +66 -65
- package/dist/cjs/site/site-resolver.js +73 -72
- package/dist/cjs/site/siteinfo-service.js +84 -80
- package/dist/cjs/site/sitemap-xml-service.js +84 -83
- package/dist/cjs/site/sitepath-service.js +165 -164
- package/dist/cjs/site/utils.js +55 -47
- package/dist/cjs/sitecore-service-base.js +36 -36
- package/dist/cjs/tools/auth/flow.js +65 -64
- package/dist/cjs/tools/auth/index.js +5 -5
- package/dist/cjs/tools/auth/models.js +2 -2
- package/dist/cjs/tools/auth/tenant-store.js +38 -38
- package/dist/cjs/tools/codegen/component-generation.js +52 -50
- package/dist/cjs/tools/codegen/extract-files.js +105 -107
- package/dist/cjs/tools/codegen/import-map.js +401 -349
- package/dist/cjs/tools/codegen/utils.js +418 -418
- package/dist/cjs/tools/generate-map.js +2 -2
- package/dist/cjs/tools/generateMetadata.js +36 -35
- package/dist/cjs/tools/generateSites.js +59 -58
- package/dist/cjs/tools/index.js +75 -73
- package/dist/cjs/tools/scaffold.js +60 -59
- package/dist/cjs/tools/templating/components.js +96 -266
- package/dist/cjs/tools/templating/index.js +11 -14
- package/dist/cjs/tools/templating/plugins.js +80 -78
- package/dist/cjs/tools/templating/utils.js +67 -66
- package/dist/cjs/utils/ensurePath.js +20 -20
- package/dist/cjs/utils/env.js +28 -27
- package/dist/cjs/utils/globalCache.js +55 -0
- package/dist/cjs/utils/index.js +26 -21
- package/dist/cjs/utils/is-server.js +11 -10
- package/dist/cjs/utils/normalize-url.js +5 -5
- package/dist/cjs/utils/timeout-promise.js +31 -31
- package/dist/cjs/utils/utils.js +254 -229
- package/dist/esm/cache-client.js +51 -50
- package/dist/esm/client/constants.js +4 -4
- package/dist/esm/client/edge-proxy.js +19 -17
- package/dist/esm/client/index.js +5 -5
- package/dist/esm/client/models.js +1 -1
- package/dist/esm/client/sitecore-client.js +414 -412
- package/dist/esm/client/utils.js +43 -42
- package/dist/esm/config/define-config.js +188 -187
- package/dist/esm/config/index.js +2 -2
- package/dist/esm/config/models.js +9 -8
- package/dist/esm/config-cli/define-cli-config.js +19 -18
- package/dist/esm/config-cli/index.js +2 -2
- package/dist/esm/config-cli/models.js +5 -4
- package/dist/esm/constants.js +46 -14
- package/dist/esm/debug.js +41 -39
- package/dist/esm/editing/codegen/index.js +1 -1
- package/dist/esm/editing/codegen/preview.js +263 -185
- package/dist/esm/editing/component-layout-service.js +55 -54
- package/dist/esm/editing/design-library.js +171 -117
- package/dist/esm/editing/editing-service.js +68 -67
- package/dist/esm/editing/index.js +6 -5
- package/dist/esm/editing/metadata.js +39 -39
- package/dist/esm/editing/models.js +41 -35
- package/dist/esm/editing/utils.js +98 -80
- package/dist/esm/form/form.js +72 -69
- package/dist/esm/form/index.js +1 -1
- package/dist/esm/graphql-request-client.js +101 -100
- package/dist/esm/i18n/dictionary-service.js +115 -114
- package/dist/esm/i18n/index.js +2 -2
- package/dist/esm/i18n/utils.js +13 -12
- package/dist/esm/index.js +13 -13
- package/dist/esm/layout/content-styles.js +64 -63
- package/dist/esm/layout/index.js +6 -6
- package/dist/esm/layout/layout-service.js +55 -50
- package/dist/esm/layout/models.js +36 -31
- package/dist/esm/layout/themes.js +71 -70
- package/dist/esm/layout/utils.js +109 -102
- package/dist/esm/media/index.js +2 -2
- package/dist/esm/media/media-api.js +90 -86
- package/dist/esm/models.js +1 -1
- package/dist/esm/native-fetcher.js +187 -172
- package/dist/esm/personalize/index.js +3 -3
- package/dist/esm/personalize/layout-personalizer.js +93 -92
- package/dist/esm/personalize/personalize-service.js +91 -87
- package/dist/esm/personalize/utils.js +135 -128
- package/dist/esm/retries.js +39 -38
- package/dist/esm/site/error-pages-service.js +58 -57
- package/dist/esm/site/index.js +8 -8
- package/dist/esm/site/models.js +1 -1
- package/dist/esm/site/redirects-service.js +87 -74
- package/dist/esm/site/robots-service.js +59 -58
- package/dist/esm/site/site-resolver.js +69 -68
- package/dist/esm/site/siteinfo-service.js +77 -73
- package/dist/esm/site/sitemap-xml-service.js +77 -76
- package/dist/esm/site/sitepath-service.js +157 -156
- package/dist/esm/site/utils.js +49 -41
- package/dist/esm/sitecore-service-base.js +29 -29
- package/dist/esm/tools/auth/flow.js +62 -61
- package/dist/esm/tools/auth/index.js +1 -1
- package/dist/esm/tools/auth/models.js +1 -1
- package/dist/esm/tools/auth/tenant-store.js +35 -35
- package/dist/esm/tools/codegen/component-generation.js +44 -42
- package/dist/esm/tools/codegen/extract-files.js +99 -101
- package/dist/esm/tools/codegen/import-map.js +358 -306
- package/dist/esm/tools/codegen/utils.js +373 -373
- package/dist/esm/tools/generate-map.js +1 -1
- package/dist/esm/tools/generateMetadata.js +29 -28
- package/dist/esm/tools/generateSites.js +52 -51
- package/dist/esm/tools/index.js +28 -27
- package/dist/esm/tools/scaffold.js +52 -51
- package/dist/esm/tools/templating/components.js +59 -223
- package/dist/esm/tools/templating/index.js +3 -3
- package/dist/esm/tools/templating/plugins.js +72 -70
- package/dist/esm/tools/templating/utils.js +59 -58
- package/dist/esm/utils/ensurePath.js +13 -13
- package/dist/esm/utils/env.js +24 -23
- package/dist/esm/utils/globalCache.js +49 -0
- package/dist/esm/utils/index.js +4 -3
- package/dist/esm/utils/is-server.js +9 -8
- package/dist/esm/utils/normalize-url.js +1 -1
- package/dist/esm/utils/timeout-promise.js +28 -28
- package/dist/esm/utils/utils.js +238 -213
- package/package.json +73 -5
- package/types/cache-client.d.ts +68 -64
- package/types/cache-client.d.ts.map +1 -0
- package/types/client/constants.d.ts +5 -4
- package/types/client/constants.d.ts.map +1 -0
- package/types/client/edge-proxy.d.ts +18 -15
- package/types/client/edge-proxy.d.ts.map +1 -0
- package/types/client/index.d.ts +8 -7
- package/types/client/index.d.ts.map +1 -0
- package/types/client/models.d.ts +21 -19
- package/types/client/models.d.ts.map +1 -0
- package/types/client/sitecore-client.d.ts +338 -327
- package/types/client/sitecore-client.d.ts.map +1 -0
- package/types/client/utils.d.ts +15 -9
- package/types/client/utils.d.ts.map +1 -0
- package/types/config/define-config.d.ts +20 -18
- package/types/config/define-config.d.ts.map +1 -0
- package/types/config/index.d.ts +3 -2
- package/types/config/index.d.ts.map +1 -0
- package/types/config/models.d.ts +287 -268
- package/types/config/models.d.ts.map +1 -0
- package/types/config-cli/define-cli-config.d.ts +9 -7
- package/types/config-cli/define-cli-config.d.ts.map +1 -0
- package/types/config-cli/index.d.ts +3 -2
- package/types/config-cli/index.d.ts.map +1 -0
- package/types/config-cli/models.d.ts +6 -4
- package/types/config-cli/models.d.ts.map +1 -0
- package/types/constants.d.ts +44 -11
- package/types/constants.d.ts.map +1 -0
- package/types/debug.d.ts +35 -28
- package/types/debug.d.ts.map +1 -0
- package/types/editing/codegen/index.d.ts +2 -1
- package/types/editing/codegen/index.d.ts.map +1 -0
- package/types/editing/codegen/preview.d.ts +256 -195
- package/types/editing/codegen/preview.d.ts.map +1 -0
- package/types/editing/component-layout-service.d.ts +84 -80
- package/types/editing/component-layout-service.d.ts.map +1 -0
- package/types/editing/design-library.d.ts +111 -63
- package/types/editing/design-library.d.ts.map +1 -0
- package/types/editing/editing-service.d.ts +72 -62
- package/types/editing/editing-service.d.ts.map +1 -0
- package/types/editing/index.d.ts +7 -6
- package/types/editing/index.d.ts.map +1 -0
- package/types/editing/metadata.d.ts +8 -7
- package/types/editing/metadata.d.ts.map +1 -0
- package/types/editing/models.d.ts +103 -92
- package/types/editing/models.d.ts.map +1 -0
- package/types/editing/utils.d.ts +91 -74
- package/types/editing/utils.d.ts.map +1 -0
- package/types/form/form.d.ts +25 -21
- package/types/form/form.d.ts.map +1 -0
- package/types/form/index.d.ts +2 -1
- package/types/form/index.d.ts.map +1 -0
- package/types/graphql-request-client.d.ts +112 -105
- package/types/graphql-request-client.d.ts.map +1 -0
- package/types/i18n/dictionary-service.d.ts +135 -131
- package/types/i18n/dictionary-service.d.ts.map +1 -0
- package/types/i18n/index.d.ts +3 -2
- package/types/i18n/index.d.ts.map +1 -0
- package/types/i18n/utils.d.ts +9 -7
- package/types/i18n/utils.d.ts.map +1 -0
- package/types/index.d.ts +13 -12
- package/types/index.d.ts.map +1 -0
- package/types/layout/content-styles.d.ts +20 -18
- package/types/layout/content-styles.d.ts.map +1 -0
- package/types/layout/index.d.ts +6 -5
- package/types/layout/index.d.ts.map +1 -0
- package/types/layout/layout-service.d.ts +45 -35
- package/types/layout/layout-service.d.ts.map +1 -0
- package/types/layout/models.d.ts +174 -151
- package/types/layout/models.d.ts.map +1 -0
- package/types/layout/themes.d.ts +13 -11
- package/types/layout/themes.d.ts.map +1 -0
- package/types/layout/utils.d.ts +56 -41
- package/types/layout/utils.d.ts.map +1 -0
- package/types/media/index.d.ts +3 -2
- package/types/media/index.d.ts.map +1 -0
- package/types/media/media-api.d.ts +60 -55
- package/types/media/media-api.d.ts.map +1 -0
- package/types/models.d.ts +94 -84
- package/types/models.d.ts.map +1 -0
- package/types/native-fetcher.d.ts +124 -114
- package/types/native-fetcher.d.ts.map +1 -0
- package/types/personalize/index.d.ts +4 -3
- package/types/personalize/index.d.ts.map +1 -0
- package/types/personalize/layout-personalizer.d.ts +29 -27
- package/types/personalize/layout-personalizer.d.ts.map +1 -0
- package/types/personalize/personalize-service.d.ts +90 -80
- package/types/personalize/personalize-service.d.ts.map +1 -0
- package/types/personalize/utils.d.ts +78 -69
- package/types/personalize/utils.d.ts.map +1 -0
- package/types/retries.d.ts +26 -24
- package/types/retries.d.ts.map +1 -0
- package/types/site/error-pages-service.d.ts +64 -57
- package/types/site/error-pages-service.d.ts.map +1 -0
- package/types/site/index.d.ts +10 -9
- package/types/site/index.d.ts.map +1 -0
- package/types/site/models.d.ts +23 -18
- package/types/site/models.d.ts.map +1 -0
- package/types/site/redirects-service.d.ts +92 -69
- package/types/site/redirects-service.d.ts.map +1 -0
- package/types/site/robots-service.d.ts +57 -50
- package/types/site/robots-service.d.ts.map +1 -0
- package/types/site/site-resolver.d.ts +28 -26
- package/types/site/site-resolver.d.ts.map +1 -0
- package/types/site/siteinfo-service.d.ts +65 -52
- package/types/site/siteinfo-service.d.ts.map +1 -0
- package/types/site/sitemap-xml-service.d.ts +63 -56
- package/types/site/sitemap-xml-service.d.ts.map +1 -0
- package/types/site/sitepath-service.d.ts +137 -134
- package/types/site/sitepath-service.d.ts.map +1 -0
- package/types/site/utils.d.ts +41 -28
- package/types/site/utils.d.ts.map +1 -0
- package/types/sitecore-service-base.d.ts +31 -30
- package/types/sitecore-service-base.d.ts.map +1 -0
- package/types/tools/auth/flow.d.ts +29 -27
- package/types/tools/auth/flow.d.ts.map +1 -0
- package/types/tools/auth/index.d.ts +2 -1
- package/types/tools/auth/index.d.ts.map +1 -0
- package/types/tools/auth/models.d.ts +35 -33
- package/types/tools/auth/models.d.ts.map +1 -0
- package/types/tools/auth/tenant-store.d.ts +12 -11
- package/types/tools/auth/tenant-store.d.ts.map +1 -0
- package/types/tools/codegen/component-generation.d.ts +50 -47
- package/types/tools/codegen/component-generation.d.ts.map +1 -0
- package/types/tools/codegen/extract-files.d.ts +24 -22
- package/types/tools/codegen/extract-files.d.ts.map +1 -0
- package/types/tools/codegen/import-map.d.ts +103 -70
- package/types/tools/codegen/import-map.d.ts.map +1 -0
- package/types/tools/codegen/utils.d.ts +76 -75
- package/types/tools/codegen/utils.d.ts.map +1 -0
- package/types/tools/generate-map.d.ts +36 -26
- package/types/tools/generate-map.d.ts.map +1 -0
- package/types/tools/generateMetadata.d.ts +24 -22
- package/types/tools/generateMetadata.d.ts.map +1 -0
- package/types/tools/generateSites.d.ts +25 -22
- package/types/tools/generateSites.d.ts.map +1 -0
- package/types/tools/index.d.ts +22 -20
- package/types/tools/index.d.ts.map +1 -0
- package/types/tools/scaffold.d.ts +27 -25
- package/types/tools/scaffold.d.ts.map +1 -0
- package/types/tools/templating/components.d.ts +104 -103
- package/types/tools/templating/components.d.ts.map +1 -0
- package/types/tools/templating/index.d.ts +4 -3
- package/types/tools/templating/index.d.ts.map +1 -0
- package/types/tools/templating/plugins.d.ts +71 -67
- package/types/tools/templating/plugins.d.ts.map +1 -0
- package/types/tools/templating/utils.d.ts +42 -40
- package/types/tools/templating/utils.d.ts.map +1 -0
- package/types/utils/ensurePath.d.ts +7 -6
- package/types/utils/ensurePath.d.ts.map +1 -0
- package/types/utils/env.d.ts +9 -7
- package/types/utils/env.d.ts.map +1 -0
- package/types/utils/globalCache.d.ts +37 -0
- package/types/utils/globalCache.d.ts.map +1 -0
- package/types/utils/index.d.ts +5 -3
- package/types/utils/index.d.ts.map +1 -0
- package/types/utils/is-server.d.ts +8 -6
- package/types/utils/is-server.d.ts.map +1 -0
- package/types/utils/normalize-url.d.ts +2 -1
- package/types/utils/normalize-url.d.ts.map +1 -0
- package/types/utils/timeout-promise.d.ts +18 -17
- package/types/utils/timeout-promise.d.ts.map +1 -0
- package/types/utils/utils.d.ts +104 -79
- package/types/utils/utils.d.ts.map +1 -0
- package/client.js +0 -1
- package/codegen.js +0 -1
- package/config-cli.js +0 -1
- package/config.js +0 -1
- package/editing.js +0 -1
- package/i18n.js +0 -1
- package/layout.js +0 -1
- package/media.js +0 -1
- package/personalize.js +0 -1
- package/site.js +0 -1
- package/tools.js +0 -1
- package/utils.js +0 -1
|
@@ -1,29 +1,29 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.SitePathService = exports.sitesError = exports.siteError = exports.languageError = void 0;
|
|
7
|
-
exports.getSiteEmptyError = getSiteEmptyError;
|
|
8
|
-
const debug_1 = __importDefault(require("../debug"));
|
|
9
|
-
const personalize_1 = require("../personalize");
|
|
10
|
-
const site_1 = require("../site");
|
|
11
|
-
/** @private */
|
|
12
|
-
exports.languageError = 'The list of languages cannot be empty';
|
|
13
|
-
exports.siteError = 'The service needs a site name';
|
|
14
|
-
exports.sitesError = 'The list of sites cannot be empty';
|
|
15
|
-
/**
|
|
16
|
-
* @param {string} siteName to inject into error text
|
|
17
|
-
* @private
|
|
18
|
-
*/
|
|
19
|
-
function getSiteEmptyError(siteName) {
|
|
20
|
-
return `Site "${siteName}" does not exist or site item tree is missing`;
|
|
21
|
-
}
|
|
22
|
-
/**
|
|
23
|
-
* GQL query made dynamic based whether personalization is enabled or not
|
|
24
|
-
* @param {boolean} usesPersonalize flag to detrmine which variation of a query to run
|
|
25
|
-
* @returns GraphQL query to fetch site paths with
|
|
26
|
-
*/
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.SitePathService = exports.sitesError = exports.siteError = exports.languageError = void 0;
|
|
7
|
+
exports.getSiteEmptyError = getSiteEmptyError;
|
|
8
|
+
const debug_1 = __importDefault(require("../debug"));
|
|
9
|
+
const personalize_1 = require("../personalize");
|
|
10
|
+
const site_1 = require("../site");
|
|
11
|
+
/** @private */
|
|
12
|
+
exports.languageError = 'The list of languages cannot be empty';
|
|
13
|
+
exports.siteError = 'The service needs a site name';
|
|
14
|
+
exports.sitesError = 'The list of sites cannot be empty';
|
|
15
|
+
/**
|
|
16
|
+
* @param {string} siteName to inject into error text
|
|
17
|
+
* @private
|
|
18
|
+
*/
|
|
19
|
+
function getSiteEmptyError(siteName) {
|
|
20
|
+
return `Site "${siteName}" does not exist or site item tree is missing`;
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* GQL query made dynamic based whether personalization is enabled or not
|
|
24
|
+
* @param {boolean} usesPersonalize flag to detrmine which variation of a query to run
|
|
25
|
+
* @returns GraphQL query to fetch site paths with
|
|
26
|
+
*/
|
|
27
27
|
const defaultQuery = (usesPersonalize) => /* GraphQL */ `
|
|
28
28
|
query ${usesPersonalize ? 'PersonalizeSitemapQuery' : 'DefaultSitemapQuery'}(
|
|
29
29
|
$siteName: String!
|
|
@@ -49,152 +49,153 @@ query ${usesPersonalize ? 'PersonalizeSitemapQuery' : 'DefaultSitemapQuery'}(
|
|
|
49
49
|
}
|
|
50
50
|
results {
|
|
51
51
|
path: routePath
|
|
52
|
-
${usesPersonalize
|
|
52
|
+
${usesPersonalize
|
|
53
53
|
? `
|
|
54
54
|
route {
|
|
55
55
|
personalization {
|
|
56
56
|
variantIds
|
|
57
57
|
}
|
|
58
|
-
}`
|
|
58
|
+
}`
|
|
59
59
|
: ''}
|
|
60
60
|
}
|
|
61
61
|
}
|
|
62
62
|
}
|
|
63
63
|
}
|
|
64
64
|
}
|
|
65
|
-
`;
|
|
66
|
-
/**
|
|
67
|
-
* Service that fetches the list of site pages using Sitecore's GraphQL API.
|
|
68
|
-
* Used to handle a single site
|
|
69
|
-
* This list is used for SSG and Export functionality.
|
|
70
|
-
* @mixes SearchQueryService<PageListQueryResult>
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
*
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
this.
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
*
|
|
96
|
-
*
|
|
97
|
-
* @param {string[]}
|
|
98
|
-
* @param {
|
|
99
|
-
* @
|
|
100
|
-
* @
|
|
101
|
-
* @throws {RangeError} if the
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
const
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
.
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
)
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
*
|
|
150
|
-
*
|
|
151
|
-
*
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
*
|
|
164
|
-
* @param {string}
|
|
165
|
-
* @param {
|
|
166
|
-
* @
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
let
|
|
179
|
-
let
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
}
|
|
200
|
-
|
|
65
|
+
`;
|
|
66
|
+
/**
|
|
67
|
+
* Service that fetches the list of site pages using Sitecore's GraphQL API.
|
|
68
|
+
* Used to handle a single site
|
|
69
|
+
* This list is used for SSG and Export functionality.
|
|
70
|
+
* @mixes SearchQueryService<PageListQueryResult>
|
|
71
|
+
* @public
|
|
72
|
+
*/
|
|
73
|
+
class SitePathService {
|
|
74
|
+
/**
|
|
75
|
+
* Creates an instance of graphQL sitemap service with the provided options
|
|
76
|
+
* @param {SitePathServiceConfig} options instance
|
|
77
|
+
*/
|
|
78
|
+
constructor(options) {
|
|
79
|
+
this.options = options;
|
|
80
|
+
this._graphQLClient = this.getGraphQLClient();
|
|
81
|
+
}
|
|
82
|
+
/**
|
|
83
|
+
* GraphQL client accessible by descendant classes when needed
|
|
84
|
+
*/
|
|
85
|
+
get graphQLClient() {
|
|
86
|
+
return this._graphQLClient;
|
|
87
|
+
}
|
|
88
|
+
/**
|
|
89
|
+
* Gets the default query used for fetching the list of site pages
|
|
90
|
+
*/
|
|
91
|
+
get query() {
|
|
92
|
+
return defaultQuery(this.options.includePersonalizedRoutes);
|
|
93
|
+
}
|
|
94
|
+
/**
|
|
95
|
+
* Fetch a flat list of all pages that belong to all the requested sites and have a
|
|
96
|
+
* version in the specified language(s).
|
|
97
|
+
* @param {string[]} sites Fetch pages for these sites.
|
|
98
|
+
* @param {string[]} languages Fetch pages that have versions in this language(s).
|
|
99
|
+
* @param {FetchOptions} fetchOptions Options to override graphQL client details like retries and fetch implementation
|
|
100
|
+
* @returns list of pages
|
|
101
|
+
* @throws {RangeError} if the list of languages is empty.
|
|
102
|
+
* @throws {RangeError} if the any of the languages is an empty string.
|
|
103
|
+
*/
|
|
104
|
+
async fetchSiteRoutes(sites, languages, fetchOptions) {
|
|
105
|
+
const formatPath = (path, locale) => ({
|
|
106
|
+
params: {
|
|
107
|
+
path,
|
|
108
|
+
},
|
|
109
|
+
locale,
|
|
110
|
+
});
|
|
111
|
+
const paths = new Array();
|
|
112
|
+
if (!languages.length) {
|
|
113
|
+
throw new RangeError(exports.languageError);
|
|
114
|
+
}
|
|
115
|
+
// Get all sites
|
|
116
|
+
if (!sites || !sites.length) {
|
|
117
|
+
throw new RangeError(exports.sitesError);
|
|
118
|
+
}
|
|
119
|
+
// Fetch paths for each site
|
|
120
|
+
for (let i = 0; i < sites.length; i++) {
|
|
121
|
+
for (const language of languages) {
|
|
122
|
+
// Fetch paths using all locales
|
|
123
|
+
const sitePaths = await this.fetchLanguageSitePaths(language, sites[i], fetchOptions);
|
|
124
|
+
const transformedPaths = await this.transformLanguageSitePaths(sitePaths, formatPath, language);
|
|
125
|
+
paths.push(...transformedPaths);
|
|
126
|
+
}
|
|
127
|
+
}
|
|
128
|
+
return [].concat(...paths);
|
|
129
|
+
}
|
|
130
|
+
async transformLanguageSitePaths(sitePaths, formatStaticPath, language) {
|
|
131
|
+
const toSegments = (p) => decodeURI(p)
|
|
132
|
+
.replace(/^\/|\/$/g, '')
|
|
133
|
+
.split('/');
|
|
134
|
+
const aggregatedPaths = [];
|
|
135
|
+
sitePaths.forEach((item) => {
|
|
136
|
+
var _a, _b, _c;
|
|
137
|
+
if (!item)
|
|
138
|
+
return;
|
|
139
|
+
aggregatedPaths.push(formatStaticPath(toSegments(item.path), language));
|
|
140
|
+
const variantIds = (_c = (_b = (_a = item.route) === null || _a === void 0 ? void 0 : _a.personalization) === null || _b === void 0 ? void 0 : _b.variantIds) === null || _c === void 0 ? void 0 : _c.filter((variantId) => !variantId.includes('_') // exclude component A/B test
|
|
141
|
+
);
|
|
142
|
+
if (variantIds === null || variantIds === void 0 ? void 0 : variantIds.length) {
|
|
143
|
+
aggregatedPaths.push(...variantIds.map((varId) => formatStaticPath(toSegments((0, personalize_1.getPersonalizedRewrite)(item.path, [varId])), language)));
|
|
144
|
+
}
|
|
145
|
+
});
|
|
146
|
+
return aggregatedPaths;
|
|
147
|
+
}
|
|
148
|
+
/**
|
|
149
|
+
* Gets a GraphQL client that can make requests to the API. Uses graphql-request as the default
|
|
150
|
+
* library for fetching graphql data (@see GraphQLRequestClient). Override this method if you
|
|
151
|
+
* want to use something else.
|
|
152
|
+
* @returns {GraphQLClient} implementation
|
|
153
|
+
*/
|
|
154
|
+
getGraphQLClient() {
|
|
155
|
+
if (!this.options.clientFactory) {
|
|
156
|
+
throw new Error('clientFactory needs to be provided when initializing GraphQL client.');
|
|
157
|
+
}
|
|
158
|
+
return this.options.clientFactory({
|
|
159
|
+
debugger: debug_1.default.sitemap,
|
|
160
|
+
});
|
|
161
|
+
}
|
|
162
|
+
/**
|
|
163
|
+
* Fetch and return site paths for multisite implementation, with prefixes included
|
|
164
|
+
* @param {string} language path language
|
|
165
|
+
* @param {string} siteName site name
|
|
166
|
+
* @param {FetchOptions} fetchOptions Options to override graphQL client details like retries and fetch implementation
|
|
167
|
+
* @returns modified paths
|
|
168
|
+
*/
|
|
169
|
+
async fetchLanguageSitePaths(language, siteName, fetchOptions) {
|
|
170
|
+
var _a, _b, _c, _d;
|
|
171
|
+
const args = {
|
|
172
|
+
siteName: siteName,
|
|
173
|
+
language: language,
|
|
174
|
+
pageSize: this.options.pageSize,
|
|
175
|
+
includedPaths: this.options.includedPaths,
|
|
176
|
+
excludedPaths: this.options.excludedPaths,
|
|
177
|
+
};
|
|
178
|
+
let results = [];
|
|
179
|
+
let hasNext = true;
|
|
180
|
+
let after = '';
|
|
181
|
+
debug_1.default.sitemap('fetching sitemap data for %s %s', language, siteName);
|
|
182
|
+
while (hasNext) {
|
|
183
|
+
const fetchResponse = await this.graphQLClient.request(this.query, Object.assign(Object.assign({}, args), { after }), fetchOptions);
|
|
184
|
+
if (!((_a = fetchResponse === null || fetchResponse === void 0 ? void 0 : fetchResponse.site) === null || _a === void 0 ? void 0 : _a.siteInfo)) {
|
|
185
|
+
throw new RangeError(getSiteEmptyError(siteName));
|
|
186
|
+
}
|
|
187
|
+
else {
|
|
188
|
+
results = results.concat((_b = fetchResponse.site.siteInfo.routes) === null || _b === void 0 ? void 0 : _b.results);
|
|
189
|
+
hasNext = (_c = fetchResponse.site.siteInfo.routes) === null || _c === void 0 ? void 0 : _c.pageInfo.hasNext;
|
|
190
|
+
after = (_d = fetchResponse.site.siteInfo.routes) === null || _d === void 0 ? void 0 : _d.pageInfo.endCursor;
|
|
191
|
+
}
|
|
192
|
+
}
|
|
193
|
+
results.forEach((item) => {
|
|
194
|
+
if (item) {
|
|
195
|
+
item.path = (0, site_1.getSiteRewrite)(item.path, { siteName: siteName });
|
|
196
|
+
}
|
|
197
|
+
});
|
|
198
|
+
return results;
|
|
199
|
+
}
|
|
200
|
+
}
|
|
201
|
+
exports.SitePathService = SitePathService;
|
package/dist/cjs/site/utils.js
CHANGED
|
@@ -1,47 +1,55 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.SITE_KEY = exports.SITE_PREFIX = void 0;
|
|
4
|
-
exports.getSiteRewrite = getSiteRewrite;
|
|
5
|
-
exports.getSiteRewriteData = getSiteRewriteData;
|
|
6
|
-
exports.normalizeSiteRewrite = normalizeSiteRewrite;
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
*
|
|
10
|
-
*/
|
|
11
|
-
exports.
|
|
12
|
-
/**
|
|
13
|
-
*
|
|
14
|
-
* @
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
}
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
}
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.SITE_KEY = exports.SITE_PREFIX = void 0;
|
|
4
|
+
exports.getSiteRewrite = getSiteRewrite;
|
|
5
|
+
exports.getSiteRewriteData = getSiteRewriteData;
|
|
6
|
+
exports.normalizeSiteRewrite = normalizeSiteRewrite;
|
|
7
|
+
/**
|
|
8
|
+
* Site prefix for rewrite path
|
|
9
|
+
* @public
|
|
10
|
+
*/
|
|
11
|
+
exports.SITE_PREFIX = '_site_';
|
|
12
|
+
/**
|
|
13
|
+
* Site key for cookie and query string parameter access
|
|
14
|
+
* @public
|
|
15
|
+
*/
|
|
16
|
+
exports.SITE_KEY = 'sc_site';
|
|
17
|
+
/**
|
|
18
|
+
* Get a site rewrite path for given pathname
|
|
19
|
+
* @param {string} pathname the pathname
|
|
20
|
+
* @param {SiteRewriteData} data the site data to include in the rewrite
|
|
21
|
+
* @returns {string} the rewrite path
|
|
22
|
+
* @public
|
|
23
|
+
*/
|
|
24
|
+
function getSiteRewrite(pathname, data) {
|
|
25
|
+
const path = pathname.startsWith('/') ? pathname : '/' + pathname;
|
|
26
|
+
return `/${exports.SITE_PREFIX}${data.siteName}${path}`;
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* Get site data from the rewrite path
|
|
30
|
+
* @param {string} pathname the pathname
|
|
31
|
+
* @param {string} defaultSiteName the default site name
|
|
32
|
+
* @returns {SiteRewriteData} the site data from the rewrite
|
|
33
|
+
* @public
|
|
34
|
+
*/
|
|
35
|
+
function getSiteRewriteData(pathname, defaultSiteName) {
|
|
36
|
+
const data = {
|
|
37
|
+
siteName: defaultSiteName,
|
|
38
|
+
};
|
|
39
|
+
const path = pathname.endsWith('/') ? pathname : pathname + '/';
|
|
40
|
+
const result = path.match(`${exports.SITE_PREFIX}(.*?)\\/`);
|
|
41
|
+
if (result && result[1] !== '') {
|
|
42
|
+
data.siteName = result[1];
|
|
43
|
+
}
|
|
44
|
+
return data;
|
|
45
|
+
}
|
|
46
|
+
/**
|
|
47
|
+
* Normalize a site rewrite path (remove site data)
|
|
48
|
+
* @param {string} pathname the pathname
|
|
49
|
+
* @returns {string} the pathname with site data removed
|
|
50
|
+
* @public
|
|
51
|
+
*/
|
|
52
|
+
function normalizeSiteRewrite(pathname) {
|
|
53
|
+
const result = pathname.match(`${exports.SITE_PREFIX}.*?(?:\\/|$)`);
|
|
54
|
+
return result === null ? pathname : pathname.replace(result[0], '');
|
|
55
|
+
}
|
|
@@ -1,36 +1,36 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.SitecoreServiceBase = void 0;
|
|
7
|
-
const debug_1 = __importDefault(require("./debug"));
|
|
8
|
-
/**
|
|
9
|
-
* Base abstraction to implement custom layout service
|
|
10
|
-
*/
|
|
11
|
-
class SitecoreServiceBase {
|
|
12
|
-
/**
|
|
13
|
-
* Fetch layout data using the Sitecore GraphQL endpoint.
|
|
14
|
-
* @param {GraphQLServiceConfig} serviceConfig configuration
|
|
15
|
-
*/
|
|
16
|
-
constructor(serviceConfig) {
|
|
17
|
-
this.serviceConfig = serviceConfig;
|
|
18
|
-
this.graphQLClient = this.getGraphQLClient();
|
|
19
|
-
}
|
|
20
|
-
/**
|
|
21
|
-
* Gets a GraphQL client that can make requests to the API.
|
|
22
|
-
* @returns {GraphQLClient} implementation
|
|
23
|
-
*/
|
|
24
|
-
getGraphQLClient() {
|
|
25
|
-
var _a, _b;
|
|
26
|
-
if (!this.serviceConfig.clientFactory) {
|
|
27
|
-
throw new Error('clientFactory needs to be provided when initializing GraphQL client.');
|
|
28
|
-
}
|
|
29
|
-
return this.serviceConfig.clientFactory({
|
|
30
|
-
debugger: this.serviceConfig.debugger || debug_1.default.http,
|
|
31
|
-
retries: (_a = this.serviceConfig.retries) === null || _a === void 0 ? void 0 : _a.count,
|
|
32
|
-
retryStrategy: (_b = this.serviceConfig.retries) === null || _b === void 0 ? void 0 : _b.retryStrategy,
|
|
33
|
-
});
|
|
34
|
-
}
|
|
35
|
-
}
|
|
36
|
-
exports.SitecoreServiceBase = SitecoreServiceBase;
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.SitecoreServiceBase = void 0;
|
|
7
|
+
const debug_1 = __importDefault(require("./debug"));
|
|
8
|
+
/**
|
|
9
|
+
* Base abstraction to implement custom layout service
|
|
10
|
+
*/
|
|
11
|
+
class SitecoreServiceBase {
|
|
12
|
+
/**
|
|
13
|
+
* Fetch layout data using the Sitecore GraphQL endpoint.
|
|
14
|
+
* @param {GraphQLServiceConfig} serviceConfig configuration
|
|
15
|
+
*/
|
|
16
|
+
constructor(serviceConfig) {
|
|
17
|
+
this.serviceConfig = serviceConfig;
|
|
18
|
+
this.graphQLClient = this.getGraphQLClient();
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* Gets a GraphQL client that can make requests to the API.
|
|
22
|
+
* @returns {GraphQLClient} implementation
|
|
23
|
+
*/
|
|
24
|
+
getGraphQLClient() {
|
|
25
|
+
var _a, _b;
|
|
26
|
+
if (!this.serviceConfig.clientFactory) {
|
|
27
|
+
throw new Error('clientFactory needs to be provided when initializing GraphQL client.');
|
|
28
|
+
}
|
|
29
|
+
return this.serviceConfig.clientFactory({
|
|
30
|
+
debugger: this.serviceConfig.debugger || debug_1.default.http,
|
|
31
|
+
retries: (_a = this.serviceConfig.retries) === null || _a === void 0 ? void 0 : _a.count,
|
|
32
|
+
retryStrategy: (_b = this.serviceConfig.retries) === null || _b === void 0 ? void 0 : _b.retryStrategy,
|
|
33
|
+
});
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
exports.SitecoreServiceBase = SitecoreServiceBase;
|