create-sitecore-jss 22.2.0-canary.1 → 22.2.0-canary.11

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 (307) hide show
  1. package/dist/bin.js +70 -28
  2. package/dist/common/index.js +5 -3
  3. package/dist/common/processes/install.js +9 -2
  4. package/dist/common/processes/next.js +3 -3
  5. package/dist/common/processes/transform.js +29 -14
  6. package/dist/common/prompts/base.js +0 -12
  7. package/dist/common/prompts/sxp.js +20 -0
  8. package/dist/common/utils/helpers.js +28 -43
  9. package/dist/init-runner.js +16 -11
  10. package/dist/initializers/angular/index.js +13 -0
  11. package/dist/initializers/angular/prompts.js +22 -1
  12. package/dist/initializers/angular-sxp/index.js +62 -0
  13. package/dist/initializers/angular-xmcloud/index.js +66 -0
  14. package/dist/initializers/nextjs/index.js +2 -2
  15. package/dist/initializers/nextjs/prompts.js +2 -0
  16. package/dist/initializers/nextjs/remove-dev-dependencies.js +2 -2
  17. package/dist/initializers/nextjs-multisite/index.js +1 -1
  18. package/dist/initializers/nextjs-styleguide/index.js +1 -1
  19. package/dist/initializers/nextjs-styleguide-tracking/index.js +1 -1
  20. package/dist/initializers/nextjs-sxa/index.js +1 -1
  21. package/dist/initializers/nextjs-xmcloud/index.js +1 -1
  22. package/dist/initializers/node-xmcloud-proxy/index.js +32 -0
  23. package/dist/initializers/react/index.js +3 -3
  24. package/dist/initializers/react/prompts.js +1 -1
  25. package/dist/initializers/react-native/prompts.js +1 -0
  26. package/dist/initializers/vue/prompts.js +1 -1
  27. package/dist/templates/angular/.env +9 -3
  28. package/dist/templates/angular/README.md +5 -45
  29. package/dist/templates/angular/angular.json +1 -6
  30. package/dist/templates/angular/package.json +5 -17
  31. package/dist/templates/angular/proxy.conf.js +5 -23
  32. package/dist/templates/angular/scripts/bootstrap.ts +5 -24
  33. package/dist/templates/angular/scripts/config/index.ts +28 -0
  34. package/dist/templates/angular/scripts/config/plugins/computed.ts +21 -0
  35. package/dist/templates/angular/scripts/config/plugins/fallback.ts +22 -0
  36. package/dist/templates/angular/scripts/config/plugins/package-json.ts +22 -0
  37. package/dist/templates/angular/scripts/config/plugins/scjssconfig.ts +29 -0
  38. package/dist/templates/angular/scripts/generate-config.ts +64 -73
  39. package/dist/templates/angular/scripts/generate-plugins.ts +28 -0
  40. package/dist/templates/angular/scripts/temp/gitignore +2 -0
  41. package/dist/templates/angular/scripts/update-graphql-fragment-data.ts +21 -27
  42. package/dist/templates/angular/server.bundle.ts +18 -1
  43. package/dist/templates/angular/src/app/JssState.ts +1 -4
  44. package/dist/templates/angular/src/app/app.module.ts +0 -2
  45. package/dist/templates/angular/src/app/components/app-components.shared.module.ts +4 -19
  46. package/dist/templates/angular/src/app/jss-context.server-side.service.ts +0 -2
  47. package/dist/templates/angular/src/app/lib/config.ts +16 -0
  48. package/dist/templates/angular/src/app/lib/dictionary-service-factory.ts +24 -13
  49. package/dist/templates/angular/src/app/lib/graphql-client-factory/config.ts +21 -0
  50. package/dist/templates/angular/src/app/lib/graphql-client-factory/index.ts +16 -0
  51. package/dist/templates/angular/src/app/lib/layout-service-factory.ts +20 -12
  52. package/dist/templates/angular/src/app/routing/layout/layout.component.html +1 -1
  53. package/dist/templates/angular/src/app/routing/layout/layout.component.ts +1 -2
  54. package/dist/templates/angular/src/app/routing/navigation/navigation.component.html +5 -6
  55. package/dist/templates/angular/src/app/routing/navigation/navigation.component.ts +1 -2
  56. package/dist/templates/angular/src/app/routing/routing.module.ts +14 -21
  57. package/dist/templates/angular/src/app/routing/scripts/scripts.component.html +1 -0
  58. package/dist/templates/angular/src/app/routing/scripts/scripts.component.ts +7 -0
  59. package/dist/templates/angular/src/app/routing/scripts/scripts.module.ts +8 -0
  60. package/dist/templates/angular/src/graphql-fragment-types.ts +0 -95
  61. package/dist/templates/angular/tsconfig.json +7 -2
  62. package/dist/templates/angular-sxp/package.json +12 -0
  63. package/dist/templates/angular-sxp/proxy.conf.js +43 -0
  64. package/dist/templates/angular-sxp/scripts/config/plugins/disconnected.ts +29 -0
  65. package/dist/templates/angular-sxp/src/app/components/app-components.shared.module.ts +35 -0
  66. package/dist/templates/{angular → angular-sxp}/src/app/jss-data-fetcher.service.ts +3 -1
  67. package/dist/templates/angular-sxp/src/app/routing/navigation/navigation.component.html +23 -0
  68. package/dist/templates/angular-sxp/src/app/routing/scripts/scripts.component.html +3 -0
  69. package/dist/templates/angular-sxp/src/app/routing/scripts/scripts.module.ts +9 -0
  70. package/dist/templates/{angular/src/app/routing → angular-sxp/src/app/routing/scripts}/visitor-identification/visitor-identification.component.ts +9 -3
  71. package/dist/templates/angular-sxp/src/graphql-fragment-types.ts +219 -0
  72. package/dist/templates/angular-xmcloud/.env +14 -0
  73. package/dist/templates/angular-xmcloud/angular.json +34 -0
  74. package/dist/templates/angular-xmcloud/package.json +15 -0
  75. package/dist/templates/angular-xmcloud/scripts/config/plugins/xmcloud.ts +39 -0
  76. package/dist/templates/angular-xmcloud/scripts/proxy-build.ts +15 -0
  77. package/dist/templates/angular-xmcloud/src/app/components/container/container.component.html +15 -0
  78. package/dist/templates/angular-xmcloud/src/app/components/container/container.component.ts +30 -0
  79. package/dist/templates/angular-xmcloud/src/app/components/richtext/richtext.component.html +13 -0
  80. package/dist/templates/angular-xmcloud/src/app/components/richtext/richtext.component.ts +16 -0
  81. package/dist/templates/angular-xmcloud/src/app/components/sxa.component.ts +15 -0
  82. package/dist/templates/angular-xmcloud/src/app/jss-link.service.ts +51 -0
  83. package/dist/templates/angular-xmcloud/src/app/lib/config.ts +17 -0
  84. package/dist/templates/angular-xmcloud/src/app/lib/graphql-client-factory/config.ts +58 -0
  85. package/dist/templates/angular-xmcloud/src/app/routing/layout/layout.component.html +39 -0
  86. package/dist/templates/angular-xmcloud/src/app/routing/layout/layout.component.ts +109 -0
  87. package/dist/templates/angular-xmcloud/src/assets/styles/basic/_component.scss +48 -0
  88. package/dist/templates/angular-xmcloud/src/assets/styles/basic/_container.scss +64 -0
  89. package/dist/templates/angular-xmcloud/src/assets/styles/basic/_fonts.scss +3 -0
  90. package/dist/templates/angular-xmcloud/src/assets/styles/basic/_footer.scss +31 -0
  91. package/dist/templates/angular-xmcloud/src/assets/styles/basic/_header.scss +49 -0
  92. package/dist/templates/angular-xmcloud/src/assets/styles/basic/_navigation.scss +150 -0
  93. package/dist/templates/angular-xmcloud/src/assets/styles/basic/_promo.scss +58 -0
  94. package/dist/templates/angular-xmcloud/src/assets/styles/basic/_rich-text.scss +11 -0
  95. package/dist/templates/angular-xmcloud/src/assets/styles/basic/_variables.scss +10 -0
  96. package/dist/templates/angular-xmcloud/src/assets/styles/basic/main.scss +8 -0
  97. package/dist/templates/angular-xmcloud/src/assets/styles/main.scss +4 -0
  98. package/dist/templates/angular-xmcloud/src/assets/styles/sass/_app.scss +103 -0
  99. package/dist/templates/angular-xmcloud/src/assets/styles/sass/abstracts/_functions.scss +8 -0
  100. package/dist/templates/angular-xmcloud/src/assets/styles/sass/abstracts/_mixins.scss +121 -0
  101. package/dist/templates/angular-xmcloud/src/assets/styles/sass/abstracts/_vars.scss +3 -0
  102. package/dist/templates/angular-xmcloud/src/assets/styles/sass/abstracts/vars/_colors.scss +283 -0
  103. package/dist/templates/angular-xmcloud/src/assets/styles/sass/abstracts/vars/_fontSizes.scss +16 -0
  104. package/dist/templates/angular-xmcloud/src/assets/styles/sass/abstracts/vars/_margins.scss +11 -0
  105. package/dist/templates/angular-xmcloud/src/assets/styles/sass/base/fonts/_fonts.scss +1 -0
  106. package/dist/templates/angular-xmcloud/src/assets/styles/sass/base/fonts/index.scss +1 -0
  107. package/dist/templates/angular-xmcloud/src/assets/styles/sass/base/index.scss +3 -0
  108. package/dist/templates/angular-xmcloud/src/assets/styles/sass/base/links/_link-button.scss +26 -0
  109. package/dist/templates/angular-xmcloud/src/assets/styles/sass/base/links/index.scss +1 -0
  110. package/dist/templates/angular-xmcloud/src/assets/styles/sass/base/reset/_inputs.scss +58 -0
  111. package/dist/templates/angular-xmcloud/src/assets/styles/sass/base/reset/_links.scss +14 -0
  112. package/dist/templates/angular-xmcloud/src/assets/styles/sass/base/reset/_ui-datepicker.scss +7 -0
  113. package/dist/templates/angular-xmcloud/src/assets/styles/sass/base/richtext/_richtext-files-icons.scss +86 -0
  114. package/dist/templates/angular-xmcloud/src/assets/styles/sass/base/richtext/_richtext.scss +101 -0
  115. package/dist/templates/angular-xmcloud/src/assets/styles/sass/base/richtext/index.scss +2 -0
  116. package/dist/templates/angular-xmcloud/src/assets/styles/sass/base/typehead/_typehead.scss +95 -0
  117. package/dist/templates/angular-xmcloud/src/assets/styles/sass/base/typehead/index.scss +1 -0
  118. package/dist/templates/angular-xmcloud/src/assets/styles/sass/components/_component-column-splitter.scss +14 -0
  119. package/dist/templates/angular-xmcloud/src/assets/styles/sass/components/_component-container.scss +27 -0
  120. package/dist/templates/angular-xmcloud/src/assets/styles/sass/components/_component-image.scss +18 -0
  121. package/dist/templates/angular-xmcloud/src/assets/styles/sass/components/_component-navigation.scss +51 -0
  122. package/dist/templates/angular-xmcloud/src/assets/styles/sass/components/_component-promo.scss +42 -0
  123. package/dist/templates/angular-xmcloud/src/assets/styles/sass/components/_component-richtext-content.scss +19 -0
  124. package/dist/templates/angular-xmcloud/src/assets/styles/sass/components/common/_alignment.scss +26 -0
  125. package/dist/templates/angular-xmcloud/src/assets/styles/sass/components/common/_boxed.scss +16 -0
  126. package/dist/templates/angular-xmcloud/src/assets/styles/sass/components/common/_clearfix.scss +11 -0
  127. package/dist/templates/angular-xmcloud/src/assets/styles/sass/components/common/_highlighted.scss +63 -0
  128. package/dist/templates/angular-xmcloud/src/assets/styles/sass/components/common/_link-button.scss +16 -0
  129. package/dist/templates/angular-xmcloud/src/assets/styles/sass/components/common/_promoted-box.scss +3 -0
  130. package/dist/templates/angular-xmcloud/src/assets/styles/sass/components/common/index.scss +6 -0
  131. package/dist/templates/angular-xmcloud/src/assets/styles/sass/components/container/_bordered.scss +24 -0
  132. package/dist/templates/angular-xmcloud/src/assets/styles/sass/components/container/_title-row-box.scss +66 -0
  133. package/dist/templates/angular-xmcloud/src/assets/styles/sass/components/container/index.scss +1 -0
  134. package/dist/templates/angular-xmcloud/src/assets/styles/sass/components/image/_image-default-size.scss +6 -0
  135. package/dist/templates/angular-xmcloud/src/assets/styles/sass/components/image/index.scss +1 -0
  136. package/dist/templates/angular-xmcloud/src/assets/styles/sass/components/image-alignment/_image-left.scss +3 -0
  137. package/dist/templates/angular-xmcloud/src/assets/styles/sass/components/image-alignment/_image-right.scss +3 -0
  138. package/dist/templates/angular-xmcloud/src/assets/styles/sass/components/index.scss +17 -0
  139. package/dist/templates/angular-xmcloud/src/assets/styles/sass/components/layout/_acaindent.scss +5 -0
  140. package/dist/templates/angular-xmcloud/src/assets/styles/sass/components/layout/_background.scss +27 -0
  141. package/dist/templates/angular-xmcloud/src/assets/styles/sass/components/layout/index.scss +1 -0
  142. package/dist/templates/angular-xmcloud/src/assets/styles/sass/components/link-list/_component-link-list.scss +45 -0
  143. package/dist/templates/angular-xmcloud/src/assets/styles/sass/components/link-list/_list-vertical.scss +20 -0
  144. package/dist/templates/angular-xmcloud/src/assets/styles/sass/components/link-list/index.scss +2 -0
  145. package/dist/templates/angular-xmcloud/src/assets/styles/sass/components/navigation/_navigation-fat.scss +58 -0
  146. package/dist/templates/angular-xmcloud/src/assets/styles/sass/components/navigation/_navigation-main-horizontal-vertical.scss +176 -0
  147. package/dist/templates/angular-xmcloud/src/assets/styles/sass/components/navigation/_navigation-mobile.scss +85 -0
  148. package/dist/templates/angular-xmcloud/src/assets/styles/sass/components/navigation/_navigation-sidebar.scss +29 -0
  149. package/dist/templates/angular-xmcloud/src/assets/styles/sass/components/navigation/_sitemap-navigation.scss +20 -0
  150. package/dist/templates/angular-xmcloud/src/assets/styles/sass/components/navigation/index.scss +5 -0
  151. package/dist/templates/angular-xmcloud/src/assets/styles/sass/components/promo/_absolute-bottom-link.scss +8 -0
  152. package/dist/templates/angular-xmcloud/src/assets/styles/sass/components/promo/_promo-hero.scss +40 -0
  153. package/dist/templates/angular-xmcloud/src/assets/styles/sass/components/promo/_promo-shadow.scss +42 -0
  154. package/dist/templates/angular-xmcloud/src/assets/styles/sass/components/promo/index.scss +3 -0
  155. package/dist/templates/angular-xmcloud/src/assets/styles/sass/components/rich-text/_rich-text-lists.scss +63 -0
  156. package/dist/templates/angular-xmcloud/src/assets/styles/sass/components/rich-text/index.scss +1 -0
  157. package/dist/templates/angular-xmcloud/src/assets/styles/sass/components/spacing/_background-colors.scss +14 -0
  158. package/dist/templates/angular-xmcloud/src/assets/styles/sass/components/spacing/_indent.scss +13 -0
  159. package/dist/templates/angular-xmcloud/src/assets/styles/sass/components/spacing/index.scss +2 -0
  160. package/dist/templates/angular-xmcloud/src/assets/styles/sass/components/title/_component-title.scss +30 -0
  161. package/dist/templates/angular-xmcloud/src/assets/styles/sass/components/title/index.scss +1 -0
  162. package/dist/templates/angular-xmcloud/src/assets/styles/sass/main.scss +4 -0
  163. package/dist/templates/angular-xmcloud/src/assets/styles/sass/variants/index.scss +6 -0
  164. package/dist/templates/angular-xmcloud/src/assets/styles/sass/variants/link-list/index.scss +0 -0
  165. package/dist/templates/angular-xmcloud/src/assets/styles/sass/variants/navigation/index.scss +0 -0
  166. package/dist/templates/angular-xmcloud/src/assets/styles/sass/variants/page-content/index.scss +0 -0
  167. package/dist/templates/angular-xmcloud/src/assets/styles/sass/variants/promo/index.scss +0 -0
  168. package/dist/templates/angular-xmcloud/src/assets/styles/sass/variants/rich-text/index.scss +0 -0
  169. package/dist/templates/angular-xmcloud/src/assets/styles/sass/variants/title/index.scss +0 -0
  170. package/dist/templates/nextjs/scripts/config/plugins/fallback.ts +0 -1
  171. package/dist/templates/nextjs/scripts/generate-config.ts +8 -1
  172. package/dist/templates/nextjs-styleguide/scripts/config/plugins/disconnected.ts +1 -0
  173. package/dist/templates/nextjs-sxa/src/assets/sass/components/_component-image.scss +1 -1
  174. package/dist/templates/node-xmcloud-proxy/.env +8 -0
  175. package/dist/templates/node-xmcloud-proxy/README.md +36 -0
  176. package/dist/templates/node-xmcloud-proxy/package.json +25 -0
  177. package/dist/templates/node-xmcloud-proxy/src/config.ts +19 -0
  178. package/dist/templates/node-xmcloud-proxy/src/index.ts +185 -0
  179. package/dist/templates/node-xmcloud-proxy/src/types.ts +61 -0
  180. package/dist/templates/node-xmcloud-proxy/tsconfig.json +22 -0
  181. package/dist/templates/react/scripts/generate-config.js +10 -3
  182. package/dist/templates/vue/scripts/generate-config.js +5 -0
  183. package/package.json +2 -2
  184. package/dist/templates/angular/src/app/lib/client-factory.ts +0 -28
  185. /package/dist/templates/{angular → angular-sxp}/data/component-content/Styleguide/ContentReuse/LoremIpsumContentBlock/en.yml +0 -0
  186. /package/dist/templates/{angular → angular-sxp}/data/component-content/gitignore +0 -0
  187. /package/dist/templates/{angular → angular-sxp}/data/content/Styleguide/ContentListField/Item1/en.yml +0 -0
  188. /package/dist/templates/{angular → angular-sxp}/data/content/Styleguide/ContentListField/Item2/en.yml +0 -0
  189. /package/dist/templates/{angular → angular-sxp}/data/content/Styleguide/EditFrameDemo/Item1/en.yml +0 -0
  190. /package/dist/templates/{angular → angular-sxp}/data/content/Styleguide/EditFrameDemo/Item2/en.yml +0 -0
  191. /package/dist/templates/{angular → angular-sxp}/data/content/Styleguide/ItemLinkField/Item1/en.yml +0 -0
  192. /package/dist/templates/{angular → angular-sxp}/data/content/Styleguide/ItemLinkField/Item2/en.yml +0 -0
  193. /package/dist/templates/{angular → angular-sxp}/data/content/gitignore +0 -0
  194. /package/dist/templates/{angular → angular-sxp}/data/dictionary/en.yml +0 -0
  195. /package/dist/templates/{angular → angular-sxp}/data/dictionary/{{language}}.yml +0 -0
  196. /package/dist/templates/{angular → angular-sxp}/data/media/files/jss.pdf +0 -0
  197. /package/dist/templates/{angular → angular-sxp}/data/media/img/jss_logo.png +0 -0
  198. /package/dist/templates/{angular → angular-sxp}/data/media/img/sc_logo.png +0 -0
  199. /package/dist/templates/{angular → angular-sxp}/data/routes/en.yml +0 -0
  200. /package/dist/templates/{angular → angular-sxp}/data/routes/graphql/en.yml +0 -0
  201. /package/dist/templates/{angular → angular-sxp}/data/routes/graphql/sample-1/en.yml +0 -0
  202. /package/dist/templates/{angular → angular-sxp}/data/routes/graphql/sample-2/en.yml +0 -0
  203. /package/dist/templates/{angular → angular-sxp}/data/routes/styleguide/custom-route-type/en.yml +0 -0
  204. /package/dist/templates/{angular → angular-sxp}/data/routes/styleguide/en.yml +0 -0
  205. /package/dist/templates/{angular → angular-sxp}/data/routes/styleguide/{{language}}.yml +0 -0
  206. /package/dist/templates/{angular → angular-sxp}/data/routes/{{language}}.yml +0 -0
  207. /package/dist/templates/{angular → angular-sxp}/scripts/disconnected-mode-proxy.ts +0 -0
  208. /package/dist/templates/{angular → angular-sxp}/scripts/lint-yml.ts +0 -0
  209. /package/dist/templates/{angular → angular-sxp}/sitecore/config/{{appName}}.config +0 -0
  210. /package/dist/templates/{angular → angular-sxp}/sitecore/definitions/component-content.sitecore.ts +0 -0
  211. /package/dist/templates/{angular → angular-sxp}/sitecore/definitions/components/Styleguide-Layout-Reuse.sitecore.ts +0 -0
  212. /package/dist/templates/{angular → angular-sxp}/sitecore/definitions/components/Styleguide-Layout-Tabs-Tab.sitecore.ts +0 -0
  213. /package/dist/templates/{angular → angular-sxp}/sitecore/definitions/components/Styleguide-Layout-Tabs.sitecore.ts +0 -0
  214. /package/dist/templates/{angular → angular-sxp}/sitecore/definitions/components/Styleguide-Layout.sitecore.ts +0 -0
  215. /package/dist/templates/{angular → angular-sxp}/sitecore/definitions/components/Styleguide-Multilingual.sitecore.ts +0 -0
  216. /package/dist/templates/{angular → angular-sxp}/sitecore/definitions/components/Styleguide-Section.sitecore.ts +0 -0
  217. /package/dist/templates/{angular → angular-sxp}/sitecore/definitions/components/content-block.sitecore.ts +0 -0
  218. /package/dist/templates/{angular → angular-sxp}/sitecore/definitions/components/graph-ql-connected-demo.sitecore.ts +0 -0
  219. /package/dist/templates/{angular → angular-sxp}/sitecore/definitions/components/graph-ql-integrated-demo.sitecore.graphql +0 -0
  220. /package/dist/templates/{angular → angular-sxp}/sitecore/definitions/components/graph-ql-integrated-demo.sitecore.ts +0 -0
  221. /package/dist/templates/{angular → angular-sxp}/sitecore/definitions/components/graph-ql-layout.sitecore.ts +0 -0
  222. /package/dist/templates/{angular → angular-sxp}/sitecore/definitions/components/styleguide-angular-lazy-loading.sitecore.ts +0 -0
  223. /package/dist/templates/{angular → angular-sxp}/sitecore/definitions/components/styleguide-component-params.sitecore.ts +0 -0
  224. /package/dist/templates/{angular → angular-sxp}/sitecore/definitions/components/styleguide-custom-route-type.sitecore.ts +0 -0
  225. /package/dist/templates/{angular → angular-sxp}/sitecore/definitions/components/styleguide-edit-frame.sitecore.ts +0 -0
  226. /package/dist/templates/{angular → angular-sxp}/sitecore/definitions/components/styleguide-field-usage-checkbox.sitecore.ts +0 -0
  227. /package/dist/templates/{angular → angular-sxp}/sitecore/definitions/components/styleguide-field-usage-content-list.sitecore.ts +0 -0
  228. /package/dist/templates/{angular → angular-sxp}/sitecore/definitions/components/styleguide-field-usage-custom.sitecore.ts +0 -0
  229. /package/dist/templates/{angular → angular-sxp}/sitecore/definitions/components/styleguide-field-usage-date.sitecore.ts +0 -0
  230. /package/dist/templates/{angular → angular-sxp}/sitecore/definitions/components/styleguide-field-usage-file.sitecore.ts +0 -0
  231. /package/dist/templates/{angular → angular-sxp}/sitecore/definitions/components/styleguide-field-usage-image.sitecore.ts +0 -0
  232. /package/dist/templates/{angular → angular-sxp}/sitecore/definitions/components/styleguide-field-usage-item-link.sitecore.ts +0 -0
  233. /package/dist/templates/{angular → angular-sxp}/sitecore/definitions/components/styleguide-field-usage-link.sitecore.ts +0 -0
  234. /package/dist/templates/{angular → angular-sxp}/sitecore/definitions/components/styleguide-field-usage-number.sitecore.ts +0 -0
  235. /package/dist/templates/{angular → angular-sxp}/sitecore/definitions/components/styleguide-field-usage-rich-text.sitecore.ts +0 -0
  236. /package/dist/templates/{angular → angular-sxp}/sitecore/definitions/components/styleguide-field-usage-text.sitecore.ts +0 -0
  237. /package/dist/templates/{angular → angular-sxp}/sitecore/definitions/components/styleguide-route-fields.sitecore.ts +0 -0
  238. /package/dist/templates/{angular → angular-sxp}/sitecore/definitions/components/styleguide-sitecore-context.sitecore.ts +0 -0
  239. /package/dist/templates/{angular → angular-sxp}/sitecore/definitions/components/styleguide-tracking.sitecore.ts +0 -0
  240. /package/dist/templates/{angular → angular-sxp}/sitecore/definitions/config.js +0 -0
  241. /package/dist/templates/{angular → angular-sxp}/sitecore/definitions/content.sitecore.ts +0 -0
  242. /package/dist/templates/{angular → angular-sxp}/sitecore/definitions/dictionary.sitecore.ts +0 -0
  243. /package/dist/templates/{angular → angular-sxp}/sitecore/definitions/placeholders.sitecore.ts +0 -0
  244. /package/dist/templates/{angular → angular-sxp}/sitecore/definitions/routes.sitecore.ts +0 -0
  245. /package/dist/templates/{angular → angular-sxp}/sitecore/definitions/templates/Styleguide-Explanatory-Component.sitecore.ts +0 -0
  246. /package/dist/templates/{angular → angular-sxp}/sitecore/definitions/templates/styleguide-content-list-template.sitecore.ts +0 -0
  247. /package/dist/templates/{angular → angular-sxp}/sitecore/definitions/templates/styleguide-edit-frame-list-item-template.sitecore.ts +0 -0
  248. /package/dist/templates/{angular → angular-sxp}/sitecore/definitions/templates/styleguide-item-link-template.sitecore.ts +0 -0
  249. /package/dist/templates/{angular → angular-sxp}/sitecore/gitignore +0 -0
  250. /package/dist/templates/{angular → angular-sxp}/sitecore/pipelines/example.patch.ts +0 -0
  251. /package/dist/templates/{angular → angular-sxp}/src/app/components/graph-ql-connected-demo/graph-ql-connected-demo.component.graphql +0 -0
  252. /package/dist/templates/{angular → angular-sxp}/src/app/components/graph-ql-connected-demo/graph-ql-connected-demo.component.html +0 -0
  253. /package/dist/templates/{angular → angular-sxp}/src/app/components/graph-ql-connected-demo/graph-ql-connected-demo.component.ts +0 -0
  254. /package/dist/templates/{angular → angular-sxp}/src/app/components/graph-ql-integrated-demo/graph-ql-integrated-demo.component.html +0 -0
  255. /package/dist/templates/{angular → angular-sxp}/src/app/components/graph-ql-integrated-demo/graph-ql-integrated-demo.component.ts +0 -0
  256. /package/dist/templates/{angular → angular-sxp}/src/app/components/graph-ql-layout/graph-ql-layout.component.html +0 -0
  257. /package/dist/templates/{angular → angular-sxp}/src/app/components/graph-ql-layout/graph-ql-layout.component.ts +0 -0
  258. /package/dist/templates/{angular → angular-sxp}/src/app/components/shared/styleguide-specimen/styleguide-specimen.component.ts +0 -0
  259. /package/dist/templates/{angular → angular-sxp}/src/app/components/styleguide-angular-lazy-loading/styleguide-angular-lazy-loading.component.html +0 -0
  260. /package/dist/templates/{angular → angular-sxp}/src/app/components/styleguide-angular-lazy-loading/styleguide-angular-lazy-loading.component.ts +0 -0
  261. /package/dist/templates/{angular → angular-sxp}/src/app/components/styleguide-angular-lazy-loading/styleguide-angular-lazy-loading.module.ts +0 -0
  262. /package/dist/templates/{angular → angular-sxp}/src/app/components/styleguide-component-params/styleguide-component-params.component.html +0 -0
  263. /package/dist/templates/{angular → angular-sxp}/src/app/components/styleguide-component-params/styleguide-component-params.component.ts +0 -0
  264. /package/dist/templates/{angular → angular-sxp}/src/app/components/styleguide-custom-route-type/styleguide-custom-route-type.component.html +0 -0
  265. /package/dist/templates/{angular → angular-sxp}/src/app/components/styleguide-custom-route-type/styleguide-custom-route-type.component.ts +0 -0
  266. /package/dist/templates/{angular → angular-sxp}/src/app/components/styleguide-edit-frame/styleguide-edit-frame.component.html +0 -0
  267. /package/dist/templates/{angular → angular-sxp}/src/app/components/styleguide-edit-frame/styleguide-edit-frame.component.ts +0 -0
  268. /package/dist/templates/{angular → angular-sxp}/src/app/components/styleguide-field-usage-checkbox/styleguide-field-usage-checkbox.component.html +0 -0
  269. /package/dist/templates/{angular → angular-sxp}/src/app/components/styleguide-field-usage-checkbox/styleguide-field-usage-checkbox.component.ts +0 -0
  270. /package/dist/templates/{angular → angular-sxp}/src/app/components/styleguide-field-usage-content-list/styleguide-field-usage-content-list.component.html +0 -0
  271. /package/dist/templates/{angular → angular-sxp}/src/app/components/styleguide-field-usage-content-list/styleguide-field-usage-content-list.component.ts +0 -0
  272. /package/dist/templates/{angular → angular-sxp}/src/app/components/styleguide-field-usage-custom/styleguide-field-usage-custom.component.html +0 -0
  273. /package/dist/templates/{angular → angular-sxp}/src/app/components/styleguide-field-usage-custom/styleguide-field-usage-custom.component.ts +0 -0
  274. /package/dist/templates/{angular → angular-sxp}/src/app/components/styleguide-field-usage-date/styleguide-field-usage-date.component.html +0 -0
  275. /package/dist/templates/{angular → angular-sxp}/src/app/components/styleguide-field-usage-date/styleguide-field-usage-date.component.ts +0 -0
  276. /package/dist/templates/{angular → angular-sxp}/src/app/components/styleguide-field-usage-file/styleguide-field-usage-file.component.html +0 -0
  277. /package/dist/templates/{angular → angular-sxp}/src/app/components/styleguide-field-usage-file/styleguide-field-usage-file.component.ts +0 -0
  278. /package/dist/templates/{angular → angular-sxp}/src/app/components/styleguide-field-usage-image/styleguide-field-usage-image.component.html +0 -0
  279. /package/dist/templates/{angular → angular-sxp}/src/app/components/styleguide-field-usage-image/styleguide-field-usage-image.component.ts +0 -0
  280. /package/dist/templates/{angular → angular-sxp}/src/app/components/styleguide-field-usage-item-link/styleguide-field-usage-item-link.component.html +0 -0
  281. /package/dist/templates/{angular → angular-sxp}/src/app/components/styleguide-field-usage-item-link/styleguide-field-usage-item-link.component.ts +0 -0
  282. /package/dist/templates/{angular → angular-sxp}/src/app/components/styleguide-field-usage-link/styleguide-field-usage-link.component.html +0 -0
  283. /package/dist/templates/{angular → angular-sxp}/src/app/components/styleguide-field-usage-link/styleguide-field-usage-link.component.ts +0 -0
  284. /package/dist/templates/{angular → angular-sxp}/src/app/components/styleguide-field-usage-number/styleguide-field-usage-number.component.html +0 -0
  285. /package/dist/templates/{angular → angular-sxp}/src/app/components/styleguide-field-usage-number/styleguide-field-usage-number.component.ts +0 -0
  286. /package/dist/templates/{angular → angular-sxp}/src/app/components/styleguide-field-usage-rich-text/styleguide-field-usage-rich-text.component.html +0 -0
  287. /package/dist/templates/{angular → angular-sxp}/src/app/components/styleguide-field-usage-rich-text/styleguide-field-usage-rich-text.component.ts +0 -0
  288. /package/dist/templates/{angular → angular-sxp}/src/app/components/styleguide-field-usage-text/styleguide-field-usage-text.component.html +0 -0
  289. /package/dist/templates/{angular → angular-sxp}/src/app/components/styleguide-field-usage-text/styleguide-field-usage-text.component.ts +0 -0
  290. /package/dist/templates/{angular → angular-sxp}/src/app/components/styleguide-layout/styleguide-layout.component.html +0 -0
  291. /package/dist/templates/{angular → angular-sxp}/src/app/components/styleguide-layout/styleguide-layout.component.ts +0 -0
  292. /package/dist/templates/{angular → angular-sxp}/src/app/components/styleguide-layout-reuse/styleguide-layout-reuse.component.html +0 -0
  293. /package/dist/templates/{angular → angular-sxp}/src/app/components/styleguide-layout-reuse/styleguide-layout-reuse.component.ts +0 -0
  294. /package/dist/templates/{angular → angular-sxp}/src/app/components/styleguide-layout-tabs/styleguide-layout-tabs.component.html +0 -0
  295. /package/dist/templates/{angular → angular-sxp}/src/app/components/styleguide-layout-tabs/styleguide-layout-tabs.component.ts +0 -0
  296. /package/dist/templates/{angular → angular-sxp}/src/app/components/styleguide-layout-tabs-tab/styleguide-layout-tabs-tab.component.html +0 -0
  297. /package/dist/templates/{angular → angular-sxp}/src/app/components/styleguide-layout-tabs-tab/styleguide-layout-tabs-tab.component.ts +0 -0
  298. /package/dist/templates/{angular → angular-sxp}/src/app/components/styleguide-multilingual/styleguide-multilingual.component.html +0 -0
  299. /package/dist/templates/{angular → angular-sxp}/src/app/components/styleguide-multilingual/styleguide-multilingual.component.ts +0 -0
  300. /package/dist/templates/{angular → angular-sxp}/src/app/components/styleguide-route-fields/styleguide-route-fields.component.html +0 -0
  301. /package/dist/templates/{angular → angular-sxp}/src/app/components/styleguide-route-fields/styleguide-route-fields.component.ts +0 -0
  302. /package/dist/templates/{angular → angular-sxp}/src/app/components/styleguide-section/styleguide-section.component.html +0 -0
  303. /package/dist/templates/{angular → angular-sxp}/src/app/components/styleguide-section/styleguide-section.component.ts +0 -0
  304. /package/dist/templates/{angular → angular-sxp}/src/app/components/styleguide-sitecore-context/styleguide-sitecore-context.component.html +0 -0
  305. /package/dist/templates/{angular → angular-sxp}/src/app/components/styleguide-sitecore-context/styleguide-sitecore-context.component.ts +0 -0
  306. /package/dist/templates/{angular → angular-sxp}/src/app/components/styleguide-tracking/styleguide-tracking.component.html +0 -0
  307. /package/dist/templates/{angular → angular-sxp}/src/app/components/styleguide-tracking/styleguide-tracking.component.ts +0 -0
