create-sitecore-jss 22.2.0-canary.81 → 22.2.0-canary.83

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 (362) hide show
  1. package/dist/bin.js +19 -35
  2. package/dist/common/index.js +3 -5
  3. package/dist/common/processes/install.js +2 -9
  4. package/dist/common/processes/next.js +3 -6
  5. package/dist/common/processes/transform.js +13 -18
  6. package/dist/common/prompts/base.js +25 -0
  7. package/dist/common/utils/helpers.js +19 -29
  8. package/dist/init-runner.js +11 -16
  9. package/dist/initializers/angular/index.js +0 -13
  10. package/dist/initializers/angular/prompts.js +1 -22
  11. package/dist/initializers/nextjs/index.js +2 -2
  12. package/dist/initializers/nextjs/prompts.js +0 -2
  13. package/dist/initializers/nextjs/remove-dev-dependencies.js +2 -2
  14. package/dist/initializers/nextjs-multisite/index.js +1 -1
  15. package/dist/initializers/nextjs-styleguide/index.js +1 -1
  16. package/dist/initializers/nextjs-styleguide-tracking/index.js +1 -1
  17. package/dist/initializers/nextjs-sxa/index.js +1 -1
  18. package/dist/initializers/nextjs-xmcloud/index.js +1 -1
  19. package/dist/initializers/react/index.js +3 -3
  20. package/dist/initializers/react/prompts.js +1 -1
  21. package/dist/initializers/react-native/prompts.js +0 -1
  22. package/dist/initializers/vue/prompts.js +1 -1
  23. package/dist/templates/angular/.env +3 -4
  24. package/dist/templates/angular/.eslintrc +0 -1
  25. package/dist/templates/angular/README.md +45 -5
  26. package/dist/templates/angular/angular.json +6 -1
  27. package/dist/templates/angular/gitignore +0 -5
  28. package/dist/templates/angular/package.json +18 -6
  29. package/dist/templates/angular/proxy.conf.js +23 -5
  30. package/dist/templates/angular/scripts/bootstrap.ts +24 -5
  31. package/dist/templates/angular/scripts/generate-component-factory.ts +166 -0
  32. package/dist/templates/angular/scripts/generate-config.ts +72 -71
  33. package/dist/templates/angular/scripts/update-graphql-fragment-data.ts +28 -21
  34. package/dist/templates/angular/server.bundle.ts +5 -3
  35. package/dist/templates/angular/src/app/JssState.ts +9 -2
  36. package/dist/templates/angular/src/app/app.module.ts +6 -5
  37. package/dist/templates/angular/src/app/app.server.module.ts +6 -9
  38. package/dist/templates/angular/src/app/components/app-components.shared.module.ts +19 -4
  39. package/dist/templates/angular/src/app/components/gitignore +1 -1
  40. package/dist/templates/{angular-sxp → angular}/src/app/components/graph-ql-layout/graph-ql-layout.component.ts +1 -1
  41. package/dist/templates/angular/src/app/i18n/jss-translation-client-loader.service.ts +7 -15
  42. package/dist/templates/angular/src/app/i18n/jss-translation-server-loader.service.ts +2 -14
  43. package/dist/templates/angular/src/app/jss-context.server-side.service.ts +4 -4
  44. package/dist/templates/angular/src/app/jss-context.service.ts +11 -14
  45. package/dist/templates/{angular-sxp → angular}/src/app/jss-data-fetcher.service.ts +1 -3
  46. package/dist/templates/angular/src/app/jss-graphql.service.ts +7 -7
  47. package/dist/templates/angular/src/app/layout/jss-layout.service.ts +2 -2
  48. package/dist/templates/angular/src/app/lib/client-factory.ts +28 -0
  49. package/dist/templates/angular/src/app/lib/dictionary-service-factory.ts +13 -24
  50. package/dist/templates/angular/src/app/lib/layout-service-factory.ts +12 -20
  51. package/dist/templates/angular/src/app/routing/layout/layout.component.html +1 -1
  52. package/dist/templates/angular/src/app/routing/layout/layout.component.ts +11 -11
  53. package/dist/templates/angular/src/app/routing/navigation/navigation.component.html +6 -5
  54. package/dist/templates/angular/src/app/routing/navigation/navigation.component.ts +2 -1
  55. package/dist/templates/angular/src/app/routing/routing.module.ts +21 -14
  56. package/dist/templates/{angular-sxp/src/app/routing/scripts → angular/src/app/routing}/visitor-identification/visitor-identification.component.ts +3 -9
  57. package/dist/templates/angular/src/environments/gitignore +1 -2
  58. package/dist/templates/angular/src/graphql-fragment-types.ts +95 -0
  59. package/dist/templates/angular/tsconfig.json +2 -7
  60. package/dist/templates/nextjs/scripts/config/plugins/fallback.ts +1 -0
  61. package/dist/templates/nextjs/scripts/generate-config.ts +1 -8
  62. package/dist/templates/nextjs-styleguide/scripts/config/plugins/disconnected.ts +0 -1
  63. package/dist/templates/nextjs-sxa/src/assets/sass/components/common/_alignment.scss +7 -34
  64. package/dist/templates/node-headless-ssr-proxy/src/config.ts +3 -3
  65. package/dist/templates/node-headless-ssr-proxy/src/httpAgents.ts +2 -2
  66. package/dist/templates/node-headless-ssr-proxy/src/index.ts +2 -9
  67. package/dist/templates/react/scripts/generate-config.js +3 -10
  68. package/dist/templates/vue/scripts/generate-config.js +0 -5
  69. package/package.json +2 -2
  70. package/dist/common/prompts/proxy.js +0 -35
  71. package/dist/common/prompts/sxp.js +0 -34
  72. package/dist/initializers/angular-sxp/index.js +0 -62
  73. package/dist/initializers/angular-xmcloud/index.js +0 -80
  74. package/dist/initializers/node-xmcloud-proxy/index.js +0 -33
  75. package/dist/templates/angular/scripts/config/index.ts +0 -28
  76. package/dist/templates/angular/scripts/config/plugins/computed.ts +0 -21
  77. package/dist/templates/angular/scripts/config/plugins/fallback.ts +0 -22
  78. package/dist/templates/angular/scripts/config/plugins/package-json.ts +0 -22
  79. package/dist/templates/angular/scripts/config/plugins/scjssconfig.ts +0 -29
  80. package/dist/templates/angular/scripts/generate-component-factory/index.ts +0 -45
  81. package/dist/templates/angular/scripts/generate-component-factory/plugins/component-factory.ts +0 -147
  82. package/dist/templates/angular/scripts/generate-component-factory/plugins/components.ts +0 -19
  83. package/dist/templates/angular/scripts/generate-component-factory/plugins/packages.ts +0 -29
  84. package/dist/templates/angular/scripts/generate-component-factory/template.ts +0 -46
  85. package/dist/templates/angular/scripts/generate-plugins.ts +0 -33
  86. package/dist/templates/angular/scripts/temp/gitignore +0 -2
  87. package/dist/templates/angular/server.exports.ts +0 -13
  88. package/dist/templates/angular/src/app/lib/config.ts +0 -16
  89. package/dist/templates/angular/src/app/lib/graphql-client-factory/config.ts +0 -21
  90. package/dist/templates/angular/src/app/lib/graphql-client-factory/index.ts +0 -16
  91. package/dist/templates/angular/src/app/routing/scripts/scripts.component.html +0 -1
  92. package/dist/templates/angular/src/app/routing/scripts/scripts.component.ts +0 -7
  93. package/dist/templates/angular/src/app/routing/scripts/scripts.module.ts +0 -8
  94. package/dist/templates/angular-sxp/.env +0 -2
  95. package/dist/templates/angular-sxp/package.json +0 -12
  96. package/dist/templates/angular-sxp/proxy.conf.js +0 -43
  97. package/dist/templates/angular-sxp/scripts/config/plugins/disconnected.ts +0 -29
  98. package/dist/templates/angular-sxp/src/app/components/app-components.shared.module.ts +0 -35
  99. package/dist/templates/angular-sxp/src/app/routing/navigation/navigation.component.html +0 -23
  100. package/dist/templates/angular-sxp/src/app/routing/scripts/scripts.component.html +0 -3
  101. package/dist/templates/angular-sxp/src/app/routing/scripts/scripts.module.ts +0 -9
  102. package/dist/templates/angular-sxp/src/graphql-fragment-types.ts +0 -219
  103. package/dist/templates/angular-xmcloud/.env +0 -21
  104. package/dist/templates/angular-xmcloud/angular.json +0 -33
  105. package/dist/templates/angular-xmcloud/package.json +0 -17
  106. package/dist/templates/angular-xmcloud/scripts/bootstrap.ts +0 -28
  107. package/dist/templates/angular-xmcloud/scripts/config/plugins/xmcloud.ts +0 -39
  108. package/dist/templates/angular-xmcloud/scripts/generate-component-factory/plugins/packages.ts +0 -34
  109. package/dist/templates/angular-xmcloud/scripts/generate-component-factory/template.ts +0 -57
  110. package/dist/templates/angular-xmcloud/scripts/generate-metadata.ts +0 -25
  111. package/dist/templates/angular-xmcloud/scripts/proxy-build.ts +0 -15
  112. package/dist/templates/angular-xmcloud/server.exports.ts +0 -24
  113. package/dist/templates/angular-xmcloud/src/app/components/app-components.shared.module.ts +0 -21
  114. package/dist/templates/angular-xmcloud/src/app/components/column-splitter/column-splitter.component.html +0 -5
  115. package/dist/templates/angular-xmcloud/src/app/components/column-splitter/column-splitter.component.ts +0 -40
  116. package/dist/templates/angular-xmcloud/src/app/components/container/container.component.html +0 -14
  117. package/dist/templates/angular-xmcloud/src/app/components/container/container.component.ts +0 -30
  118. package/dist/templates/angular-xmcloud/src/app/components/image/image.component.html +0 -36
  119. package/dist/templates/angular-xmcloud/src/app/components/image/image.component.ts +0 -67
  120. package/dist/templates/angular-xmcloud/src/app/components/link-list/link-list.component.html +0 -15
  121. package/dist/templates/angular-xmcloud/src/app/components/link-list/link-list.component.ts +0 -41
  122. package/dist/templates/angular-xmcloud/src/app/components/navigation/navigation-item.component.html +0 -23
  123. package/dist/templates/angular-xmcloud/src/app/components/navigation/navigation-item.component.ts +0 -65
  124. package/dist/templates/angular-xmcloud/src/app/components/navigation/navigation.component.html +0 -21
  125. package/dist/templates/angular-xmcloud/src/app/components/navigation/navigation.component.ts +0 -49
  126. package/dist/templates/angular-xmcloud/src/app/components/page-content/page-content.component.html +0 -5
  127. package/dist/templates/angular-xmcloud/src/app/components/page-content/page-content.component.ts +0 -39
  128. package/dist/templates/angular-xmcloud/src/app/components/partial-design-dynamic-placeholder/partial-design-dynamic-placeholder.component.html +0 -1
  129. package/dist/templates/angular-xmcloud/src/app/components/partial-design-dynamic-placeholder/partial-design-dynamic-placeholder.component.ts +0 -15
  130. package/dist/templates/angular-xmcloud/src/app/components/promo/promo.component.html +0 -21
  131. package/dist/templates/angular-xmcloud/src/app/components/promo/promo.component.ts +0 -13
  132. package/dist/templates/angular-xmcloud/src/app/components/richtext/richtext.component.html +0 -8
  133. package/dist/templates/angular-xmcloud/src/app/components/richtext/richtext.component.ts +0 -21
  134. package/dist/templates/angular-xmcloud/src/app/components/row-splitter/row-splitter.component.html +0 -11
  135. package/dist/templates/angular-xmcloud/src/app/components/row-splitter/row-splitter.component.ts +0 -35
  136. package/dist/templates/angular-xmcloud/src/app/components/sxa.component.ts +0 -15
  137. package/dist/templates/angular-xmcloud/src/app/components/title/title.component.html +0 -10
  138. package/dist/templates/angular-xmcloud/src/app/components/title/title.component.ts +0 -56
  139. package/dist/templates/angular-xmcloud/src/app/jss-link.service.ts +0 -55
  140. package/dist/templates/angular-xmcloud/src/app/lib/config.ts +0 -17
  141. package/dist/templates/angular-xmcloud/src/app/lib/graphql-client-factory/config.ts +0 -58
  142. package/dist/templates/angular-xmcloud/src/app/routing/layout/layout.component.html +0 -38
  143. package/dist/templates/angular-xmcloud/src/app/routing/layout/layout.component.ts +0 -104
  144. package/dist/templates/angular-xmcloud/src/app/routing/scripts/cdp-page-view.component.ts +0 -77
  145. package/dist/templates/angular-xmcloud/src/app/routing/scripts/cloud-sdk-init.component.ts +0 -48
  146. package/dist/templates/angular-xmcloud/src/app/routing/scripts/scripts.component.html +0 -5
  147. package/dist/templates/angular-xmcloud/src/app/routing/scripts/scripts.module.ts +0 -12
  148. package/dist/templates/angular-xmcloud/src/assets/styles/basic/_component.scss +0 -48
  149. package/dist/templates/angular-xmcloud/src/assets/styles/basic/_container.scss +0 -64
  150. package/dist/templates/angular-xmcloud/src/assets/styles/basic/_fonts.scss +0 -3
  151. package/dist/templates/angular-xmcloud/src/assets/styles/basic/_footer.scss +0 -31
  152. package/dist/templates/angular-xmcloud/src/assets/styles/basic/_header.scss +0 -51
  153. package/dist/templates/angular-xmcloud/src/assets/styles/basic/_navigation.scss +0 -150
  154. package/dist/templates/angular-xmcloud/src/assets/styles/basic/_promo.scss +0 -58
  155. package/dist/templates/angular-xmcloud/src/assets/styles/basic/_rich-text.scss +0 -11
  156. package/dist/templates/angular-xmcloud/src/assets/styles/basic/_variables.scss +0 -10
  157. package/dist/templates/angular-xmcloud/src/assets/styles/basic/main.scss +0 -8
  158. package/dist/templates/angular-xmcloud/src/assets/styles/main.scss +0 -14
  159. package/dist/templates/angular-xmcloud/src/assets/styles/sass/_app.scss +0 -103
  160. package/dist/templates/angular-xmcloud/src/assets/styles/sass/abstracts/_functions.scss +0 -8
  161. package/dist/templates/angular-xmcloud/src/assets/styles/sass/abstracts/_mixins.scss +0 -121
  162. package/dist/templates/angular-xmcloud/src/assets/styles/sass/abstracts/_vars.scss +0 -3
  163. package/dist/templates/angular-xmcloud/src/assets/styles/sass/abstracts/vars/_colors.scss +0 -283
  164. package/dist/templates/angular-xmcloud/src/assets/styles/sass/abstracts/vars/_fontSizes.scss +0 -16
  165. package/dist/templates/angular-xmcloud/src/assets/styles/sass/abstracts/vars/_margins.scss +0 -11
  166. package/dist/templates/angular-xmcloud/src/assets/styles/sass/base/fonts/_fonts.scss +0 -1
  167. package/dist/templates/angular-xmcloud/src/assets/styles/sass/base/fonts/index.scss +0 -1
  168. package/dist/templates/angular-xmcloud/src/assets/styles/sass/base/index.scss +0 -3
  169. package/dist/templates/angular-xmcloud/src/assets/styles/sass/base/links/_link-button.scss +0 -26
  170. package/dist/templates/angular-xmcloud/src/assets/styles/sass/base/links/index.scss +0 -1
  171. package/dist/templates/angular-xmcloud/src/assets/styles/sass/base/reset/_inputs.scss +0 -58
  172. package/dist/templates/angular-xmcloud/src/assets/styles/sass/base/reset/_links.scss +0 -14
  173. package/dist/templates/angular-xmcloud/src/assets/styles/sass/base/reset/_ui-datepicker.scss +0 -7
  174. package/dist/templates/angular-xmcloud/src/assets/styles/sass/base/richtext/_richtext-files-icons.scss +0 -86
  175. package/dist/templates/angular-xmcloud/src/assets/styles/sass/base/richtext/_richtext.scss +0 -101
  176. package/dist/templates/angular-xmcloud/src/assets/styles/sass/base/richtext/index.scss +0 -2
  177. package/dist/templates/angular-xmcloud/src/assets/styles/sass/base/typehead/_typehead.scss +0 -95
  178. package/dist/templates/angular-xmcloud/src/assets/styles/sass/base/typehead/index.scss +0 -1
  179. package/dist/templates/angular-xmcloud/src/assets/styles/sass/components/_component-column-splitter.scss +0 -14
  180. package/dist/templates/angular-xmcloud/src/assets/styles/sass/components/_component-container.scss +0 -27
  181. package/dist/templates/angular-xmcloud/src/assets/styles/sass/components/_component-image.scss +0 -18
  182. package/dist/templates/angular-xmcloud/src/assets/styles/sass/components/_component-navigation.scss +0 -51
  183. package/dist/templates/angular-xmcloud/src/assets/styles/sass/components/_component-promo.scss +0 -42
  184. package/dist/templates/angular-xmcloud/src/assets/styles/sass/components/_component-richtext-content.scss +0 -19
  185. package/dist/templates/angular-xmcloud/src/assets/styles/sass/components/common/_alignment.scss +0 -26
  186. package/dist/templates/angular-xmcloud/src/assets/styles/sass/components/common/_boxed.scss +0 -16
  187. package/dist/templates/angular-xmcloud/src/assets/styles/sass/components/common/_clearfix.scss +0 -11
  188. package/dist/templates/angular-xmcloud/src/assets/styles/sass/components/common/_highlighted.scss +0 -63
  189. package/dist/templates/angular-xmcloud/src/assets/styles/sass/components/common/_link-button.scss +0 -16
  190. package/dist/templates/angular-xmcloud/src/assets/styles/sass/components/common/_promoted-box.scss +0 -3
  191. package/dist/templates/angular-xmcloud/src/assets/styles/sass/components/common/index.scss +0 -6
  192. package/dist/templates/angular-xmcloud/src/assets/styles/sass/components/container/_bordered.scss +0 -24
  193. package/dist/templates/angular-xmcloud/src/assets/styles/sass/components/container/_title-row-box.scss +0 -66
  194. package/dist/templates/angular-xmcloud/src/assets/styles/sass/components/container/index.scss +0 -1
  195. package/dist/templates/angular-xmcloud/src/assets/styles/sass/components/image/_image-default-size.scss +0 -6
  196. package/dist/templates/angular-xmcloud/src/assets/styles/sass/components/image/index.scss +0 -1
  197. package/dist/templates/angular-xmcloud/src/assets/styles/sass/components/image-alignment/_image-left.scss +0 -3
  198. package/dist/templates/angular-xmcloud/src/assets/styles/sass/components/image-alignment/_image-right.scss +0 -3
  199. package/dist/templates/angular-xmcloud/src/assets/styles/sass/components/index.scss +0 -17
  200. package/dist/templates/angular-xmcloud/src/assets/styles/sass/components/layout/_acaindent.scss +0 -5
  201. package/dist/templates/angular-xmcloud/src/assets/styles/sass/components/layout/_background.scss +0 -27
  202. package/dist/templates/angular-xmcloud/src/assets/styles/sass/components/layout/index.scss +0 -1
  203. package/dist/templates/angular-xmcloud/src/assets/styles/sass/components/link-list/_component-link-list.scss +0 -45
  204. package/dist/templates/angular-xmcloud/src/assets/styles/sass/components/link-list/_list-vertical.scss +0 -20
  205. package/dist/templates/angular-xmcloud/src/assets/styles/sass/components/link-list/index.scss +0 -2
  206. package/dist/templates/angular-xmcloud/src/assets/styles/sass/components/navigation/_navigation-fat.scss +0 -58
  207. package/dist/templates/angular-xmcloud/src/assets/styles/sass/components/navigation/_navigation-main-horizontal-vertical.scss +0 -176
  208. package/dist/templates/angular-xmcloud/src/assets/styles/sass/components/navigation/_navigation-mobile.scss +0 -85
  209. package/dist/templates/angular-xmcloud/src/assets/styles/sass/components/navigation/_navigation-sidebar.scss +0 -29
  210. package/dist/templates/angular-xmcloud/src/assets/styles/sass/components/navigation/_sitemap-navigation.scss +0 -20
  211. package/dist/templates/angular-xmcloud/src/assets/styles/sass/components/navigation/index.scss +0 -5
  212. package/dist/templates/angular-xmcloud/src/assets/styles/sass/components/promo/_absolute-bottom-link.scss +0 -8
  213. package/dist/templates/angular-xmcloud/src/assets/styles/sass/components/promo/_promo-hero.scss +0 -40
  214. package/dist/templates/angular-xmcloud/src/assets/styles/sass/components/promo/_promo-shadow.scss +0 -42
  215. package/dist/templates/angular-xmcloud/src/assets/styles/sass/components/promo/index.scss +0 -3
  216. package/dist/templates/angular-xmcloud/src/assets/styles/sass/components/rich-text/_rich-text-lists.scss +0 -63
  217. package/dist/templates/angular-xmcloud/src/assets/styles/sass/components/rich-text/index.scss +0 -1
  218. package/dist/templates/angular-xmcloud/src/assets/styles/sass/components/spacing/_background-colors.scss +0 -14
  219. package/dist/templates/angular-xmcloud/src/assets/styles/sass/components/spacing/_indent.scss +0 -13
  220. package/dist/templates/angular-xmcloud/src/assets/styles/sass/components/spacing/index.scss +0 -2
  221. package/dist/templates/angular-xmcloud/src/assets/styles/sass/components/title/_component-title.scss +0 -30
  222. package/dist/templates/angular-xmcloud/src/assets/styles/sass/components/title/index.scss +0 -1
  223. package/dist/templates/angular-xmcloud/src/assets/styles/sass/main.scss +0 -4
  224. package/dist/templates/angular-xmcloud/src/assets/styles/sass/variants/index.scss +0 -6
  225. package/dist/templates/angular-xmcloud/src/assets/styles/sass/variants/link-list/index.scss +0 -0
  226. package/dist/templates/angular-xmcloud/src/assets/styles/sass/variants/navigation/index.scss +0 -0
  227. package/dist/templates/angular-xmcloud/src/assets/styles/sass/variants/page-content/index.scss +0 -0
  228. package/dist/templates/angular-xmcloud/src/assets/styles/sass/variants/promo/index.scss +0 -0
  229. package/dist/templates/angular-xmcloud/src/assets/styles/sass/variants/rich-text/index.scss +0 -0
  230. package/dist/templates/angular-xmcloud/src/assets/styles/sass/variants/title/index.scss +0 -0
  231. package/dist/templates/node-headless-ssr-experience-edge/gitignore +0 -19
  232. package/dist/templates/node-headless-ssr-proxy/gitignore +0 -19
  233. package/dist/templates/node-xmcloud-proxy/.env +0 -14
  234. package/dist/templates/node-xmcloud-proxy/README.md +0 -36
  235. package/dist/templates/node-xmcloud-proxy/gitignore +0 -33
  236. package/dist/templates/node-xmcloud-proxy/package.json +0 -26
  237. package/dist/templates/node-xmcloud-proxy/src/config.ts +0 -25
  238. package/dist/templates/node-xmcloud-proxy/src/index.ts +0 -210
  239. package/dist/templates/node-xmcloud-proxy/src/types.ts +0 -27
  240. package/dist/templates/node-xmcloud-proxy/tsconfig.json +0 -22
  241. /package/dist/templates/{angular-sxp → angular}/data/component-content/Styleguide/ContentReuse/LoremIpsumContentBlock/en.yml +0 -0
  242. /package/dist/templates/{angular-sxp → angular}/data/component-content/gitignore +0 -0
  243. /package/dist/templates/{angular-sxp → angular}/data/content/Styleguide/ContentListField/Item1/en.yml +0 -0
  244. /package/dist/templates/{angular-sxp → angular}/data/content/Styleguide/ContentListField/Item2/en.yml +0 -0
  245. /package/dist/templates/{angular-sxp → angular}/data/content/Styleguide/EditFrameDemo/Item1/en.yml +0 -0
  246. /package/dist/templates/{angular-sxp → angular}/data/content/Styleguide/EditFrameDemo/Item2/en.yml +0 -0
  247. /package/dist/templates/{angular-sxp → angular}/data/content/Styleguide/ItemLinkField/Item1/en.yml +0 -0
  248. /package/dist/templates/{angular-sxp → angular}/data/content/Styleguide/ItemLinkField/Item2/en.yml +0 -0
  249. /package/dist/templates/{angular-sxp → angular}/data/content/gitignore +0 -0
  250. /package/dist/templates/{angular-sxp → angular}/data/dictionary/en.yml +0 -0
  251. /package/dist/templates/{angular-sxp → angular}/data/dictionary/{{language}}.yml +0 -0
  252. /package/dist/templates/{angular-sxp → angular}/data/media/files/jss.pdf +0 -0
  253. /package/dist/templates/{angular-sxp → angular}/data/media/img/jss_logo.png +0 -0
  254. /package/dist/templates/{angular-sxp → angular}/data/media/img/sc_logo.png +0 -0
  255. /package/dist/templates/{angular-sxp → angular}/data/routes/en.yml +0 -0
  256. /package/dist/templates/{angular-sxp → angular}/data/routes/graphql/en.yml +0 -0
  257. /package/dist/templates/{angular-sxp → angular}/data/routes/graphql/sample-1/en.yml +0 -0
  258. /package/dist/templates/{angular-sxp → angular}/data/routes/graphql/sample-2/en.yml +0 -0
  259. /package/dist/templates/{angular-sxp → angular}/data/routes/styleguide/custom-route-type/en.yml +0 -0
  260. /package/dist/templates/{angular-sxp → angular}/data/routes/styleguide/en.yml +0 -0
  261. /package/dist/templates/{angular-sxp → angular}/data/routes/styleguide/{{language}}.yml +0 -0
  262. /package/dist/templates/{angular-sxp → angular}/data/routes/{{language}}.yml +0 -0
  263. /package/dist/templates/{angular-sxp → angular}/scripts/disconnected-mode-proxy.ts +0 -0
  264. /package/dist/templates/{angular-sxp → angular}/scripts/lint-yml.ts +0 -0
  265. /package/dist/templates/{angular-sxp → angular}/sitecore/config/{{appName}}.config +0 -0
  266. /package/dist/templates/{angular-sxp → angular}/sitecore/definitions/component-content.sitecore.ts +0 -0
  267. /package/dist/templates/{angular-sxp → angular}/sitecore/definitions/components/Styleguide-Layout-Reuse.sitecore.ts +0 -0
  268. /package/dist/templates/{angular-sxp → angular}/sitecore/definitions/components/Styleguide-Layout-Tabs-Tab.sitecore.ts +0 -0
  269. /package/dist/templates/{angular-sxp → angular}/sitecore/definitions/components/Styleguide-Layout-Tabs.sitecore.ts +0 -0
  270. /package/dist/templates/{angular-sxp → angular}/sitecore/definitions/components/Styleguide-Layout.sitecore.ts +0 -0
  271. /package/dist/templates/{angular-sxp → angular}/sitecore/definitions/components/Styleguide-Multilingual.sitecore.ts +0 -0
  272. /package/dist/templates/{angular-sxp → angular}/sitecore/definitions/components/Styleguide-Section.sitecore.ts +0 -0
  273. /package/dist/templates/{angular-sxp → angular}/sitecore/definitions/components/content-block.sitecore.ts +0 -0
  274. /package/dist/templates/{angular-sxp → angular}/sitecore/definitions/components/graph-ql-connected-demo.sitecore.ts +0 -0
  275. /package/dist/templates/{angular-sxp → angular}/sitecore/definitions/components/graph-ql-integrated-demo.sitecore.graphql +0 -0
  276. /package/dist/templates/{angular-sxp → angular}/sitecore/definitions/components/graph-ql-integrated-demo.sitecore.ts +0 -0
  277. /package/dist/templates/{angular-sxp → angular}/sitecore/definitions/components/graph-ql-layout.sitecore.ts +0 -0
  278. /package/dist/templates/{angular-sxp → angular}/sitecore/definitions/components/styleguide-angular-lazy-loading.sitecore.ts +0 -0
  279. /package/dist/templates/{angular-sxp → angular}/sitecore/definitions/components/styleguide-component-params.sitecore.ts +0 -0
  280. /package/dist/templates/{angular-sxp → angular}/sitecore/definitions/components/styleguide-custom-route-type.sitecore.ts +0 -0
  281. /package/dist/templates/{angular-sxp → angular}/sitecore/definitions/components/styleguide-edit-frame.sitecore.ts +0 -0
  282. /package/dist/templates/{angular-sxp → angular}/sitecore/definitions/components/styleguide-field-usage-checkbox.sitecore.ts +0 -0
  283. /package/dist/templates/{angular-sxp → angular}/sitecore/definitions/components/styleguide-field-usage-content-list.sitecore.ts +0 -0
  284. /package/dist/templates/{angular-sxp → angular}/sitecore/definitions/components/styleguide-field-usage-custom.sitecore.ts +0 -0
  285. /package/dist/templates/{angular-sxp → angular}/sitecore/definitions/components/styleguide-field-usage-date.sitecore.ts +0 -0
  286. /package/dist/templates/{angular-sxp → angular}/sitecore/definitions/components/styleguide-field-usage-file.sitecore.ts +0 -0
  287. /package/dist/templates/{angular-sxp → angular}/sitecore/definitions/components/styleguide-field-usage-image.sitecore.ts +0 -0
  288. /package/dist/templates/{angular-sxp → angular}/sitecore/definitions/components/styleguide-field-usage-item-link.sitecore.ts +0 -0
  289. /package/dist/templates/{angular-sxp → angular}/sitecore/definitions/components/styleguide-field-usage-link.sitecore.ts +0 -0
  290. /package/dist/templates/{angular-sxp → angular}/sitecore/definitions/components/styleguide-field-usage-number.sitecore.ts +0 -0
  291. /package/dist/templates/{angular-sxp → angular}/sitecore/definitions/components/styleguide-field-usage-rich-text.sitecore.ts +0 -0
  292. /package/dist/templates/{angular-sxp → angular}/sitecore/definitions/components/styleguide-field-usage-text.sitecore.ts +0 -0
  293. /package/dist/templates/{angular-sxp → angular}/sitecore/definitions/components/styleguide-route-fields.sitecore.ts +0 -0
  294. /package/dist/templates/{angular-sxp → angular}/sitecore/definitions/components/styleguide-sitecore-context.sitecore.ts +0 -0
  295. /package/dist/templates/{angular-sxp → angular}/sitecore/definitions/components/styleguide-tracking.sitecore.ts +0 -0
  296. /package/dist/templates/{angular-sxp → angular}/sitecore/definitions/config.js +0 -0
  297. /package/dist/templates/{angular-sxp → angular}/sitecore/definitions/content.sitecore.ts +0 -0
  298. /package/dist/templates/{angular-sxp → angular}/sitecore/definitions/dictionary.sitecore.ts +0 -0
  299. /package/dist/templates/{angular-sxp → angular}/sitecore/definitions/placeholders.sitecore.ts +0 -0
  300. /package/dist/templates/{angular-sxp → angular}/sitecore/definitions/routes.sitecore.ts +0 -0
  301. /package/dist/templates/{angular-sxp → angular}/sitecore/definitions/templates/Styleguide-Explanatory-Component.sitecore.ts +0 -0
  302. /package/dist/templates/{angular-sxp → angular}/sitecore/definitions/templates/styleguide-content-list-template.sitecore.ts +0 -0
  303. /package/dist/templates/{angular-sxp → angular}/sitecore/definitions/templates/styleguide-edit-frame-list-item-template.sitecore.ts +0 -0
  304. /package/dist/templates/{angular-sxp → angular}/sitecore/definitions/templates/styleguide-item-link-template.sitecore.ts +0 -0
  305. /package/dist/templates/{angular-sxp → angular}/sitecore/gitignore +0 -0
  306. /package/dist/templates/{angular-sxp → angular}/sitecore/pipelines/example.patch.ts +0 -0
  307. /package/dist/templates/{angular-sxp → angular}/src/app/components/graph-ql-connected-demo/graph-ql-connected-demo.component.graphql +0 -0
  308. /package/dist/templates/{angular-sxp → angular}/src/app/components/graph-ql-connected-demo/graph-ql-connected-demo.component.html +0 -0
  309. /package/dist/templates/{angular-sxp → angular}/src/app/components/graph-ql-connected-demo/graph-ql-connected-demo.component.ts +0 -0
  310. /package/dist/templates/{angular-sxp → angular}/src/app/components/graph-ql-integrated-demo/graph-ql-integrated-demo.component.html +0 -0
  311. /package/dist/templates/{angular-sxp → angular}/src/app/components/graph-ql-integrated-demo/graph-ql-integrated-demo.component.ts +0 -0
  312. /package/dist/templates/{angular-sxp → angular}/src/app/components/graph-ql-layout/graph-ql-layout.component.html +0 -0
  313. /package/dist/templates/{angular-sxp → angular}/src/app/components/shared/styleguide-specimen/styleguide-specimen.component.ts +0 -0
  314. /package/dist/templates/{angular-sxp → angular}/src/app/components/styleguide-angular-lazy-loading/styleguide-angular-lazy-loading.component.html +0 -0
  315. /package/dist/templates/{angular-sxp → angular}/src/app/components/styleguide-angular-lazy-loading/styleguide-angular-lazy-loading.component.ts +0 -0
  316. /package/dist/templates/{angular-sxp → angular}/src/app/components/styleguide-angular-lazy-loading/styleguide-angular-lazy-loading.module.ts +0 -0
  317. /package/dist/templates/{angular-sxp → angular}/src/app/components/styleguide-component-params/styleguide-component-params.component.html +0 -0
  318. /package/dist/templates/{angular-sxp → angular}/src/app/components/styleguide-component-params/styleguide-component-params.component.ts +0 -0
  319. /package/dist/templates/{angular-sxp → angular}/src/app/components/styleguide-custom-route-type/styleguide-custom-route-type.component.html +0 -0
  320. /package/dist/templates/{angular-sxp → angular}/src/app/components/styleguide-custom-route-type/styleguide-custom-route-type.component.ts +0 -0
  321. /package/dist/templates/{angular-sxp → angular}/src/app/components/styleguide-edit-frame/styleguide-edit-frame.component.html +0 -0
  322. /package/dist/templates/{angular-sxp → angular}/src/app/components/styleguide-edit-frame/styleguide-edit-frame.component.ts +0 -0
  323. /package/dist/templates/{angular-sxp → angular}/src/app/components/styleguide-field-usage-checkbox/styleguide-field-usage-checkbox.component.html +0 -0
  324. /package/dist/templates/{angular-sxp → angular}/src/app/components/styleguide-field-usage-checkbox/styleguide-field-usage-checkbox.component.ts +0 -0
  325. /package/dist/templates/{angular-sxp → angular}/src/app/components/styleguide-field-usage-content-list/styleguide-field-usage-content-list.component.html +0 -0
  326. /package/dist/templates/{angular-sxp → angular}/src/app/components/styleguide-field-usage-content-list/styleguide-field-usage-content-list.component.ts +0 -0
  327. /package/dist/templates/{angular-sxp → angular}/src/app/components/styleguide-field-usage-custom/styleguide-field-usage-custom.component.html +0 -0
  328. /package/dist/templates/{angular-sxp → angular}/src/app/components/styleguide-field-usage-custom/styleguide-field-usage-custom.component.ts +0 -0
  329. /package/dist/templates/{angular-sxp → angular}/src/app/components/styleguide-field-usage-date/styleguide-field-usage-date.component.html +0 -0
  330. /package/dist/templates/{angular-sxp → angular}/src/app/components/styleguide-field-usage-date/styleguide-field-usage-date.component.ts +0 -0
  331. /package/dist/templates/{angular-sxp → angular}/src/app/components/styleguide-field-usage-file/styleguide-field-usage-file.component.html +0 -0
  332. /package/dist/templates/{angular-sxp → angular}/src/app/components/styleguide-field-usage-file/styleguide-field-usage-file.component.ts +0 -0
  333. /package/dist/templates/{angular-sxp → angular}/src/app/components/styleguide-field-usage-image/styleguide-field-usage-image.component.html +0 -0
  334. /package/dist/templates/{angular-sxp → angular}/src/app/components/styleguide-field-usage-image/styleguide-field-usage-image.component.ts +0 -0
  335. /package/dist/templates/{angular-sxp → angular}/src/app/components/styleguide-field-usage-item-link/styleguide-field-usage-item-link.component.html +0 -0
  336. /package/dist/templates/{angular-sxp → angular}/src/app/components/styleguide-field-usage-item-link/styleguide-field-usage-item-link.component.ts +0 -0
  337. /package/dist/templates/{angular-sxp → angular}/src/app/components/styleguide-field-usage-link/styleguide-field-usage-link.component.html +0 -0
  338. /package/dist/templates/{angular-sxp → angular}/src/app/components/styleguide-field-usage-link/styleguide-field-usage-link.component.ts +0 -0
  339. /package/dist/templates/{angular-sxp → angular}/src/app/components/styleguide-field-usage-number/styleguide-field-usage-number.component.html +0 -0
  340. /package/dist/templates/{angular-sxp → angular}/src/app/components/styleguide-field-usage-number/styleguide-field-usage-number.component.ts +0 -0
  341. /package/dist/templates/{angular-sxp → angular}/src/app/components/styleguide-field-usage-rich-text/styleguide-field-usage-rich-text.component.html +0 -0
  342. /package/dist/templates/{angular-sxp → angular}/src/app/components/styleguide-field-usage-rich-text/styleguide-field-usage-rich-text.component.ts +0 -0
  343. /package/dist/templates/{angular-sxp → angular}/src/app/components/styleguide-field-usage-text/styleguide-field-usage-text.component.html +0 -0
  344. /package/dist/templates/{angular-sxp → angular}/src/app/components/styleguide-field-usage-text/styleguide-field-usage-text.component.ts +0 -0
  345. /package/dist/templates/{angular-sxp → angular}/src/app/components/styleguide-layout/styleguide-layout.component.html +0 -0
  346. /package/dist/templates/{angular-sxp → angular}/src/app/components/styleguide-layout/styleguide-layout.component.ts +0 -0
  347. /package/dist/templates/{angular-sxp → angular}/src/app/components/styleguide-layout-reuse/styleguide-layout-reuse.component.html +0 -0
  348. /package/dist/templates/{angular-sxp → angular}/src/app/components/styleguide-layout-reuse/styleguide-layout-reuse.component.ts +0 -0
  349. /package/dist/templates/{angular-sxp → angular}/src/app/components/styleguide-layout-tabs/styleguide-layout-tabs.component.html +0 -0
  350. /package/dist/templates/{angular-sxp → angular}/src/app/components/styleguide-layout-tabs/styleguide-layout-tabs.component.ts +0 -0
  351. /package/dist/templates/{angular-sxp → angular}/src/app/components/styleguide-layout-tabs-tab/styleguide-layout-tabs-tab.component.html +0 -0
  352. /package/dist/templates/{angular-sxp → angular}/src/app/components/styleguide-layout-tabs-tab/styleguide-layout-tabs-tab.component.ts +0 -0
  353. /package/dist/templates/{angular-sxp → angular}/src/app/components/styleguide-multilingual/styleguide-multilingual.component.html +0 -0
  354. /package/dist/templates/{angular-sxp → angular}/src/app/components/styleguide-multilingual/styleguide-multilingual.component.ts +0 -0
  355. /package/dist/templates/{angular-sxp → angular}/src/app/components/styleguide-route-fields/styleguide-route-fields.component.html +0 -0
  356. /package/dist/templates/{angular-sxp → angular}/src/app/components/styleguide-route-fields/styleguide-route-fields.component.ts +0 -0
  357. /package/dist/templates/{angular-sxp → angular}/src/app/components/styleguide-section/styleguide-section.component.html +0 -0
  358. /package/dist/templates/{angular-sxp → angular}/src/app/components/styleguide-section/styleguide-section.component.ts +0 -0
  359. /package/dist/templates/{angular-sxp → angular}/src/app/components/styleguide-sitecore-context/styleguide-sitecore-context.component.html +0 -0
  360. /package/dist/templates/{angular-sxp → angular}/src/app/components/styleguide-sitecore-context/styleguide-sitecore-context.component.ts +0 -0
  361. /package/dist/templates/{angular-sxp → angular}/src/app/components/styleguide-tracking/styleguide-tracking.component.html +0 -0
  362. /package/dist/templates/{angular-sxp → angular}/src/app/components/styleguide-tracking/styleguide-tracking.component.ts +0 -0
