@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,126 +1,183 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.updateComponentHandler = exports.validateOrigin = exports.addComponentUpdateHandler = exports.DesignLibraryStatus = void 0;
4
- exports.getDesignLibraryStatusEvent = getDesignLibraryStatusEvent;
5
- exports.getDesignLibraryScriptLink = getDesignLibraryScriptLink;
6
- exports.isDesignLibraryMode = isDesignLibraryMode;
7
- const constants_1 = require("../constants");
8
- const normalize_url_1 = require("../utils/normalize-url");
9
- const models_1 = require("./models");
10
- /**
11
- * Event to be sent when report status to design library
12
- */
13
- const DESIGN_LIBRARY_STATUS_EVENT_NAME = 'component:status';
14
- /**
15
- * Enumeration of statuses for the design library.
16
- */
17
- var DesignLibraryStatus;
18
- (function (DesignLibraryStatus) {
19
- DesignLibraryStatus["READY"] = "ready";
20
- DesignLibraryStatus["RENDERED"] = "rendered";
21
- })(DesignLibraryStatus || (exports.DesignLibraryStatus = DesignLibraryStatus = {}));
22
- /**
23
- * Adds the browser-side event handler for 'component:update' message used in Design Library
24
- * The event should update a component on page by uid, with fields and params from event args
25
- * @param {ComponentRendering} rootComponent root component displayed for Design Library page
26
- * @param {Function} successCallback callback to be called after successful component update
27
- */
28
- const addComponentUpdateHandler = (rootComponent, successCallback) => {
29
- if (!window)
30
- return;
31
- const handler = (e) => (0, exports.updateComponentHandler)(e, rootComponent, successCallback);
32
- window.addEventListener('message', handler);
33
- // the power to remove handler outside of this function, if needed
34
- const unsubscribe = () => {
35
- window.removeEventListener('message', handler);
36
- };
37
- return unsubscribe;
38
- };
39
- exports.addComponentUpdateHandler = addComponentUpdateHandler;
40
- const validateOrigin = (event) => {
41
- // TODO: use `EDITING_ALLOWED_ORIGINS.concat(getAllowedOriginsFromEnv())` later
42
- // nextjs's JSS_ALLOWED_ORIGINS is not available on the client, need to use NEXT_PUBLIC_ variable, but it's a breaking change for Deploy
43
- const allowedOrigins = ['*'];
44
- return allowedOrigins.some((origin) => origin === event.origin ||
45
- new RegExp('^' + origin.replace('.', '\\.').replace(/\*/g, '.*') + '$').test(event.origin));
46
- };
47
- exports.validateOrigin = validateOrigin;
48
- const updateComponentHandler = (e, rootComponent, successCallback) => {
49
- var _a;
50
- const eventArgs = e.data;
51
- if (!e.origin || !eventArgs || eventArgs.name !== 'component:update') {
52
- // avoid extra noise in logs
53
- if (!(0, exports.validateOrigin)(e)) {
54
- console.debug('Component Library: event skipped: message %s from origin %s', eventArgs.name, e.origin);
55
- }
56
- return;
57
- }
58
- if (!((_a = eventArgs.details) === null || _a === void 0 ? void 0 : _a.uid)) {
59
- console.debug('Received component:update event without uid, aborting event handler...');
60
- return;
61
- }
62
- const findComponent = (root) => {
63
- var _a, _b;
64
- if (((_a = root.uid) === null || _a === void 0 ? void 0 : _a.toLowerCase()) === ((_b = eventArgs.details) === null || _b === void 0 ? void 0 : _b.uid.toLowerCase()))
65
- return root;
66
- if (root.placeholders) {
67
- for (const plhName of Object.keys(root.placeholders)) {
68
- for (const rendering of root.placeholders[plhName]) {
69
- const result = findComponent(rendering);
70
- if (result)
71
- return result;
72
- }
73
- }
74
- }
75
- return null;
76
- };
77
- const updateComponent = findComponent(rootComponent);
78
- if (updateComponent) {
79
- console.debug('Found component with uid %s to update. Update fields: %o. Update params: %o.', eventArgs.details.uid, eventArgs.details.fields, eventArgs.details.params);
80
- if (eventArgs.details.fields) {
81
- updateComponent.fields = Object.assign(Object.assign({}, updateComponent.fields), eventArgs.details.fields);
82
- }
83
- if (eventArgs.details.params) {
84
- updateComponent.params = Object.assign(Object.assign({}, updateComponent.params), eventArgs.details.params);
85
- }
86
- if (successCallback)
87
- successCallback(rootComponent);
88
- }
89
- else {
90
- console.debug('Rendering with uid %s not found', eventArgs.details.uid);
91
- }
92
- // strictly for testing
93
- return rootComponent;
94
- };
95
- exports.updateComponentHandler = updateComponentHandler;
96
- /**
97
- * Generates a DesignLibraryStatusEvent with the given status and uid.
98
- * @param {DesignLibraryStatus} status - The status of rendering.
99
- * @param {string} uid - The unique identifier for the event.
100
- * @returns An object representing the DesignLibraryStatusEvent.
101
- */
102
- function getDesignLibraryStatusEvent(status, uid) {
103
- return {
104
- name: DESIGN_LIBRARY_STATUS_EVENT_NAME,
105
- message: {
106
- status,
107
- uid,
108
- },
109
- };
110
- }
111
- /**
112
- * Generates the URL for the design library script link.
113
- * @param {string} [sitecoreEdgeUrl] Sitecore Edge Platform URL. Default is https://edge-platform.sitecorecloud.io
114
- * @returns The full URL to the design library script.
115
- */
116
- function getDesignLibraryScriptLink(sitecoreEdgeUrl = constants_1.SITECORE_EDGE_URL_DEFAULT) {
117
- return `${(0, normalize_url_1.normalizeUrl)(sitecoreEdgeUrl)}/v1/files/designlibrary/lib/rh-lib-script.js`;
118
- }
119
- /**
120
- * Checks if the given mode is a Design Library mode.
121
- * @param {unknown} mode - The mode to check.
122
- * @returns {boolean} True if the mode is a Design Library mode, false otherwise.
123
- */
124
- function isDesignLibraryMode(mode) {
125
- return mode === models_1.DesignLibraryMode.Normal || mode === models_1.DesignLibraryMode.Metadata;
126
- }
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.postToDesignLibrary = exports.updateComponent = exports.updateComponentHandler = exports.validateEvent = exports.validateOrigin = exports.addComponentUpdateHandler = exports.DesignLibraryStatus = exports.COMPONENT_UPDATE_CACHE_KEY_PREFIX = void 0;
4
+ exports.getDesignLibraryStatusEvent = getDesignLibraryStatusEvent;
5
+ exports.getDesignLibraryScriptLink = getDesignLibraryScriptLink;
6
+ exports.isDesignLibraryMode = isDesignLibraryMode;
7
+ const constants_1 = require("../constants");
8
+ const normalize_url_1 = require("../utils/normalize-url");
9
+ const models_1 = require("./models");
10
+ /**
11
+ * Event to be sent when report status to design library
12
+ */
13
+ const DESIGN_LIBRARY_STATUS_EVENT_NAME = 'component:status';
14
+ /**
15
+ * Prefix for component update cache keys
16
+ * @internal
17
+ */
18
+ exports.COMPONENT_UPDATE_CACHE_KEY_PREFIX = 'component-update-';
19
+ /**
20
+ * Enumeration of statuses for the design library.
21
+ * @internal
22
+ */
23
+ var DesignLibraryStatus;
24
+ (function (DesignLibraryStatus) {
25
+ DesignLibraryStatus["READY"] = "ready";
26
+ DesignLibraryStatus["RENDERED"] = "rendered";
27
+ })(DesignLibraryStatus || (exports.DesignLibraryStatus = DesignLibraryStatus = {}));
28
+ /**
29
+ * Adds the browser-side event handler for 'component:update' message used in Design Library
30
+ * The event should update a component on page by uid, with fields and params from event args
31
+ * @param {ComponentRendering} rootComponent root component displayed for Design Library page
32
+ * @param {Function} successCallback callback to be called after successful component update
33
+ * @internal
34
+ */
35
+ const addComponentUpdateHandler = (rootComponent, successCallback) => {
36
+ if (!window)
37
+ return;
38
+ const handler = (e) => (0, exports.updateComponentHandler)(e, rootComponent, successCallback);
39
+ window.addEventListener('message', handler);
40
+ // the power to remove handler outside of this function, if needed
41
+ const unsubscribe = () => {
42
+ window.removeEventListener('message', handler);
43
+ };
44
+ return unsubscribe;
45
+ };
46
+ exports.addComponentUpdateHandler = addComponentUpdateHandler;
47
+ const validateOrigin = (event) => {
48
+ // TODO: use `EDITING_ALLOWED_ORIGINS.concat(getAllowedOriginsFromEnv())` later
49
+ // nextjs's JSS_ALLOWED_ORIGINS is not available on the client, need to use NEXT_PUBLIC_ variable, but it's a breaking change for Deploy
50
+ const allowedOrigins = ['*'];
51
+ return allowedOrigins.some((origin) => origin === event.origin ||
52
+ new RegExp('^' + origin.replace('.', '\\.').replace(/\*/g, '.*') + '$').test(event.origin));
53
+ };
54
+ exports.validateOrigin = validateOrigin;
55
+ /**
56
+ * Validates that a MessageEvent has the expected event name and required data.
57
+ * Logs debug information when validation fails due to invalid origin.
58
+ * @param {MessageEvent} e - The message event to validate.
59
+ * @param {string} eventName - The expected event name to match against e.data.name.
60
+ * @returns {boolean} True if the event has a valid origin, data object, and matching event name; otherwise false.
61
+ */
62
+ const validateEvent = (e, eventName) => {
63
+ if (!e.origin || !e.data || e.data.name !== eventName) {
64
+ // avoid extra noise in logs
65
+ if (!(0, exports.validateOrigin)(e)) {
66
+ console.debug('Component Library: event skipped - invalid origin: message %s from origin %s', e.data.name, e.origin);
67
+ }
68
+ return false;
69
+ }
70
+ return true;
71
+ };
72
+ exports.validateEvent = validateEvent;
73
+ const updateComponentHandler = (e, rootComponent, successCallback) => {
74
+ var _a;
75
+ const eventArgs = e.data;
76
+ if (!e.origin || !eventArgs || eventArgs.name !== 'component:update') {
77
+ // avoid extra noise in logs
78
+ if (!(0, exports.validateOrigin)(e)) {
79
+ console.debug('Component Library: event skipped: message %s from origin %s', eventArgs.name, e.origin);
80
+ }
81
+ return;
82
+ }
83
+ if (!((_a = eventArgs.details) === null || _a === void 0 ? void 0 : _a.uid)) {
84
+ console.debug('Received component:update event without uid, aborting event handler...');
85
+ return;
86
+ }
87
+ const findComponent = (root) => {
88
+ var _a, _b;
89
+ if (((_a = root.uid) === null || _a === void 0 ? void 0 : _a.toLowerCase()) === ((_b = eventArgs.details) === null || _b === void 0 ? void 0 : _b.uid.toLowerCase()))
90
+ return root;
91
+ if (root.placeholders) {
92
+ for (const plhName of Object.keys(root.placeholders)) {
93
+ for (const rendering of root.placeholders[plhName]) {
94
+ const result = findComponent(rendering);
95
+ if (result)
96
+ return result;
97
+ }
98
+ }
99
+ }
100
+ return null;
101
+ };
102
+ const componentToUpdate = findComponent(rootComponent);
103
+ if (componentToUpdate) {
104
+ console.debug('Found component with uid %s to update. Update fields: %o. Update params: %o.', eventArgs.details.uid, eventArgs.details.fields, eventArgs.details.params);
105
+ (0, exports.updateComponent)(componentToUpdate, eventArgs.details.fields, eventArgs.details.params);
106
+ if (successCallback)
107
+ successCallback(rootComponent);
108
+ }
109
+ else {
110
+ console.debug('Rendering with uid %s not found', eventArgs.details.uid);
111
+ }
112
+ // strictly for testing
113
+ return rootComponent;
114
+ };
115
+ exports.updateComponentHandler = updateComponentHandler;
116
+ /**
117
+ * Updates a component's fields and params with the provided values.
118
+ * @param {ComponentRendering<ComponentFields>} component - The component to update.
119
+ * @param {ComponentFields | undefined} fields - The fields to merge into the component.
120
+ * @param {ComponentParams | undefined} params - The params to merge into the component.
121
+ * @internal
122
+ */
123
+ const updateComponent = (component, fields, params) => {
124
+ if (fields) {
125
+ component.fields = Object.assign(Object.assign({}, component.fields), fields);
126
+ }
127
+ if (params) {
128
+ component.params = Object.assign(Object.assign({}, component.params), params);
129
+ }
130
+ };
131
+ exports.updateComponent = updateComponent;
132
+ /**
133
+ * Generates a DesignLibraryStatusEvent with the given status and uid.
134
+ * @param {DesignLibraryStatus} status - The status of rendering.
135
+ * @param {string} uid - The unique identifier for the event.
136
+ * @returns An object representing the DesignLibraryStatusEvent.
137
+ * @internal
138
+ */
139
+ function getDesignLibraryStatusEvent(status, uid) {
140
+ return {
141
+ name: DESIGN_LIBRARY_STATUS_EVENT_NAME,
142
+ message: {
143
+ status,
144
+ uid,
145
+ },
146
+ };
147
+ }
148
+ /**
149
+ * Generates the URL for the design library script link.
150
+ * @param {string} [sitecoreEdgeUrl] Sitecore Edge Platform URL. Default is https://edge-platform.sitecorecloud.io
151
+ * @returns The full URL to the design library script.
152
+ * @internal
153
+ */
154
+ function getDesignLibraryScriptLink(sitecoreEdgeUrl = constants_1.SITECORE_EDGE_URL_DEFAULT) {
155
+ return `${(0, normalize_url_1.normalizeUrl)(sitecoreEdgeUrl)}/v1/files/designlibrary/lib/rh-lib-script.js`;
156
+ }
157
+ /**
158
+ * Checks if the given mode is a Design Library mode.
159
+ * @param {unknown} mode - The mode to check.
160
+ * @returns {boolean} True if the mode is a Design Library mode, false otherwise.
161
+ * @internal
162
+ */
163
+ function isDesignLibraryMode(mode) {
164
+ return mode === models_1.DesignLibraryMode.Normal || mode === models_1.DesignLibraryMode.Metadata;
165
+ }
166
+ /**
167
+ * Sends an event to the Design Library
168
+ * @param {DesignLibraryEvent} evt - The event object to send.
169
+ * @internal
170
+ */
171
+ const postToDesignLibrary = (evt) => {
172
+ if (typeof window === 'undefined')
173
+ return;
174
+ const target = window.parent && window.parent !== window ? window.parent : window;
175
+ try {
176
+ console.log('Component Library: sending event', evt.name, evt);
177
+ target.postMessage(evt, '*');
178
+ }
179
+ catch (err) {
180
+ console.error('Component Library: postMessage failed', err, evt);
181
+ }
182
+ };
183
+ exports.postToDesignLibrary = postToDesignLibrary;
@@ -1,80 +1,81 @@
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.EditingService = exports.query = void 0;
7
- const debug_1 = __importDefault(require("../debug"));
8
- const models_1 = require("./models");
9
- /**
10
- * GraphQL query for fetching editing data.
11
- */
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.EditingService = exports.query = void 0;
7
+ const debug_1 = __importDefault(require("../debug"));
8
+ const models_1 = require("./models");
9
+ /**
10
+ * GraphQL query for fetching editing data.
11
+ */
12
12
  exports.query = `
13
13
  query EditingQuery($itemId: String!, $language: String!, $version: String) {
14
14
  item(path: $itemId, language: $language, version: $version) {
15
15
  rendered
16
16
  }
17
17
  }
18
- `;
19
- /**
20
- * Service for fetching editing data from Sitecore using the Sitecore's GraphQL API.
21
- * Expected to be used in XMCloud Pages preview (editing) Metadata Edit Mode.
22
- */
23
- class EditingService {
24
- /**
25
- * Fetch layout data using the Sitecore GraphQL endpoint.
26
- * @param {EditingServiceConfig} serviceConfig configuration
27
- */
28
- constructor(serviceConfig) {
29
- this.serviceConfig = serviceConfig;
30
- this.graphQLClient = this.getGraphQLClient();
31
- }
32
- /**
33
- * Fetches editing data. Provides the layout data and dictionary phrases
34
- * @param {object} variables - The parameters for fetching editing data.
35
- * @param {string} variables.itemId - The item id (path) to fetch layout data for.
36
- * @param {string} variables.language - The language to fetch layout data for.
37
- * @param {string} variables.mode - The editing mode to fetch layout data for.
38
- * @param {string} [variables.version] - The version of the item (optional).
39
- * @param {LayoutKind} [variables.layoutKind] - The final or shared layout variant.
40
- * @param {FetchOptions} [fetchOptions] Options to override graphQL client details like retries and fetch implementation
41
- * @returns {Promise} The layout data and dictionary phrases.
42
- */
43
- async fetchEditingData({ itemId, language, version, layoutKind = models_1.LayoutKind.Final, mode }, fetchOptions) {
44
- var _a;
45
- debug_1.default.editing('fetching editing data for %s %s %s %s', itemId, language, version, layoutKind);
46
- if (!language) {
47
- throw new RangeError('The language must be a non-empty string');
48
- }
49
- const editModeHeader = mode === 'edit' ? 'true' : 'false';
50
- const editingData = await this.graphQLClient.request(exports.query, {
51
- itemId,
52
- version,
53
- language,
54
- }, Object.assign(Object.assign({}, fetchOptions), { headers: {
55
- sc_layoutKind: layoutKind,
56
- sc_editMode: editModeHeader,
57
- } }));
58
- return {
59
- layoutData: ((_a = editingData === null || editingData === void 0 ? void 0 : editingData.item) === null || _a === void 0 ? void 0 : _a.rendered) || {
60
- sitecore: {
61
- context: { pageEditing: true, language },
62
- route: null,
63
- },
64
- },
65
- };
66
- }
67
- /**
68
- * Gets a GraphQL client that can make requests to the API.
69
- * @returns {GraphQLClient} implementation
70
- */
71
- getGraphQLClient() {
72
- if (!this.serviceConfig.clientFactory) {
73
- throw new Error('clientFactory needs to be provided when initializing GraphQL client.');
74
- }
75
- return this.serviceConfig.clientFactory({
76
- debugger: debug_1.default.editing,
77
- });
78
- }
79
- }
80
- exports.EditingService = EditingService;
18
+ `;
19
+ /**
20
+ * Service for fetching editing data from Sitecore using the Sitecore's GraphQL API.
21
+ * Expected to be used in XMCloud Pages preview (editing) Metadata Edit Mode.
22
+ * @public
23
+ */
24
+ class EditingService {
25
+ /**
26
+ * Fetch layout data using the Sitecore GraphQL endpoint.
27
+ * @param {EditingServiceConfig} serviceConfig configuration
28
+ */
29
+ constructor(serviceConfig) {
30
+ this.serviceConfig = serviceConfig;
31
+ this.graphQLClient = this.getGraphQLClient();
32
+ }
33
+ /**
34
+ * Fetches editing data. Provides the layout data and dictionary phrases
35
+ * @param {object} variables - The parameters for fetching editing data.
36
+ * @param {string} variables.itemId - The item id (path) to fetch layout data for.
37
+ * @param {string} variables.language - The language to fetch layout data for.
38
+ * @param {string} variables.mode - The editing mode to fetch layout data for.
39
+ * @param {string} [variables.version] - The version of the item (optional).
40
+ * @param {LayoutKind} [variables.layoutKind] - The final or shared layout variant.
41
+ * @param {FetchOptions} [fetchOptions] Options to override graphQL client details like retries and fetch implementation
42
+ * @returns {Promise} The layout data and dictionary phrases.
43
+ */
44
+ async fetchEditingData({ itemId, language, version, layoutKind = models_1.LayoutKind.Final, mode }, fetchOptions) {
45
+ var _a;
46
+ debug_1.default.editing('fetching editing data for %s %s %s %s', itemId, language, version, layoutKind);
47
+ if (!language) {
48
+ throw new RangeError('The language must be a non-empty string');
49
+ }
50
+ const editModeHeader = mode === 'edit' ? 'true' : 'false';
51
+ const editingData = await this.graphQLClient.request(exports.query, {
52
+ itemId,
53
+ version,
54
+ language,
55
+ }, Object.assign(Object.assign({}, fetchOptions), { headers: {
56
+ sc_layoutKind: layoutKind,
57
+ sc_editMode: editModeHeader,
58
+ } }));
59
+ return {
60
+ layoutData: ((_a = editingData === null || editingData === void 0 ? void 0 : editingData.item) === null || _a === void 0 ? void 0 : _a.rendered) || {
61
+ sitecore: {
62
+ context: { pageEditing: true, language },
63
+ route: null,
64
+ },
65
+ },
66
+ };
67
+ }
68
+ /**
69
+ * Gets a GraphQL client that can make requests to the API.
70
+ * @returns {GraphQLClient} implementation
71
+ */
72
+ getGraphQLClient() {
73
+ if (!this.serviceConfig.clientFactory) {
74
+ throw new Error('clientFactory needs to be provided when initializing GraphQL client.');
75
+ }
76
+ return this.serviceConfig.clientFactory({
77
+ debugger: debug_1.default.editing,
78
+ });
79
+ }
80
+ }
81
+ exports.EditingService = EditingService;
@@ -1,27 +1,33 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.isDesignLibraryMode = exports.getDesignLibraryScriptLink = exports.getDesignLibraryStatusEvent = exports.DesignLibraryStatus = exports.addComponentUpdateHandler = exports.DesignLibraryMode = exports.MetadataKind = exports.LayoutKind = exports.ComponentLayoutService = exports.PREVIEW_KEY = exports.PAGES_EDITING_MARKER = exports.QUERY_PARAM_EDITING_SECRET = exports.EDITING_ALLOWED_ORIGINS = exports.getContentSdkPagesClientData = exports.resetEditorChromes = exports.isEditorActive = exports.PagesEditor = exports.DEFAULT_PLACEHOLDER_UID = exports.EditingService = void 0;
4
- var editing_service_1 = require("./editing-service");
5
- Object.defineProperty(exports, "EditingService", { enumerable: true, get: function () { return editing_service_1.EditingService; } });
6
- var utils_1 = require("./utils");
7
- Object.defineProperty(exports, "DEFAULT_PLACEHOLDER_UID", { enumerable: true, get: function () { return utils_1.DEFAULT_PLACEHOLDER_UID; } });
8
- Object.defineProperty(exports, "PagesEditor", { enumerable: true, get: function () { return utils_1.PagesEditor; } });
9
- Object.defineProperty(exports, "isEditorActive", { enumerable: true, get: function () { return utils_1.isEditorActive; } });
10
- Object.defineProperty(exports, "resetEditorChromes", { enumerable: true, get: function () { return utils_1.resetEditorChromes; } });
11
- Object.defineProperty(exports, "getContentSdkPagesClientData", { enumerable: true, get: function () { return utils_1.getContentSdkPagesClientData; } });
12
- Object.defineProperty(exports, "EDITING_ALLOWED_ORIGINS", { enumerable: true, get: function () { return utils_1.EDITING_ALLOWED_ORIGINS; } });
13
- Object.defineProperty(exports, "QUERY_PARAM_EDITING_SECRET", { enumerable: true, get: function () { return utils_1.QUERY_PARAM_EDITING_SECRET; } });
14
- Object.defineProperty(exports, "PAGES_EDITING_MARKER", { enumerable: true, get: function () { return utils_1.PAGES_EDITING_MARKER; } });
15
- Object.defineProperty(exports, "PREVIEW_KEY", { enumerable: true, get: function () { return utils_1.PREVIEW_KEY; } });
16
- var component_layout_service_1 = require("./component-layout-service");
17
- Object.defineProperty(exports, "ComponentLayoutService", { enumerable: true, get: function () { return component_layout_service_1.ComponentLayoutService; } });
18
- var models_1 = require("./models");
19
- Object.defineProperty(exports, "LayoutKind", { enumerable: true, get: function () { return models_1.LayoutKind; } });
20
- Object.defineProperty(exports, "MetadataKind", { enumerable: true, get: function () { return models_1.MetadataKind; } });
21
- Object.defineProperty(exports, "DesignLibraryMode", { enumerable: true, get: function () { return models_1.DesignLibraryMode; } });
22
- var design_library_1 = require("./design-library");
23
- Object.defineProperty(exports, "addComponentUpdateHandler", { enumerable: true, get: function () { return design_library_1.addComponentUpdateHandler; } });
24
- Object.defineProperty(exports, "DesignLibraryStatus", { enumerable: true, get: function () { return design_library_1.DesignLibraryStatus; } });
25
- Object.defineProperty(exports, "getDesignLibraryStatusEvent", { enumerable: true, get: function () { return design_library_1.getDesignLibraryStatusEvent; } });
26
- Object.defineProperty(exports, "getDesignLibraryScriptLink", { enumerable: true, get: function () { return design_library_1.getDesignLibraryScriptLink; } });
27
- Object.defineProperty(exports, "isDesignLibraryMode", { enumerable: true, get: function () { return design_library_1.isDesignLibraryMode; } });
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.updateComponent = exports.COMPONENT_UPDATE_CACHE_KEY_PREFIX = exports.postToDesignLibrary = exports.isDesignLibraryMode = exports.getDesignLibraryScriptLink = exports.getDesignLibraryStatusEvent = exports.DesignLibraryStatus = exports.addComponentUpdateHandler = exports.DesignLibraryMode = exports.MetadataKind = exports.LayoutKind = exports.DesignLibraryVariantGeneration = exports.ComponentLayoutService = exports.PREVIEW_KEY = exports.PAGES_EDITING_MARKER = exports.INVALID_SECRET_HTML_MESSAGE = exports.QUERY_PARAM_EDITING_SECRET = exports.EDITING_ALLOWED_ORIGINS = exports.getContentSdkPagesClientData = exports.resetEditorChromes = exports.isEditorActive = exports.PagesEditor = exports.DEFAULT_PLACEHOLDER_UID = exports.EditingService = void 0;
4
+ var editing_service_1 = require("./editing-service");
5
+ Object.defineProperty(exports, "EditingService", { enumerable: true, get: function () { return editing_service_1.EditingService; } });
6
+ var utils_1 = require("./utils");
7
+ Object.defineProperty(exports, "DEFAULT_PLACEHOLDER_UID", { enumerable: true, get: function () { return utils_1.DEFAULT_PLACEHOLDER_UID; } });
8
+ Object.defineProperty(exports, "PagesEditor", { enumerable: true, get: function () { return utils_1.PagesEditor; } });
9
+ Object.defineProperty(exports, "isEditorActive", { enumerable: true, get: function () { return utils_1.isEditorActive; } });
10
+ Object.defineProperty(exports, "resetEditorChromes", { enumerable: true, get: function () { return utils_1.resetEditorChromes; } });
11
+ Object.defineProperty(exports, "getContentSdkPagesClientData", { enumerable: true, get: function () { return utils_1.getContentSdkPagesClientData; } });
12
+ Object.defineProperty(exports, "EDITING_ALLOWED_ORIGINS", { enumerable: true, get: function () { return utils_1.EDITING_ALLOWED_ORIGINS; } });
13
+ Object.defineProperty(exports, "QUERY_PARAM_EDITING_SECRET", { enumerable: true, get: function () { return utils_1.QUERY_PARAM_EDITING_SECRET; } });
14
+ Object.defineProperty(exports, "INVALID_SECRET_HTML_MESSAGE", { enumerable: true, get: function () { return utils_1.INVALID_SECRET_HTML_MESSAGE; } });
15
+ Object.defineProperty(exports, "PAGES_EDITING_MARKER", { enumerable: true, get: function () { return utils_1.PAGES_EDITING_MARKER; } });
16
+ Object.defineProperty(exports, "PREVIEW_KEY", { enumerable: true, get: function () { return utils_1.PREVIEW_KEY; } });
17
+ var component_layout_service_1 = require("./component-layout-service");
18
+ Object.defineProperty(exports, "ComponentLayoutService", { enumerable: true, get: function () { return component_layout_service_1.ComponentLayoutService; } });
19
+ var models_1 = require("./models");
20
+ Object.defineProperty(exports, "DesignLibraryVariantGeneration", { enumerable: true, get: function () { return models_1.DesignLibraryVariantGeneration; } });
21
+ var models_2 = require("./models");
22
+ Object.defineProperty(exports, "LayoutKind", { enumerable: true, get: function () { return models_2.LayoutKind; } });
23
+ Object.defineProperty(exports, "MetadataKind", { enumerable: true, get: function () { return models_2.MetadataKind; } });
24
+ Object.defineProperty(exports, "DesignLibraryMode", { enumerable: true, get: function () { return models_2.DesignLibraryMode; } });
25
+ var design_library_1 = require("./design-library");
26
+ Object.defineProperty(exports, "addComponentUpdateHandler", { enumerable: true, get: function () { return design_library_1.addComponentUpdateHandler; } });
27
+ Object.defineProperty(exports, "DesignLibraryStatus", { enumerable: true, get: function () { return design_library_1.DesignLibraryStatus; } });
28
+ Object.defineProperty(exports, "getDesignLibraryStatusEvent", { enumerable: true, get: function () { return design_library_1.getDesignLibraryStatusEvent; } });
29
+ Object.defineProperty(exports, "getDesignLibraryScriptLink", { enumerable: true, get: function () { return design_library_1.getDesignLibraryScriptLink; } });
30
+ Object.defineProperty(exports, "isDesignLibraryMode", { enumerable: true, get: function () { return design_library_1.isDesignLibraryMode; } });
31
+ Object.defineProperty(exports, "postToDesignLibrary", { enumerable: true, get: function () { return design_library_1.postToDesignLibrary; } });
32
+ Object.defineProperty(exports, "COMPONENT_UPDATE_CACHE_KEY_PREFIX", { enumerable: true, get: function () { return design_library_1.COMPONENT_UPDATE_CACHE_KEY_PREFIX; } });
33
+ Object.defineProperty(exports, "updateComponent", { enumerable: true, get: function () { return design_library_1.updateComponent; } });
@@ -1,42 +1,42 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getMetadata = getMetadata;
4
- const child_process_1 = require("child_process");
5
- const trackedScopes = [
6
- '@sitecore',
7
- '@sitecore-cloudsdk',
8
- '@sitecore-feaas',
9
- '@sitecore-content-sdk',
10
- ];
11
- /**
12
- * Get application metadata
13
- * @param {boolean} allowWorkspaces - Whether to allow workspaces in the metadata generation.
14
- * @returns {Metadata} The generated metadata.
15
- */
16
- function getMetadata(allowWorkspaces = false) {
17
- const metadata = { packages: {} };
18
- let queryResult = [];
19
- try {
20
- queryResult = JSON.parse((0, child_process_1.execSync)(`npm query [name*=@sitecore] --workspaces ${allowWorkspaces}`).toString());
21
- }
22
- catch (error) {
23
- console.error('Failed to retrieve sitecore packages using npm query', error);
24
- return metadata;
25
- }
26
- metadata.packages = getPackagesFromQueryResult(queryResult);
27
- return metadata;
28
- }
29
- /**
30
- * Retrieve all packages of the tracked scopes with their exact versions
31
- * @param {Package[]} scPackages list of packages
32
- * @returns {Record<string, string>} an object with the packages with their exact versions
33
- */
34
- function getPackagesFromQueryResult(scPackages) {
35
- const packages = {};
36
- scPackages.forEach((scPackage) => {
37
- if (trackedScopes.some((trackedScope) => scPackage.name.startsWith(trackedScope))) {
38
- packages[scPackage.name] = scPackage.version;
39
- }
40
- });
41
- return packages;
42
- }
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getMetadata = getMetadata;
4
+ const child_process_1 = require("child_process");
5
+ const trackedScopes = [
6
+ '@sitecore',
7
+ '@sitecore-cloudsdk',
8
+ '@sitecore-feaas',
9
+ '@sitecore-content-sdk',
10
+ ];
11
+ /**
12
+ * Get application metadata
13
+ * @param {boolean} allowWorkspaces - Whether to allow workspaces in the metadata generation.
14
+ * @returns {Metadata} The generated metadata.
15
+ */
16
+ function getMetadata(allowWorkspaces = false) {
17
+ const metadata = { packages: {} };
18
+ let queryResult = [];
19
+ try {
20
+ queryResult = JSON.parse((0, child_process_1.execSync)(`npm query [name*=@sitecore] --workspaces ${allowWorkspaces}`).toString());
21
+ }
22
+ catch (error) {
23
+ console.error('Failed to retrieve sitecore packages using npm query', error);
24
+ return metadata;
25
+ }
26
+ metadata.packages = getPackagesFromQueryResult(queryResult);
27
+ return metadata;
28
+ }
29
+ /**
30
+ * Retrieve all packages of the tracked scopes with their exact versions
31
+ * @param {Package[]} scPackages list of packages
32
+ * @returns {Record<string, string>} an object with the packages with their exact versions
33
+ */
34
+ function getPackagesFromQueryResult(scPackages) {
35
+ const packages = {};
36
+ scPackages.forEach((scPackage) => {
37
+ if (trackedScopes.some((trackedScope) => scPackage.name.startsWith(trackedScope))) {
38
+ packages[scPackage.name] = scPackage.version;
39
+ }
40
+ });
41
+ return packages;
42
+ }