@@ -0,0 +1,8 @@
1
+ # Your proxy port (default: 3001)
2
+ PROXY_PORT=
3
+
4
+ # Your proxy server bundle path
5
+ PROXY_BUNDLE_PATH=
6
+
7
+ # Set the DEBUG environment variable to 'sitecore-jss:*,sitecore-jss:proxy,http-proxy-middleware*' to see all logs:
8
+ #DEBUG=sitecore-jss:*,http-proxy-middleware*
@@ -0,0 +1,36 @@
1
+ # Node XM Cloud Proxy
2
+
3
+ > Sitecore JSS Proxy for XM Cloud is considered experimental.
4
+
5
+ [Documentation](<TODO>)
6
+
7
+ This is a sample setup showing one of how you can configure XM Cloud rendering server.
8
+
9
+ ## Pre-requisites
10
+
11
+ 1. SPA sample supports XM Cloud out of the box.
12
+
13
+ 1. Build your SPA app bundle with `jss build`. The build output should be placed in the `dist` folder.
14
+
15
+ ## Setup
16
+
17
+ Open `config.js` and specify your application settings.
18
+
19
+ ### Environment Variables
20
+
21
+ The following environment variables can be set to configure the Proxy sample instead of modifying `config.js`. You can use the `.env` file located in the root of the app or set these directly in the environment (for example, in containers).
22
+
23
+ | Parameter | Description |
24
+ | -------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------ |
25
+ | `PROXY_BUNDLE_PATH` | Path to the JSS SPA app's `server.bundle.js`. Default can be seen in [config.js](./config.js) file. |
26
+ | `PROXY_PORT` | Optional. Port which will be used when start sample. Default can be seen in [config.js](./config.js) file. |
27
+ | `DEBUG` | Optional. Debug level for the proxy. Set the DEBUG environment variable to 'sitecore-jss:*,proxy*,http-proxy-middleware*' to see all logs. |
28
+
29
+ ## Build & run
30
+
31
+ 1. Run `npm install`
32
+
33
+ 1. Run `npm run start`
34
+
35
+ You should be able to see the following message:
36
+ `server listening on port 3001!`.
@@ -0,0 +1,25 @@
1
+ {
2
+ "name": "node-xmcloud-sample",
3
+ "version": "22.2.0-canary",
4
+ "description": "Node XM Cloud Proxy sample for running XM Cloud JSS SPA apps",
5
+ "author": {
6
+ "name": "Sitecore Corporation",
7
+ "url": "https://jss.sitecore.com"
8
+ },
9
+ "scripts": {
10
+ "start": "ts-node ./src/index.ts"
11
+ },
12
+ "dependencies": {
13
+ "compression": "^1.7.4",
14
+ "express": "^4.18.2",
15
+ "dotenv": "^16.0.3",
16
+ "http-proxy-middleware": "^3.0.0"
17
+ },
18
+ "devDependencies": {
19
+ "@sitecore-jss/sitecore-jss": "~22.2.0-canary",
20
+ "@types/compression": "^1.7.2",
21
+ "@types/express": "^4.17.17",
22
+ "ts-node": "^10.9.1",
23
+ "typescript": "~4.9.5"
24
+ }
25
+ }
@@ -0,0 +1,19 @@
1
+ import { Config, ServerBundle } from './types';
2
+
3
+ /**
4
+ * The server.bundle.js file from your pre-built SPA app.
5
+ */
6
+ const bundlePath = process.env.PROXY_BUNDLE_PATH || '../dist/server.bundle';
7
+
8
+ const serverBundle: ServerBundle = require(bundlePath);
9
+
10
+ export const config: Config = {
11
+ /**
12
+ * The require'd server.bundle.js file from your pre-built SPA app.
13
+ */
14
+ serverBundle,
15
+ /**
16
+ * Port which will be used when start the proxy
17
+ */
18
+ port: process.env.PROXY_PORT || 3001,
19
+ };
@@ -0,0 +1,185 @@
1
+ import 'dotenv/config';
2
+ import express, { Response } from 'express';
3
+ import compression from 'compression';
4
+ import { createProxyMiddleware } from 'http-proxy-middleware';
5
+ import { debug } from '@sitecore-jss/sitecore-jss';
6
+ import { config } from './config';
7
+
8
+ const server = express();
9
+
10
+ const {
11
+ renderView,
12
+ parseRouteUrl,
13
+ dictionaryServiceFactory,
14
+ layoutServiceFactory,
15
+ } = config.serverBundle;
16
+
17
+ /**
18
+ * Required server bundle properties
19
+ */
20
+ const requiredProperties = [
21
+ 'renderView',
22
+ 'parseRouteUrl',
23
+ 'clientFactory',
24
+ 'getClientFactoryConfig',
25
+ 'siteName',
26
+ 'defaultLanguage',
27
+ 'layoutServiceFactory',
28
+ 'dictionaryServiceFactory',
29
+ ];
30
+
31
+ const missingProperties = requiredProperties.filter((property) => !config.serverBundle[property]);
32
+
33
+ if (missingProperties.length > 0) {
34
+ throw new Error(
35
+ `ERROR: The serverBundle should export the following properties: ${missingProperties.join(
36
+ ', '
37
+ )}. Please check your server bundle.`
38
+ );
39
+ }
40
+
41
+ /**
42
+ * GraphQL endpoint resolution to meet the requirements of the http-proxy-middleware
43
+ */
44
+ const graphQLEndpoint = (() => {
45
+ const clientFactoryConfig = config.serverBundle.getClientFactoryConfig();
46
+
47
+ try {
48
+ const graphQLEndpoint = new URL(clientFactoryConfig.endpoint);
49
+ // Browser request path to the proxy. Includes only the pathname.
50
+ const pathname = graphQLEndpoint.pathname;
51
+ // Target URL for the proxy. Can't include the query string.
52
+ const target = `${graphQLEndpoint.protocol}//${graphQLEndpoint.hostname}${pathname}`;
53
+
54
+ return {
55
+ target,
56
+ path: pathname,
57
+ };
58
+ } catch (error) {
59
+ throw new Error(
60
+ `ERROR: The serverBundle should export a getClientFactoryConfig function with valid GraphQL endpoint URL returned, current value is ${clientFactoryConfig.endpoint}. ` +
61
+ 'Please check your server bundle.'
62
+ );
63
+ }
64
+ })();
65
+
66
+ const layoutService = layoutServiceFactory.create();
67
+
68
+ const dictionaryService = dictionaryServiceFactory.create();
69
+
70
+ /**
71
+ * Parse requested url in order to detect current route and language
72
+ * @param {string} reqRoute requested route
73
+ */
74
+ const getRouteParams = (reqRoute: string) => {
75
+ const routeParams = parseRouteUrl(reqRoute);
76
+ let lang;
77
+ let route;
78
+
79
+ if (routeParams) {
80
+ route = routeParams.sitecoreRoute || '/';
81
+
82
+ if (!route.startsWith('/')) {
83
+ route = `/${route}`;
84
+ }
85
+
86
+ lang = routeParams.lang || '';
87
+ }
88
+
89
+ return { route, lang };
90
+ };
91
+
92
+ /**
93
+ * Handle unexpected error
94
+ * @param {Response} res server response
95
+ * @param {Error} err error
96
+ */
97
+ const handleError = (res: Response, err: unknown) => {
98
+ debug.proxy('response error %o', err);
99
+
100
+ res.status(500).send('Internal Server Error');
101
+ };
102
+
103
+ // enable gzip compression for appropriate file types
104
+ server.use(compression());
105
+
106
+ // turn off x-powered-by http header
107
+ server.settings['x-powered-by'] = false;
108
+
109
+ // Serve static app assets from local /dist folder
110
+ server.use(
111
+ '/dist',
112
+ express.static('dist', {
113
+ fallthrough: false, // force 404 for unknown assets under /dist
114
+ })
115
+ );
116
+
117
+ /**
118
+ * Proxy browser GraphQL requests to the Sitecore GraphQL endpoint
119
+ */
120
+ server.use(
121
+ graphQLEndpoint.path,
122
+ createProxyMiddleware({
123
+ target: graphQLEndpoint.target,
124
+ changeOrigin: true,
125
+ })
126
+ );
127
+
128
+ server.use(async (req, res) => {
129
+ debug.proxy(`performing SSR for ${req.originalUrl}`);
130
+
131
+ try {
132
+ const { route, lang } = getRouteParams(req.originalUrl);
133
+
134
+ if (!route) {
135
+ debug.proxy('no route detected, returning 404');
136
+
137
+ res.sendStatus(404);
138
+
139
+ return;
140
+ }
141
+
142
+ // Language is required. In case it's not specified in the requested URL, fallback to the default language from the app configuration.
143
+ const layoutData = await layoutService.fetchLayoutData(
144
+ route,
145
+ lang || config.serverBundle.defaultLanguage
146
+ );
147
+
148
+ const viewBag = { dictionary: {} };
149
+
150
+ viewBag.dictionary = await dictionaryService.fetchDictionaryData(
151
+ layoutData.sitecore.context.language || config.serverBundle.defaultLanguage
152
+ );
153
+
154
+ renderView(
155
+ (err, result) => {
156
+ if (err) {
157
+ handleError(res, err);
158
+ return;
159
+ }
160
+
161
+ if (!result) {
162
+ debug.proxy('no result returned from renderView, returning 204');
163
+
164
+ res.status(204).send();
165
+ return;
166
+ }
167
+
168
+ const statusCode = layoutData.sitecore.route ? 200 : 404;
169
+
170
+ debug.proxy('sending response with status %s', statusCode);
171
+
172
+ res.status(statusCode).send(result.html);
173
+ },
174
+ route,
175
+ layoutData,
176
+ viewBag
177
+ );
178
+ } catch (err) {
179
+ handleError(res, err);
180
+ }
181
+ });
182
+
183
+ server.listen(config.port, () => {
184
+ console.log(`server listening on port ${config.port}!`);
185
+ });
@@ -0,0 +1,61 @@
1
+ import {
2
+ GraphQLRequestClientFactory,
3
+ GraphQLRequestClientFactoryConfig,
4
+ } from '@sitecore-jss/sitecore-jss';
5
+ import { DictionaryService } from '@sitecore-jss/sitecore-jss/i18n';
6
+ import { LayoutService, LayoutServiceData } from '@sitecore-jss/sitecore-jss/layout';
7
+
8
+ interface ServerResponse {
9
+ /**
10
+ * The rendered HTML to return to the client
11
+ */
12
+ html: string;
13
+ /**
14
+ * Set the HTTP status code. If not set, the status code returned from Layout Service is returned.
15
+ */
16
+ status?: number;
17
+ /**
18
+ * Sets a redirect URL, causing the reply to send a HTTP redirect instead of the HTML content.
19
+ * Note: when using this you must set the status code to 301 or 302.
20
+ */
21
+ redirect?: string;
22
+ }
23
+
24
+ declare type AppRenderer = (
25
+ callback: (error: Error | null, result: ServerResponse | null) => void,
26
+ path: string,
27
+ /**
28
+ * Data returned by Layout Service. If the route does not exist, null.
29
+ */
30
+ layoutData: LayoutServiceData,
31
+ viewBag: {
32
+ [key: string]: unknown;
33
+ dictionary: { [key: string]: string };
34
+ }
35
+ ) => void;
36
+
37
+ declare type RouteUrlParser = (
38
+ url: string
39
+ ) => {
40
+ sitecoreRoute?: string;
41
+ lang?: string;
42
+ qsParams?: string;
43
+ };
44
+
45
+ export interface ServerBundle {
46
+ [key: string]: unknown;
47
+ renderView: AppRenderer;
48
+ parseRouteUrl: RouteUrlParser;
49
+ clientFactory: GraphQLRequestClientFactory;
50
+ getClientFactoryConfig: () => GraphQLRequestClientFactoryConfig;
51
+ siteName: string;
52
+ defaultLanguage: string;
53
+ layoutServiceFactory: { create: () => LayoutService };
54
+ dictionaryServiceFactory: { create: () => DictionaryService };
55
+ }
56
+
57
+ export interface Config {
58
+ [key: string]: unknown;
59
+ port: string | number;
60
+ serverBundle: ServerBundle;
61
+ }
@@ -0,0 +1,22 @@
1
+ {
2
+ "compilerOptions": {
3
+ "newLine": "LF",
4
+ "emitDecoratorMetadata": true,
5
+ "experimentalDecorators": true,
6
+ "noFallthroughCasesInSwitch": true,
7
+ "rootDir": ".",
8
+ "esModuleInterop": true,
9
+ "forceConsistentCasingInFileNames": true,
10
+ "strict": true,
11
+ "noImplicitAny": true,
12
+ "noUnusedLocals": true,
13
+ "noUnusedParameters": true,
14
+ "noImplicitReturns": true,
15
+ "strictFunctionTypes": false,
16
+ "downlevelIteration": true,
17
+ "moduleResolution": "node",
18
+ "isolatedModules": true,
19
+ "allowSyntheticDefaultImports": true
20
+ },
21
+ "exclude": ["node_modules", "dist"]
22
+ }
@@ -31,6 +31,11 @@ generateConfig();
31
31
  * NOTE! Any configs returned here will be written into the client-side JS bundle. DO NOT PUT SECRETS HERE.