@@ -1,36 +0,0 @@
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 3000!`.
@@ -1,33 +0,0 @@
1
- # See http://help.github.com/ignore-files/ for more about ignoring files.
2
-
3
- # compiled output
4
- /dist
5
-
6
- # dependencies
7
- /node_modules
8
-
9
- # local env files
10
- .env.local
11
- .env.*.local
12
-
13
- # IDE - VSCode
14
- .vscode/*
15
- !.vscode/settings.json
16
- !.vscode/tasks.json
17
- !.vscode/launch.json
18
- !.vscode/extensions.json
19
-
20
- # misc
21
- /connect.lock
22
- /libpeerconnection.log
23
- npm-debug.log
24
- testem.log
25
- /typings
26
-
27
- # System Files
28
- .DS_Store
29
- Thumbs.db
30
-
31
- # deploy platforms
32
- .vercel
33
- .netlify
@@ -1,26 +0,0 @@
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
- "@sitecore-jss/sitecore-jss-proxy": "~22.2.0-canary",
14
- "compression": "^1.7.4",
15
- "express": "^4.18.2",
16
- "dotenv": "^16.0.3",
17
- "http-proxy-middleware": "^3.0.0"
18
- },
19
- "devDependencies": {
20
- "@sitecore-jss/sitecore-jss": "~22.2.0-canary",
21
- "@types/compression": "^1.7.2",
22
- "@types/express": "^4.17.17",
23
- "ts-node": "^10.9.1",
24
- "typescript": "~4.9.5"
25
- }
26
- }
@@ -1,25 +0,0 @@
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
- let serverBundle: ServerBundle;
9
-
10
- try {
11
- serverBundle = require(bundlePath);
12
- } catch (error) {
13
- throw new Error(`ERROR: The server.bundle.js error. ${error}`);
14
- }
15
-
16
- export const config: Config = {
17
- /**
18
- * The require'd server.bundle.js file from your pre-built SPA app.
19
- */
20
- serverBundle,
21
- /**
22
- * Port which will be used when start the proxy
23
- */
24
- port: process.env.PROXY_PORT || 3000,
25
- };
@@ -1,210 +0,0 @@
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 { editingRouter } from '@sitecore-jss/sitecore-jss-proxy';
7
- import { healthCheck } from '@sitecore-jss/sitecore-jss-proxy';
8
- import { config } from './config';
9
-
10
- const server = express();
11
-
12
- const {
13
- renderView,
14
- parseRouteUrl,
15
- dictionaryServiceFactory,
16
- layoutServiceFactory,
17
- } = config.serverBundle;
18
-
19
- /**
20
- * Required server bundle properties
21
- */
22
- const requiredProperties = [
23
- 'renderView',
24
- 'parseRouteUrl',
25
- 'clientFactory',
26
- 'getClientFactoryConfig',
27
- 'defaultLanguage',
28
- 'layoutServiceFactory',
29
- 'dictionaryServiceFactory',
30
- 'components',
31
- 'metadata',
32
- ];
33
-
34
- const missingProperties = requiredProperties.filter((property) => !config.serverBundle[property]);
35
-
36
- if (missingProperties.length > 0) {
37
- throw new Error(
38
- `ERROR: The serverBundle should export the following properties: ${missingProperties.join(
39
- ', '
40
- )}. Please check your server bundle.`
41
- );
42
- }
43
-
44
- const layoutService = layoutServiceFactory.create();
45
-
46
- const dictionaryService = dictionaryServiceFactory.create();
47
-
48
- const clientFactoryConfig = config.serverBundle.getClientFactoryConfig();
49
-
50
- /**
51
- * GraphQL endpoint resolution to meet the requirements of the http-proxy-middleware
52
- */
53
- const graphQLEndpoint = (() => {
54
- try {
55
- const graphQLEndpoint = new URL(clientFactoryConfig.endpoint);
56
- // Browser request path to the proxy. Includes only the pathname.
57
- const pathname = graphQLEndpoint.pathname;
58
- // Target URL for the proxy. Can't include the query string.
59
- const target = `${graphQLEndpoint.protocol}//${graphQLEndpoint.hostname}${pathname}`;
60
-
61
- return {
62
- target,
63
- path: pathname,
64
- };
65
- } catch (error) {
66
- throw new Error(
67
- `ERROR: The serverBundle should export a getClientFactoryConfig function with valid GraphQL endpoint URL returned, current value is ${clientFactoryConfig.endpoint}. ` +
68
- 'Please check your server bundle.'
69
- );
70
- }
71
- })();
72
-
73
- /**
74
- * Parse requested url in order to detect current route and language
75
- * @param {string} reqRoute requested route
76
- */
77
- const getRouteParams = (reqRoute: string) => {
78
- const routeParams = parseRouteUrl(reqRoute);
79
- let lang;
80
- let route;
81
-
82
- if (routeParams) {
83
- route = routeParams.sitecoreRoute || '/';
84
-
85
- if (!route.startsWith('/')) {
86
- route = `/${route}`;
87
- }
88
-
89
- lang = routeParams.lang || '';
90
- }
91
-
92
- return { route, lang };
93
- };
94
-
95
- /**
96
- * Handle unexpected error
97
- * @param {Response} res server response
98
- * @param {Error} err error
99
- */
100
- const handleError = (res: Response, err: unknown) => {
101
- debug.proxy('response error %o', err);
102
-
103
- res.status(500).send('Internal Server Error');
104
- };
105
-
106
- // enable gzip compression for appropriate file types
107
- server.use(compression());
108
-
109
- // turn off x-powered-by http header
110
- server.settings['x-powered-by'] = false;
111
-
112
- // Serve static app assets from local /dist folder
113
- server.use(
114
- '/dist',
115
- express.static('dist', {
116
- fallthrough: false, // force 404 for unknown assets under /dist
117
- })
118
- );
119
-
120
- /**
121
- * Proxy browser GraphQL requests to the Sitecore GraphQL endpoint
122
- */
123
- server.use(
124
- graphQLEndpoint.path,
125
- createProxyMiddleware({
126
- target: graphQLEndpoint.target,
127
- changeOrigin: true,
128
- })
129
- );
130
-
131
- /**
132
- * The health check endpoint
133
- */
134
- server.use(healthCheck());
135
-
136
- /**
137
- * Proxy editing requests through the editing router
138
- */
139
- server.use(
140
- '/api/editing',
141
- editingRouter({
142
- config: {
143
- components: config.serverBundle.components,
144
- metadata: config.serverBundle.metadata,
145
- },
146
- render: {
147
- clientFactory: config.serverBundle.clientFactory,
148
- renderView,
149
- },
150
- })
151
- );
152
-
153
- server.use(async (req, res) => {
154
- debug.proxy(`performing SSR for ${req.originalUrl}`);
155
-
156
- try {
157
- const { route, lang } = getRouteParams(req.originalUrl);
158
-
159
- if (!route) {
160
- debug.proxy('no route detected, returning 404');
161
-
162
- res.sendStatus(404);
163
-
164
- return;
165
- }
166
-
167
- // Language is required. In case it's not specified in the requested URL, fallback to the default language from the app configuration.
168
- const layoutData = await layoutService.fetchLayoutData(
169
- route,
170
- lang || config.serverBundle.defaultLanguage
171
- );
172
-
173
- const viewBag = { dictionary: {} };
174
-
175
- viewBag.dictionary = await dictionaryService.fetchDictionaryData(
176
- layoutData.sitecore.context.language || config.serverBundle.defaultLanguage
177
- );
178
-
179
- renderView(
180
- (err, result) => {
181
- if (err) {
182
- handleError(res, err);
183
- return;
184
- }
185
-
186
- if (!result) {
187
- debug.proxy('no result returned from renderView, returning 204');
188
-
189
- res.status(204).send();
190
- return;
191
- }
192
-
193
- const statusCode = layoutData.sitecore.route ? 200 : 404;
194
-
195
- debug.proxy('sending response with status %s', statusCode);
196
-
197
- res.status(statusCode).send(result.html);
198
- },
199
- route,
200
- layoutData,
201
- viewBag
202
- );
203
- } catch (err) {
204
- handleError(res, err);
205
- }
206
- });
207
-
208
- server.listen(config.port, () => {
209
- console.log(`server listening on port ${config.port}!`);
210
- });
@@ -1,27 +0,0 @@
1
- import {
2
- GraphQLRequestClientFactory,
3
- GraphQLRequestClientFactoryConfig,
4
- } from '@sitecore-jss/sitecore-jss';
5
- import { DictionaryService } from '@sitecore-jss/sitecore-jss/i18n';
6
- import { Metadata } from '@sitecore-jss/sitecore-jss/utils';
7
- import { LayoutService } from '@sitecore-jss/sitecore-jss/layout';
8
- import { AppRenderer, RouteUrlParser } from '@sitecore-jss/sitecore-jss-proxy';
9
-
10
- export interface ServerBundle {
11
- [key: string]: unknown;
12
- renderView: AppRenderer;
13
- parseRouteUrl: RouteUrlParser;
14
- clientFactory: GraphQLRequestClientFactory;
15
- getClientFactoryConfig: () => GraphQLRequestClientFactoryConfig;
16
- defaultLanguage: string;
17
- layoutServiceFactory: { create: () => LayoutService };
18
- dictionaryServiceFactory: { create: () => DictionaryService };
19
- components: string[] | Map<string, unknown>;
20
- metadata: Metadata;
21
- }
22
-
23
- export interface Config {
24
- [key: string]: unknown;
25
- port: string | number;
26
- serverBundle: ServerBundle;
27
- }
@@ -1,22 +0,0 @@
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
- }