@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.
Files changed (342) hide show
  1. package/README.md +7 -7
  2. package/dist/cjs/cache-client.js +55 -54
  3. package/dist/cjs/client/constants.js +7 -7
  4. package/dist/cjs/client/edge-proxy.js +24 -22
  5. package/dist/cjs/client/index.js +15 -15
  6. package/dist/cjs/client/models.js +2 -2
  7. package/dist/cjs/client/sitecore-client.js +421 -419
  8. package/dist/cjs/client/utils.js +47 -46
  9. package/dist/cjs/config/define-config.js +194 -193
  10. package/dist/cjs/config/index.js +7 -7
  11. package/dist/cjs/config/models.js +12 -11
  12. package/dist/cjs/config-cli/define-cli-config.js +23 -22
  13. package/dist/cjs/config-cli/index.js +7 -7
  14. package/dist/cjs/config-cli/models.js +8 -7
  15. package/dist/cjs/constants.js +49 -17
  16. package/dist/cjs/debug.js +48 -46
  17. package/dist/cjs/editing/codegen/index.js +14 -9
  18. package/dist/cjs/editing/codegen/preview.js +277 -193
  19. package/dist/cjs/editing/component-layout-service.js +62 -61
  20. package/dist/cjs/editing/design-library.js +183 -126
  21. package/dist/cjs/editing/editing-service.js +75 -74
  22. package/dist/cjs/editing/index.js +33 -27
  23. package/dist/cjs/editing/metadata.js +42 -42
  24. package/dist/cjs/editing/models.js +44 -38
  25. package/dist/cjs/editing/utils.js +108 -90
  26. package/dist/cjs/form/form.js +81 -78
  27. package/dist/cjs/form/index.js +7 -7
  28. package/dist/cjs/graphql-request-client.js +108 -107
  29. package/dist/cjs/i18n/dictionary-service.js +122 -121
  30. package/dist/cjs/i18n/index.js +7 -7
  31. package/dist/cjs/i18n/utils.js +16 -15
  32. package/dist/cjs/index.js +60 -60
  33. package/dist/cjs/layout/content-styles.js +72 -71
  34. package/dist/cjs/layout/index.js +24 -24
  35. package/dist/cjs/layout/layout-service.js +62 -57
  36. package/dist/cjs/layout/models.js +39 -34
  37. package/dist/cjs/layout/themes.js +76 -75
  38. package/dist/cjs/layout/utils.js +117 -110
  39. package/dist/cjs/media/index.js +38 -38
  40. package/dist/cjs/media/media-api.js +100 -96
  41. package/dist/cjs/models.js +2 -2
  42. package/dist/cjs/native-fetcher.js +194 -179
  43. package/dist/cjs/personalize/index.js +15 -15
  44. package/dist/cjs/personalize/layout-personalizer.js +98 -97
  45. package/dist/cjs/personalize/personalize-service.js +98 -94
  46. package/dist/cjs/personalize/utils.js +143 -136
  47. package/dist/cjs/retries.js +43 -42
  48. package/dist/cjs/site/error-pages-service.js +65 -64
  49. package/dist/cjs/site/index.js +26 -26
  50. package/dist/cjs/site/models.js +2 -2
  51. package/dist/cjs/site/redirects-service.js +94 -81
  52. package/dist/cjs/site/robots-service.js +66 -65
  53. package/dist/cjs/site/site-resolver.js +73 -72
  54. package/dist/cjs/site/siteinfo-service.js +84 -80
  55. package/dist/cjs/site/sitemap-xml-service.js +84 -83
  56. package/dist/cjs/site/sitepath-service.js +165 -164
  57. package/dist/cjs/site/utils.js +55 -47
  58. package/dist/cjs/sitecore-service-base.js +36 -36
  59. package/dist/cjs/tools/auth/flow.js +65 -64
  60. package/dist/cjs/tools/auth/index.js +5 -5
  61. package/dist/cjs/tools/auth/models.js +2 -2
  62. package/dist/cjs/tools/auth/tenant-store.js +38 -38
  63. package/dist/cjs/tools/codegen/component-generation.js +52 -50
  64. package/dist/cjs/tools/codegen/extract-files.js +105 -107
  65. package/dist/cjs/tools/codegen/import-map.js +401 -349
  66. package/dist/cjs/tools/codegen/utils.js +418 -418
  67. package/dist/cjs/tools/generate-map.js +2 -2
  68. package/dist/cjs/tools/generateMetadata.js +36 -35
  69. package/dist/cjs/tools/generateSites.js +59 -58
  70. package/dist/cjs/tools/index.js +75 -73
  71. package/dist/cjs/tools/scaffold.js +60 -59
  72. package/dist/cjs/tools/templating/components.js +96 -266
  73. package/dist/cjs/tools/templating/index.js +11 -14
  74. package/dist/cjs/tools/templating/plugins.js +80 -78
  75. package/dist/cjs/tools/templating/utils.js +67 -66
  76. package/dist/cjs/utils/ensurePath.js +20 -20
  77. package/dist/cjs/utils/env.js +28 -27
  78. package/dist/cjs/utils/globalCache.js +55 -0
  79. package/dist/cjs/utils/index.js +26 -21
  80. package/dist/cjs/utils/is-server.js +11 -10
  81. package/dist/cjs/utils/normalize-url.js +5 -5
  82. package/dist/cjs/utils/timeout-promise.js +31 -31
  83. package/dist/cjs/utils/utils.js +254 -229
  84. package/dist/esm/cache-client.js +51 -50
  85. package/dist/esm/client/constants.js +4 -4
  86. package/dist/esm/client/edge-proxy.js +19 -17
  87. package/dist/esm/client/index.js +5 -5
  88. package/dist/esm/client/models.js +1 -1
  89. package/dist/esm/client/sitecore-client.js +414 -412
  90. package/dist/esm/client/utils.js +43 -42
  91. package/dist/esm/config/define-config.js +188 -187
  92. package/dist/esm/config/index.js +2 -2
  93. package/dist/esm/config/models.js +9 -8
  94. package/dist/esm/config-cli/define-cli-config.js +19 -18
  95. package/dist/esm/config-cli/index.js +2 -2
  96. package/dist/esm/config-cli/models.js +5 -4
  97. package/dist/esm/constants.js +46 -14
  98. package/dist/esm/debug.js +41 -39
  99. package/dist/esm/editing/codegen/index.js +1 -1
  100. package/dist/esm/editing/codegen/preview.js +263 -185
  101. package/dist/esm/editing/component-layout-service.js +55 -54
  102. package/dist/esm/editing/design-library.js +171 -117
  103. package/dist/esm/editing/editing-service.js +68 -67
  104. package/dist/esm/editing/index.js +6 -5
  105. package/dist/esm/editing/metadata.js +39 -39
  106. package/dist/esm/editing/models.js +41 -35
  107. package/dist/esm/editing/utils.js +98 -80
  108. package/dist/esm/form/form.js +72 -69
  109. package/dist/esm/form/index.js +1 -1
  110. package/dist/esm/graphql-request-client.js +101 -100
  111. package/dist/esm/i18n/dictionary-service.js +115 -114
  112. package/dist/esm/i18n/index.js +2 -2
  113. package/dist/esm/i18n/utils.js +13 -12
  114. package/dist/esm/index.js +13 -13
  115. package/dist/esm/layout/content-styles.js +64 -63
  116. package/dist/esm/layout/index.js +6 -6
  117. package/dist/esm/layout/layout-service.js +55 -50
  118. package/dist/esm/layout/models.js +36 -31
  119. package/dist/esm/layout/themes.js +71 -70
  120. package/dist/esm/layout/utils.js +109 -102
  121. package/dist/esm/media/index.js +2 -2
  122. package/dist/esm/media/media-api.js +90 -86
  123. package/dist/esm/models.js +1 -1
  124. package/dist/esm/native-fetcher.js +187 -172
  125. package/dist/esm/personalize/index.js +3 -3
  126. package/dist/esm/personalize/layout-personalizer.js +93 -92
  127. package/dist/esm/personalize/personalize-service.js +91 -87
  128. package/dist/esm/personalize/utils.js +135 -128
  129. package/dist/esm/retries.js +39 -38
  130. package/dist/esm/site/error-pages-service.js +58 -57
  131. package/dist/esm/site/index.js +8 -8
  132. package/dist/esm/site/models.js +1 -1
  133. package/dist/esm/site/redirects-service.js +87 -74
  134. package/dist/esm/site/robots-service.js +59 -58
  135. package/dist/esm/site/site-resolver.js +69 -68
  136. package/dist/esm/site/siteinfo-service.js +77 -73
  137. package/dist/esm/site/sitemap-xml-service.js +77 -76
  138. package/dist/esm/site/sitepath-service.js +157 -156
  139. package/dist/esm/site/utils.js +49 -41
  140. package/dist/esm/sitecore-service-base.js +29 -29
  141. package/dist/esm/tools/auth/flow.js +62 -61
  142. package/dist/esm/tools/auth/index.js +1 -1
  143. package/dist/esm/tools/auth/models.js +1 -1
  144. package/dist/esm/tools/auth/tenant-store.js +35 -35
  145. package/dist/esm/tools/codegen/component-generation.js +44 -42
  146. package/dist/esm/tools/codegen/extract-files.js +99 -101
  147. package/dist/esm/tools/codegen/import-map.js +358 -306
  148. package/dist/esm/tools/codegen/utils.js +373 -373
  149. package/dist/esm/tools/generate-map.js +1 -1
  150. package/dist/esm/tools/generateMetadata.js +29 -28
  151. package/dist/esm/tools/generateSites.js +52 -51
  152. package/dist/esm/tools/index.js +28 -27
  153. package/dist/esm/tools/scaffold.js +52 -51
  154. package/dist/esm/tools/templating/components.js +59 -223
  155. package/dist/esm/tools/templating/index.js +3 -3
  156. package/dist/esm/tools/templating/plugins.js +72 -70
  157. package/dist/esm/tools/templating/utils.js +59 -58
  158. package/dist/esm/utils/ensurePath.js +13 -13
  159. package/dist/esm/utils/env.js +24 -23
  160. package/dist/esm/utils/globalCache.js +49 -0
  161. package/dist/esm/utils/index.js +4 -3
  162. package/dist/esm/utils/is-server.js +9 -8
  163. package/dist/esm/utils/normalize-url.js +1 -1
  164. package/dist/esm/utils/timeout-promise.js +28 -28
  165. package/dist/esm/utils/utils.js +238 -213
  166. package/package.json +73 -5
  167. package/types/cache-client.d.ts +68 -64
  168. package/types/cache-client.d.ts.map +1 -0
  169. package/types/client/constants.d.ts +5 -4
  170. package/types/client/constants.d.ts.map +1 -0
  171. package/types/client/edge-proxy.d.ts +18 -15
  172. package/types/client/edge-proxy.d.ts.map +1 -0
  173. package/types/client/index.d.ts +8 -7
  174. package/types/client/index.d.ts.map +1 -0
  175. package/types/client/models.d.ts +21 -19
  176. package/types/client/models.d.ts.map +1 -0
  177. package/types/client/sitecore-client.d.ts +338 -327
  178. package/types/client/sitecore-client.d.ts.map +1 -0
  179. package/types/client/utils.d.ts +15 -9
  180. package/types/client/utils.d.ts.map +1 -0
  181. package/types/config/define-config.d.ts +20 -18
  182. package/types/config/define-config.d.ts.map +1 -0
  183. package/types/config/index.d.ts +3 -2
  184. package/types/config/index.d.ts.map +1 -0
  185. package/types/config/models.d.ts +287 -268
  186. package/types/config/models.d.ts.map +1 -0
  187. package/types/config-cli/define-cli-config.d.ts +9 -7
  188. package/types/config-cli/define-cli-config.d.ts.map +1 -0
  189. package/types/config-cli/index.d.ts +3 -2
  190. package/types/config-cli/index.d.ts.map +1 -0
  191. package/types/config-cli/models.d.ts +6 -4
  192. package/types/config-cli/models.d.ts.map +1 -0
  193. package/types/constants.d.ts +44 -11
  194. package/types/constants.d.ts.map +1 -0
  195. package/types/debug.d.ts +35 -28
  196. package/types/debug.d.ts.map +1 -0
  197. package/types/editing/codegen/index.d.ts +2 -1
  198. package/types/editing/codegen/index.d.ts.map +1 -0
  199. package/types/editing/codegen/preview.d.ts +256 -195
  200. package/types/editing/codegen/preview.d.ts.map +1 -0
  201. package/types/editing/component-layout-service.d.ts +84 -80
  202. package/types/editing/component-layout-service.d.ts.map +1 -0
  203. package/types/editing/design-library.d.ts +111 -63
  204. package/types/editing/design-library.d.ts.map +1 -0
  205. package/types/editing/editing-service.d.ts +72 -62
  206. package/types/editing/editing-service.d.ts.map +1 -0
  207. package/types/editing/index.d.ts +7 -6
  208. package/types/editing/index.d.ts.map +1 -0
  209. package/types/editing/metadata.d.ts +8 -7
  210. package/types/editing/metadata.d.ts.map +1 -0
  211. package/types/editing/models.d.ts +103 -92
  212. package/types/editing/models.d.ts.map +1 -0
  213. package/types/editing/utils.d.ts +91 -74
  214. package/types/editing/utils.d.ts.map +1 -0
  215. package/types/form/form.d.ts +25 -21
  216. package/types/form/form.d.ts.map +1 -0
  217. package/types/form/index.d.ts +2 -1
  218. package/types/form/index.d.ts.map +1 -0
  219. package/types/graphql-request-client.d.ts +112 -105
  220. package/types/graphql-request-client.d.ts.map +1 -0
  221. package/types/i18n/dictionary-service.d.ts +135 -131
  222. package/types/i18n/dictionary-service.d.ts.map +1 -0
  223. package/types/i18n/index.d.ts +3 -2
  224. package/types/i18n/index.d.ts.map +1 -0
  225. package/types/i18n/utils.d.ts +9 -7
  226. package/types/i18n/utils.d.ts.map +1 -0
  227. package/types/index.d.ts +13 -12
  228. package/types/index.d.ts.map +1 -0
  229. package/types/layout/content-styles.d.ts +20 -18
  230. package/types/layout/content-styles.d.ts.map +1 -0
  231. package/types/layout/index.d.ts +6 -5
  232. package/types/layout/index.d.ts.map +1 -0
  233. package/types/layout/layout-service.d.ts +45 -35
  234. package/types/layout/layout-service.d.ts.map +1 -0
  235. package/types/layout/models.d.ts +174 -151
  236. package/types/layout/models.d.ts.map +1 -0
  237. package/types/layout/themes.d.ts +13 -11
  238. package/types/layout/themes.d.ts.map +1 -0
  239. package/types/layout/utils.d.ts +56 -41
  240. package/types/layout/utils.d.ts.map +1 -0
  241. package/types/media/index.d.ts +3 -2
  242. package/types/media/index.d.ts.map +1 -0
  243. package/types/media/media-api.d.ts +60 -55
  244. package/types/media/media-api.d.ts.map +1 -0
  245. package/types/models.d.ts +94 -84
  246. package/types/models.d.ts.map +1 -0
  247. package/types/native-fetcher.d.ts +124 -114
  248. package/types/native-fetcher.d.ts.map +1 -0
  249. package/types/personalize/index.d.ts +4 -3
  250. package/types/personalize/index.d.ts.map +1 -0
  251. package/types/personalize/layout-personalizer.d.ts +29 -27
  252. package/types/personalize/layout-personalizer.d.ts.map +1 -0
  253. package/types/personalize/personalize-service.d.ts +90 -80
  254. package/types/personalize/personalize-service.d.ts.map +1 -0
  255. package/types/personalize/utils.d.ts +78 -69
  256. package/types/personalize/utils.d.ts.map +1 -0
  257. package/types/retries.d.ts +26 -24
  258. package/types/retries.d.ts.map +1 -0
  259. package/types/site/error-pages-service.d.ts +64 -57
  260. package/types/site/error-pages-service.d.ts.map +1 -0
  261. package/types/site/index.d.ts +10 -9
  262. package/types/site/index.d.ts.map +1 -0
  263. package/types/site/models.d.ts +23 -18
  264. package/types/site/models.d.ts.map +1 -0
  265. package/types/site/redirects-service.d.ts +92 -69
  266. package/types/site/redirects-service.d.ts.map +1 -0
  267. package/types/site/robots-service.d.ts +57 -50
  268. package/types/site/robots-service.d.ts.map +1 -0
  269. package/types/site/site-resolver.d.ts +28 -26
  270. package/types/site/site-resolver.d.ts.map +1 -0
  271. package/types/site/siteinfo-service.d.ts +65 -52
  272. package/types/site/siteinfo-service.d.ts.map +1 -0
  273. package/types/site/sitemap-xml-service.d.ts +63 -56
  274. package/types/site/sitemap-xml-service.d.ts.map +1 -0
  275. package/types/site/sitepath-service.d.ts +137 -134
  276. package/types/site/sitepath-service.d.ts.map +1 -0
  277. package/types/site/utils.d.ts +41 -28
  278. package/types/site/utils.d.ts.map +1 -0
  279. package/types/sitecore-service-base.d.ts +31 -30
  280. package/types/sitecore-service-base.d.ts.map +1 -0
  281. package/types/tools/auth/flow.d.ts +29 -27
  282. package/types/tools/auth/flow.d.ts.map +1 -0
  283. package/types/tools/auth/index.d.ts +2 -1
  284. package/types/tools/auth/index.d.ts.map +1 -0
  285. package/types/tools/auth/models.d.ts +35 -33
  286. package/types/tools/auth/models.d.ts.map +1 -0
  287. package/types/tools/auth/tenant-store.d.ts +12 -11
  288. package/types/tools/auth/tenant-store.d.ts.map +1 -0
  289. package/types/tools/codegen/component-generation.d.ts +50 -47
  290. package/types/tools/codegen/component-generation.d.ts.map +1 -0
  291. package/types/tools/codegen/extract-files.d.ts +24 -22
  292. package/types/tools/codegen/extract-files.d.ts.map +1 -0
  293. package/types/tools/codegen/import-map.d.ts +103 -70
  294. package/types/tools/codegen/import-map.d.ts.map +1 -0
  295. package/types/tools/codegen/utils.d.ts +76 -75
  296. package/types/tools/codegen/utils.d.ts.map +1 -0
  297. package/types/tools/generate-map.d.ts +36 -26
  298. package/types/tools/generate-map.d.ts.map +1 -0
  299. package/types/tools/generateMetadata.d.ts +24 -22
  300. package/types/tools/generateMetadata.d.ts.map +1 -0
  301. package/types/tools/generateSites.d.ts +25 -22
  302. package/types/tools/generateSites.d.ts.map +1 -0
  303. package/types/tools/index.d.ts +22 -20
  304. package/types/tools/index.d.ts.map +1 -0
  305. package/types/tools/scaffold.d.ts +27 -25
  306. package/types/tools/scaffold.d.ts.map +1 -0
  307. package/types/tools/templating/components.d.ts +104 -103
  308. package/types/tools/templating/components.d.ts.map +1 -0
  309. package/types/tools/templating/index.d.ts +4 -3
  310. package/types/tools/templating/index.d.ts.map +1 -0
  311. package/types/tools/templating/plugins.d.ts +71 -67
  312. package/types/tools/templating/plugins.d.ts.map +1 -0
  313. package/types/tools/templating/utils.d.ts +42 -40
  314. package/types/tools/templating/utils.d.ts.map +1 -0
  315. package/types/utils/ensurePath.d.ts +7 -6
  316. package/types/utils/ensurePath.d.ts.map +1 -0
  317. package/types/utils/env.d.ts +9 -7
  318. package/types/utils/env.d.ts.map +1 -0
  319. package/types/utils/globalCache.d.ts +37 -0
  320. package/types/utils/globalCache.d.ts.map +1 -0
  321. package/types/utils/index.d.ts +5 -3
  322. package/types/utils/index.d.ts.map +1 -0
  323. package/types/utils/is-server.d.ts +8 -6
  324. package/types/utils/is-server.d.ts.map +1 -0
  325. package/types/utils/normalize-url.d.ts +2 -1
  326. package/types/utils/normalize-url.d.ts.map +1 -0
  327. package/types/utils/timeout-promise.d.ts +18 -17
  328. package/types/utils/timeout-promise.d.ts.map +1 -0
  329. package/types/utils/utils.d.ts +104 -79
  330. package/types/utils/utils.d.ts.map +1 -0
  331. package/client.js +0 -1
  332. package/codegen.js +0 -1
  333. package/config-cli.js +0 -1
  334. package/config.js +0 -1
  335. package/editing.js +0 -1
  336. package/i18n.js +0 -1
  337. package/layout.js +0 -1
  338. package/media.js +0 -1
  339. package/personalize.js +0 -1
  340. package/site.js +0 -1
  341. package/tools.js +0 -1
  342. 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