32
32
  */
33
33
  function generateConfig() {
34
+ // Handle undefined values
35
+ Object.keys(defaultConfig).forEach((prop) => {
36
+ defaultConfig[prop] = defaultConfig[prop] || '';
37
+ });
38
+
34
39
  try {
35
40
  config = jssConfigFactory.create(defaultConfig);
36
41
  } catch (error) {
@@ -50,9 +55,11 @@ const config = {};\n`;
50
55
 
51
56
  // Set base configuration values, allowing override with environment variables
52
57
  Object.keys(config).forEach(prop => {
53
- configText += `config.${prop} = process.env.REACT_APP_${constantCase(prop)} || "${
54
- config[prop]?.trim()
55
- }";\n`;
58
+ // Handle undefined values
59
+ const value = config[prop] || '';
60
+ configText += `config.${prop} = process.env.REACT_APP_${constantCase(
61
+ prop
62
+ )} || "${value.trim()}";\n`;
56
63
  });
57
64
  configText += 'module.exports = config;';
58
65
 
@@ -33,6 +33,11 @@ module.exports = function generateConfig(configOverrides) {
33
33
  // and finally config passed in the configOverrides param wins.
34
34
  const config = Object.assign(defaultConfig, scjssConfig, packageJson, configOverrides);
35
35
 
36
+ // Handle undefined values
37
+ Object.keys(config).forEach((prop) => {
38
+ config[prop] = config[prop] || '';
39
+ });
40
+
36
41
  // The GraphQL endpoint is an example of making a _computed_ config setting
37
42
  // based on other config settings.
38
43
  const computedConfig = {};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "create-sitecore-jss",
3
- "version": "22.2.0-canary.1",
3
+ "version": "22.2.0-canary.11",
4
4
  "description": "Sitecore JSS initializer",
5
5
  "bin": "./dist/index.js",
6
6
  "scripts": {
@@ -63,5 +63,5 @@
63
63
  "ts-node": "^10.9.1",
64
64
  "typescript": "~4.9.5"
65
65
  },
66
- "gitHead": "7dd64ce5a019e4579596beae31315db262a4700f"
66
+ "gitHead": "f4cca11e7c8662590ae43f3100065f0adb1728c5"
67
67
  }
@@ -1,28 +0,0 @@
1
- import {
2
- GraphQLRequestClientFactoryConfig,
3
- GraphQLRequestClient,
4
- } from '@sitecore-jss/sitecore-jss-angular';
5
- import { environment as env } from '../../environments/environment';
6
-
7
- // The GraphQLRequestClientFactory serves as the central hub for executing GraphQL requests within the application
8
-
9
- /**
10
- * Creates a new GraphQLRequestClientFactory instance
11
- * @returns GraphQLRequestClientFactory instance
12
- */
13
- export const createGraphQLClientFactory = () => {
14
- let clientConfig: GraphQLRequestClientFactoryConfig;
15
-
16
- if (env.graphQLEndpoint && env.sitecoreApiKey) {
17
- clientConfig = {
18
- endpoint: env.graphQLEndpoint,
19
- apiKey: env.sitecoreApiKey,
20
- };
21
- } else {
22
- throw new Error('Please configure your graphQLEndpoint and sitecoreApiKey.');
23
- }
24
-
25
- return GraphQLRequestClient.createClientFactory(clientConfig);
26
- };
27
-
28
- export const clientFactory = createGraphQLClientFactory();