- class SitePathService {
73
- /**
74
- * Creates an instance of graphQL sitemap service with the provided options
75
- * @param {SitePathServiceConfig} options instance
76
- */
77
- constructor(options) {
78
- this.options = options;
79
- this._graphQLClient = this.getGraphQLClient();
80
- }
81
- /**
82
- * GraphQL client accessible by descendant classes when needed
83
- */
84
- get graphQLClient() {
85
- return this._graphQLClient;
86
- }
87
- /**
88
- * Gets the default query used for fetching the list of site pages
89
- */
90
- get query() {
91
- return defaultQuery(this.options.includePersonalizedRoutes);
92
- }
93
- /**
94
- * Fetch a flat list of all pages that belong to all the requested sites and have a
95
- * version in the specified language(s).
96
- * @param {string[]} sites Fetch pages for these sites.
97
- * @param {string[]} languages Fetch pages that have versions in this language(s).
98
- * @param {FetchOptions} fetchOptions Options to override graphQL client details like retries and fetch implementation
99
- * @returns list of pages
100
- * @throws {RangeError} if the list of languages is empty.
101
- * @throws {RangeError} if the any of the languages is an empty string.
102
- */
103
- async fetchSiteRoutes(sites, languages, fetchOptions) {
104
- const formatPath = (path, locale) => ({
105
- params: {
106
- path,
107
- },
108
- locale,
109
- });
110
- const paths = new Array();
111
- if (!languages.length) {
112
- throw new RangeError(exports.languageError);
113
- }
114
- // Get all sites
115
- if (!sites || !sites.length) {
116
- throw new RangeError(exports.sitesError);
117
- }
118
- // Fetch paths for each site
119
- for (let i = 0; i < sites.length; i++) {
120
- for (const language of languages) {
121
- // Fetch paths using all locales
122
- const sitePaths = await this.fetchLanguageSitePaths(language, sites[i], fetchOptions);
123
- const transformedPaths = await this.transformLanguageSitePaths(sitePaths, formatPath, language);
124
- paths.push(...transformedPaths);
125
- }
126
- }
127
- return [].concat(...paths);
128
- }
129
- async transformLanguageSitePaths(sitePaths, formatStaticPath, language) {
130
- const toSegments = (p) => decodeURI(p)
131
- .replace(/^\/|\/$/g, '')
132
- .split('/');
133
- const aggregatedPaths = [];
134
- sitePaths.forEach((item) => {
135
- var _a, _b, _c;
136
- if (!item)
137
- return;
138
- aggregatedPaths.push(formatStaticPath(toSegments(item.path), language));
139
- 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
140
- );
141
- if (variantIds === null || variantIds === void 0 ? void 0 : variantIds.length) {
142
- aggregatedPaths.push(...variantIds.map((varId) => formatStaticPath(toSegments((0, personalize_1.getPersonalizedRewrite)(item.path, [varId])), language)));
143
- }
144
- });
145
- return aggregatedPaths;
146
- }
147
- /**
148
- * Gets a GraphQL client that can make requests to the API. Uses graphql-request as the default
149
- * library for fetching graphql data (@see GraphQLRequestClient). Override this method if you
150
- * want to use something else.
151
- * @returns {GraphQLClient} implementation
152
- */
153
- getGraphQLClient() {
154
- if (!this.options.clientFactory) {
155
- throw new Error('clientFactory needs to be provided when initializing GraphQL client.');
156
- }
157
- return this.options.clientFactory({
158
- debugger: debug_1.default.sitemap,
159
- });
160
- }
161
- /**
162
- * Fetch and return site paths for multisite implementation, with prefixes included
163
- * @param {string} language path language
164
- * @param {string} siteName site name
165
- * @param {FetchOptions} fetchOptions Options to override graphQL client details like retries and fetch implementation
166
- * @returns modified paths
167
- */
168
- async fetchLanguageSitePaths(language, siteName, fetchOptions) {
169
- var _a, _b, _c, _d;
170
- const args = {
171
- siteName: siteName,
172
- language: language,
173
- pageSize: this.options.pageSize,
174
- includedPaths: this.options.includedPaths,
175
- excludedPaths: this.options.excludedPaths,
176
- };
177
- let results = [];
178
- let hasNext = true;
179
- let after = '';
180
- debug_1.default.sitemap('fetching sitemap data for %s %s', language, siteName);
181
- while (hasNext) {
182
- const fetchResponse = await this.graphQLClient.request(this.query, Object.assign(Object.assign({}, args), { after }), fetchOptions);
183
- if (!((_a = fetchResponse === null || fetchResponse === void 0 ? void 0 : fetchResponse.site) === null || _a === void 0 ? void 0 : _a.siteInfo)) {
184
- throw new RangeError(getSiteEmptyError(siteName));
185
- }
186
- else {
187
- results = results.concat((_b = fetchResponse.site.siteInfo.routes) === null || _b === void 0 ? void 0 : _b.results);
188
- hasNext = (_c = fetchResponse.site.siteInfo.routes) === null || _c === void 0 ? void 0 : _c.pageInfo.hasNext;
189
- after = (_d = fetchResponse.site.siteInfo.routes) === null || _d === void 0 ? void 0 : _d.pageInfo.endCursor;
190
- }
191
- }
192
- results.forEach((item) => {
193
- if (item) {
194
- item.path = (0, site_1.getSiteRewrite)(item.path, { siteName: siteName });
195
- }
196
- });
197
- return results;
198
- }
199
- }
200
- exports.SitePathService = SitePathService;
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;
@@ -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
- exports.SITE_PREFIX = '_site_';
8
- /**
9
- * Site key for cookie and query string parameter access
10
- */
11
- exports.SITE_KEY = 'sc_site';
12
- /**
13
- * Get a site rewrite path for given pathname
14
- * @param {string} pathname the pathname
15
- * @param {SiteRewriteData} data the site data to include in the rewrite
16
- * @returns {string} the rewrite path
17
- */
18
- function getSiteRewrite(pathname, data) {
19
- const path = pathname.startsWith('/') ? pathname : '/' + pathname;
20
- return `/${exports.SITE_PREFIX}${data.siteName}${path}`;
21
- }
22
- /**
23
- * Get site data from the rewrite path
24
- * @param {string} pathname the pathname
25
- * @param {string} defaultSiteName the default site name
26
- * @returns {SiteRewriteData} the site data from the rewrite
27
- */
28
- function getSiteRewriteData(pathname, defaultSiteName) {
29
- const data = {
30
- siteName: defaultSiteName,
31
- };
32
- const path = pathname.endsWith('/') ? pathname : pathname + '/';
33
- const result = path.match(`${exports.SITE_PREFIX}(.*?)\\/`);
34
- if (result && result[1] !== '') {
35
- data.siteName = result[1];
36
- }
37
- return data;
38
- }
39
- /**
40
- * Normalize a site rewrite path (remove site data)
41
- * @param {string} pathname the pathname
42
- * @returns {string} the pathname with site data removed
43
- */
44
- function normalizeSiteRewrite(pathname) {
45
- const result = pathname.match(`${exports.SITE_PREFIX}.*?(?:\\/|$)`);
46
- return result === null ? pathname : pathname.replace(result[0], '');
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;