create-sitecore-jss 22.2.0-canary.81 → 22.2.0-canary.84
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/bin.js +19 -35
- package/dist/common/index.js +3 -5
- package/dist/common/processes/install.js +2 -9
- package/dist/common/processes/next.js +3 -6
- package/dist/common/processes/transform.js +13 -18
- package/dist/common/prompts/base.js +25 -0
- package/dist/common/utils/helpers.js +19 -29
- package/dist/init-runner.js +11 -16
- package/dist/initializers/angular/index.js +0 -13
- package/dist/initializers/angular/prompts.js +1 -22
- package/dist/initializers/nextjs/index.js +2 -2
- package/dist/initializers/nextjs/prompts.js +0 -2
- package/dist/initializers/nextjs/remove-dev-dependencies.js +2 -2
- package/dist/initializers/nextjs-multisite/index.js +1 -1
- package/dist/initializers/nextjs-styleguide/index.js +1 -1
- package/dist/initializers/nextjs-styleguide-tracking/index.js +1 -1
- package/dist/initializers/nextjs-sxa/index.js +1 -1
- package/dist/initializers/nextjs-xmcloud/index.js +1 -1
- package/dist/initializers/react/index.js +3 -3
- package/dist/initializers/react/prompts.js +1 -1
- package/dist/initializers/react-native/prompts.js +0 -1
- package/dist/initializers/vue/prompts.js +1 -1
- package/dist/templates/angular/.env +3 -4
- package/dist/templates/angular/.eslintrc +0 -1
- package/dist/templates/angular/README.md +45 -5
- package/dist/templates/angular/angular.json +6 -1
- package/dist/templates/angular/gitignore +0 -5
- package/dist/templates/angular/package.json +18 -6
- package/dist/templates/angular/proxy.conf.js +23 -5
- package/dist/templates/angular/scripts/bootstrap.ts +24 -5
- package/dist/templates/angular/scripts/generate-component-factory.ts +166 -0
- package/dist/templates/angular/scripts/generate-config.ts +72 -71
- package/dist/templates/angular/scripts/update-graphql-fragment-data.ts +28 -21
- package/dist/templates/angular/server.bundle.ts +5 -3
- package/dist/templates/angular/src/app/JssState.ts +9 -2
- package/dist/templates/angular/src/app/app.module.ts +6 -5
- package/dist/templates/angular/src/app/app.server.module.ts +6 -9
- package/dist/templates/angular/src/app/components/app-components.shared.module.ts +19 -4
- package/dist/templates/angular/src/app/components/gitignore +1 -1
- package/dist/templates/{angular-sxp → angular}/src/app/components/graph-ql-layout/graph-ql-layout.component.ts +1 -1
- package/dist/templates/angular/src/app/i18n/jss-translation-client-loader.service.ts +7 -15
- package/dist/templates/angular/src/app/i18n/jss-translation-server-loader.service.ts +2 -14
- package/dist/templates/angular/src/app/jss-context.server-side.service.ts +4 -4
- package/dist/templates/angular/src/app/jss-context.service.ts +11 -14
- package/dist/templates/{angular-sxp → angular}/src/app/jss-data-fetcher.service.ts +1 -3
- package/dist/templates/angular/src/app/jss-graphql.service.ts +7 -7
- package/dist/templates/angular/src/app/layout/jss-layout.service.ts +2 -2
- package/dist/templates/angular/src/app/lib/client-factory.ts +28 -0
- package/dist/templates/angular/src/app/lib/dictionary-service-factory.ts +13 -24
- package/dist/templates/angular/src/app/lib/layout-service-factory.ts +12 -20
- package/dist/templates/angular/src/app/routing/layout/layout.component.html +1 -1
- package/dist/templates/angular/src/app/routing/layout/layout.component.ts +11 -11
- package/dist/templates/angular/src/app/routing/navigation/navigation.component.html +6 -5
- package/dist/templates/angular/src/app/routing/navigation/navigation.component.ts +2 -1
- package/dist/templates/angular/src/app/routing/routing.module.ts +21 -14
- package/dist/templates/{angular-sxp/src/app/routing/scripts → angular/src/app/routing}/visitor-identification/visitor-identification.component.ts +3 -9
- package/dist/templates/angular/src/environments/gitignore +1 -2
- package/dist/templates/angular/src/graphql-fragment-types.ts +95 -0
- package/dist/templates/angular/tsconfig.json +2 -7
- package/dist/templates/nextjs/scripts/config/plugins/fallback.ts +1 -0
- package/dist/templates/nextjs/scripts/generate-config.ts +1 -8
- package/dist/templates/nextjs-styleguide/scripts/config/plugins/disconnected.ts +0 -1
- package/dist/templates/nextjs-sxa/src/assets/sass/components/common/_alignment.scss +7 -34
- package/dist/templates/nextjs-xmcloud/src/lib/middleware/plugins/personalize.ts +0 -1
- package/dist/templates/node-headless-ssr-proxy/src/config.ts +3 -3
- package/dist/templates/node-headless-ssr-proxy/src/httpAgents.ts +2 -2
- package/dist/templates/node-headless-ssr-proxy/src/index.ts +2 -9
- package/dist/templates/react/scripts/generate-config.js +3 -10
- package/dist/templates/vue/scripts/generate-config.js +0 -5
- package/package.json +2 -2
- package/dist/common/prompts/proxy.js +0 -35
- package/dist/common/prompts/sxp.js +0 -34
- package/dist/initializers/angular-sxp/index.js +0 -62
- package/dist/initializers/angular-xmcloud/index.js +0 -80
- package/dist/initializers/node-xmcloud-proxy/index.js +0 -33
- package/dist/templates/angular/scripts/config/index.ts +0 -28
- package/dist/templates/angular/scripts/config/plugins/computed.ts +0 -21
- package/dist/templates/angular/scripts/config/plugins/fallback.ts +0 -22
- package/dist/templates/angular/scripts/config/plugins/package-json.ts +0 -22
- package/dist/templates/angular/scripts/config/plugins/scjssconfig.ts +0 -29
- package/dist/templates/angular/scripts/generate-component-factory/index.ts +0 -45
- package/dist/templates/angular/scripts/generate-component-factory/plugins/component-factory.ts +0 -147
- package/dist/templates/angular/scripts/generate-component-factory/plugins/components.ts +0 -19
- package/dist/templates/angular/scripts/generate-component-factory/plugins/packages.ts +0 -29
- package/dist/templates/angular/scripts/generate-component-factory/template.ts +0 -46
- package/dist/templates/angular/scripts/generate-plugins.ts +0 -33
- package/dist/templates/angular/scripts/temp/gitignore +0 -2
- package/dist/templates/angular/server.exports.ts +0 -13
- package/dist/templates/angular/src/app/lib/config.ts +0 -16
- package/dist/templates/angular/src/app/lib/graphql-client-factory/config.ts +0 -21
- package/dist/templates/angular/src/app/lib/graphql-client-factory/index.ts +0 -16
- package/dist/templates/angular/src/app/routing/scripts/scripts.component.html +0 -1
- package/dist/templates/angular/src/app/routing/scripts/scripts.component.ts +0 -7
- package/dist/templates/angular/src/app/routing/scripts/scripts.module.ts +0 -8
- package/dist/templates/angular-sxp/.env +0 -2
- package/dist/templates/angular-sxp/package.json +0 -12
- package/dist/templates/angular-sxp/proxy.conf.js +0 -43
- package/dist/templates/angular-sxp/scripts/config/plugins/disconnected.ts +0 -29
- package/dist/templates/angular-sxp/src/app/components/app-components.shared.module.ts +0 -35
- package/dist/templates/angular-sxp/src/app/routing/navigation/navigation.component.html +0 -23
- package/dist/templates/angular-sxp/src/app/routing/scripts/scripts.component.html +0 -3
- package/dist/templates/angular-sxp/src/app/routing/scripts/scripts.module.ts +0 -9
- package/dist/templates/angular-sxp/src/graphql-fragment-types.ts +0 -219
- package/dist/templates/angular-xmcloud/.env +0 -21
- package/dist/templates/angular-xmcloud/angular.json +0 -33
- package/dist/templates/angular-xmcloud/package.json +0 -17
- package/dist/templates/angular-xmcloud/scripts/bootstrap.ts +0 -28
- package/dist/templates/angular-xmcloud/scripts/config/plugins/xmcloud.ts +0 -39
- package/dist/templates/angular-xmcloud/scripts/generate-component-factory/plugins/packages.ts +0 -34
- package/dist/templates/angular-xmcloud/scripts/generate-component-factory/template.ts +0 -57
- package/dist/templates/angular-xmcloud/scripts/generate-metadata.ts +0 -25
- package/dist/templates/angular-xmcloud/scripts/proxy-build.ts +0 -15
- package/dist/templates/angular-xmcloud/server.exports.ts +0 -24
- package/dist/templates/angular-xmcloud/src/app/components/app-components.shared.module.ts +0 -21
- package/dist/templates/angular-xmcloud/src/app/components/column-splitter/column-splitter.component.html +0 -5
- package/dist/templates/angular-xmcloud/src/app/components/column-splitter/column-splitter.component.ts +0 -40
- package/dist/templates/angular-xmcloud/src/app/components/container/container.component.html +0 -14
- package/dist/templates/angular-xmcloud/src/app/components/container/container.component.ts +0 -30
- package/dist/templates/angular-xmcloud/src/app/components/image/image.component.html +0 -36
- package/dist/templates/angular-xmcloud/src/app/components/image/image.component.ts +0 -67
- package/dist/templates/angular-xmcloud/src/app/components/link-list/link-list.component.html +0 -15
- package/dist/templates/angular-xmcloud/src/app/components/link-list/link-list.component.ts +0 -41
- package/dist/templates/angular-xmcloud/src/app/components/navigation/navigation-item.component.html +0 -23
- package/dist/templates/angular-xmcloud/src/app/components/navigation/navigation-item.component.ts +0 -65
- package/dist/templates/angular-xmcloud/src/app/components/navigation/navigation.component.html +0 -21
- package/dist/templates/angular-xmcloud/src/app/components/navigation/navigation.component.ts +0 -49
- package/dist/templates/angular-xmcloud/src/app/components/page-content/page-content.component.html +0 -5
- package/dist/templates/angular-xmcloud/src/app/components/page-content/page-content.component.ts +0 -39
- package/dist/templates/angular-xmcloud/src/app/components/partial-design-dynamic-placeholder/partial-design-dynamic-placeholder.component.html +0 -1
- package/dist/templates/angular-xmcloud/src/app/components/partial-design-dynamic-placeholder/partial-design-dynamic-placeholder.component.ts +0 -15
- package/dist/templates/angular-xmcloud/src/app/components/promo/promo.component.html +0 -21
- package/dist/templates/angular-xmcloud/src/app/components/promo/promo.component.ts +0 -13
- package/dist/templates/angular-xmcloud/src/app/components/richtext/richtext.component.html +0 -8
- package/dist/templates/angular-xmcloud/src/app/components/richtext/richtext.component.ts +0 -21
- package/dist/templates/angular-xmcloud/src/app/components/row-splitter/row-splitter.component.html +0 -11
- package/dist/templates/angular-xmcloud/src/app/components/row-splitter/row-splitter.component.ts +0 -35
- package/dist/templates/angular-xmcloud/src/app/components/sxa.component.ts +0 -15
- package/dist/templates/angular-xmcloud/src/app/components/title/title.component.html +0 -10
- package/dist/templates/angular-xmcloud/src/app/components/title/title.component.ts +0 -56
- package/dist/templates/angular-xmcloud/src/app/jss-link.service.ts +0 -55
- package/dist/templates/angular-xmcloud/src/app/lib/config.ts +0 -17
- package/dist/templates/angular-xmcloud/src/app/lib/graphql-client-factory/config.ts +0 -58
- package/dist/templates/angular-xmcloud/src/app/routing/layout/layout.component.html +0 -38
- package/dist/templates/angular-xmcloud/src/app/routing/layout/layout.component.ts +0 -104
- package/dist/templates/angular-xmcloud/src/app/routing/scripts/cdp-page-view.component.ts +0 -77
- package/dist/templates/angular-xmcloud/src/app/routing/scripts/cloud-sdk-init.component.ts +0 -48
- package/dist/templates/angular-xmcloud/src/app/routing/scripts/scripts.component.html +0 -5
- package/dist/templates/angular-xmcloud/src/app/routing/scripts/scripts.module.ts +0 -12
- package/dist/templates/angular-xmcloud/src/assets/styles/basic/_component.scss +0 -48
- package/dist/templates/angular-xmcloud/src/assets/styles/basic/_container.scss +0 -64
- package/dist/templates/angular-xmcloud/src/assets/styles/basic/_fonts.scss +0 -3
- package/dist/templates/angular-xmcloud/src/assets/styles/basic/_footer.scss +0 -31
- package/dist/templates/angular-xmcloud/src/assets/styles/basic/_header.scss +0 -51
- package/dist/templates/angular-xmcloud/src/assets/styles/basic/_navigation.scss +0 -150
- package/dist/templates/angular-xmcloud/src/assets/styles/basic/_promo.scss +0 -58
- package/dist/templates/angular-xmcloud/src/assets/styles/basic/_rich-text.scss +0 -11
- package/dist/templates/angular-xmcloud/src/assets/styles/basic/_variables.scss +0 -10
- package/dist/templates/angular-xmcloud/src/assets/styles/basic/main.scss +0 -8
- package/dist/templates/angular-xmcloud/src/assets/styles/main.scss +0 -14
- package/dist/templates/angular-xmcloud/src/assets/styles/sass/_app.scss +0 -103
- package/dist/templates/angular-xmcloud/src/assets/styles/sass/abstracts/_functions.scss +0 -8
- package/dist/templates/angular-xmcloud/src/assets/styles/sass/abstracts/_mixins.scss +0 -121
- package/dist/templates/angular-xmcloud/src/assets/styles/sass/abstracts/_vars.scss +0 -3
- package/dist/templates/angular-xmcloud/src/assets/styles/sass/abstracts/vars/_colors.scss +0 -283
- package/dist/templates/angular-xmcloud/src/assets/styles/sass/abstracts/vars/_fontSizes.scss +0 -16
- package/dist/templates/angular-xmcloud/src/assets/styles/sass/abstracts/vars/_margins.scss +0 -11
- package/dist/templates/angular-xmcloud/src/assets/styles/sass/base/fonts/_fonts.scss +0 -1
- package/dist/templates/angular-xmcloud/src/assets/styles/sass/base/fonts/index.scss +0 -1
- package/dist/templates/angular-xmcloud/src/assets/styles/sass/base/index.scss +0 -3
- package/dist/templates/angular-xmcloud/src/assets/styles/sass/base/links/_link-button.scss +0 -26
- package/dist/templates/angular-xmcloud/src/assets/styles/sass/base/links/index.scss +0 -1
- package/dist/templates/angular-xmcloud/src/assets/styles/sass/base/reset/_inputs.scss +0 -58
- package/dist/templates/angular-xmcloud/src/assets/styles/sass/base/reset/_links.scss +0 -14
- package/dist/templates/angular-xmcloud/src/assets/styles/sass/base/reset/_ui-datepicker.scss +0 -7
- package/dist/templates/angular-xmcloud/src/assets/styles/sass/base/richtext/_richtext-files-icons.scss +0 -86
- package/dist/templates/angular-xmcloud/src/assets/styles/sass/base/richtext/_richtext.scss +0 -101
- package/dist/templates/angular-xmcloud/src/assets/styles/sass/base/richtext/index.scss +0 -2
- package/dist/templates/angular-xmcloud/src/assets/styles/sass/base/typehead/_typehead.scss +0 -95
- package/dist/templates/angular-xmcloud/src/assets/styles/sass/base/typehead/index.scss +0 -1
- package/dist/templates/angular-xmcloud/src/assets/styles/sass/components/_component-column-splitter.scss +0 -14
- package/dist/templates/angular-xmcloud/src/assets/styles/sass/components/_component-container.scss +0 -27
- package/dist/templates/angular-xmcloud/src/assets/styles/sass/components/_component-image.scss +0 -18
- package/dist/templates/angular-xmcloud/src/assets/styles/sass/components/_component-navigation.scss +0 -51
- package/dist/templates/angular-xmcloud/src/assets/styles/sass/components/_component-promo.scss +0 -42
- package/dist/templates/angular-xmcloud/src/assets/styles/sass/components/_component-richtext-content.scss +0 -19
- package/dist/templates/angular-xmcloud/src/assets/styles/sass/components/common/_alignment.scss +0 -26
- package/dist/templates/angular-xmcloud/src/assets/styles/sass/components/common/_boxed.scss +0 -16
- package/dist/templates/angular-xmcloud/src/assets/styles/sass/components/common/_clearfix.scss +0 -11
- package/dist/templates/angular-xmcloud/src/assets/styles/sass/components/common/_highlighted.scss +0 -63
- package/dist/templates/angular-xmcloud/src/assets/styles/sass/components/common/_link-button.scss +0 -16
- package/dist/templates/angular-xmcloud/src/assets/styles/sass/components/common/_promoted-box.scss +0 -3
- package/dist/templates/angular-xmcloud/src/assets/styles/sass/components/common/index.scss +0 -6
- package/dist/templates/angular-xmcloud/src/assets/styles/sass/components/container/_bordered.scss +0 -24
- package/dist/templates/angular-xmcloud/src/assets/styles/sass/components/container/_title-row-box.scss +0 -66
- package/dist/templates/angular-xmcloud/src/assets/styles/sass/components/container/index.scss +0 -1
- package/dist/templates/angular-xmcloud/src/assets/styles/sass/components/image/_image-default-size.scss +0 -6
- package/dist/templates/angular-xmcloud/src/assets/styles/sass/components/image/index.scss +0 -1
- package/dist/templates/angular-xmcloud/src/assets/styles/sass/components/image-alignment/_image-left.scss +0 -3
- package/dist/templates/angular-xmcloud/src/assets/styles/sass/components/image-alignment/_image-right.scss +0 -3
- package/dist/templates/angular-xmcloud/src/assets/styles/sass/components/index.scss +0 -17
- package/dist/templates/angular-xmcloud/src/assets/styles/sass/components/layout/_acaindent.scss +0 -5
- package/dist/templates/angular-xmcloud/src/assets/styles/sass/components/layout/_background.scss +0 -27
- package/dist/templates/angular-xmcloud/src/assets/styles/sass/components/layout/index.scss +0 -1
- package/dist/templates/angular-xmcloud/src/assets/styles/sass/components/link-list/_component-link-list.scss +0 -45
- package/dist/templates/angular-xmcloud/src/assets/styles/sass/components/link-list/_list-vertical.scss +0 -20
- package/dist/templates/angular-xmcloud/src/assets/styles/sass/components/link-list/index.scss +0 -2
- package/dist/templates/angular-xmcloud/src/assets/styles/sass/components/navigation/_navigation-fat.scss +0 -58
- package/dist/templates/angular-xmcloud/src/assets/styles/sass/components/navigation/_navigation-main-horizontal-vertical.scss +0 -176
- package/dist/templates/angular-xmcloud/src/assets/styles/sass/components/navigation/_navigation-mobile.scss +0 -85
- package/dist/templates/angular-xmcloud/src/assets/styles/sass/components/navigation/_navigation-sidebar.scss +0 -29
- package/dist/templates/angular-xmcloud/src/assets/styles/sass/components/navigation/_sitemap-navigation.scss +0 -20
- package/dist/templates/angular-xmcloud/src/assets/styles/sass/components/navigation/index.scss +0 -5
- package/dist/templates/angular-xmcloud/src/assets/styles/sass/components/promo/_absolute-bottom-link.scss +0 -8
- package/dist/templates/angular-xmcloud/src/assets/styles/sass/components/promo/_promo-hero.scss +0 -40
- package/dist/templates/angular-xmcloud/src/assets/styles/sass/components/promo/_promo-shadow.scss +0 -42
- package/dist/templates/angular-xmcloud/src/assets/styles/sass/components/promo/index.scss +0 -3
- package/dist/templates/angular-xmcloud/src/assets/styles/sass/components/rich-text/_rich-text-lists.scss +0 -63
- package/dist/templates/angular-xmcloud/src/assets/styles/sass/components/rich-text/index.scss +0 -1
- package/dist/templates/angular-xmcloud/src/assets/styles/sass/components/spacing/_background-colors.scss +0 -14
- package/dist/templates/angular-xmcloud/src/assets/styles/sass/components/spacing/_indent.scss +0 -13
- package/dist/templates/angular-xmcloud/src/assets/styles/sass/components/spacing/index.scss +0 -2
- package/dist/templates/angular-xmcloud/src/assets/styles/sass/components/title/_component-title.scss +0 -30
- package/dist/templates/angular-xmcloud/src/assets/styles/sass/components/title/index.scss +0 -1
- package/dist/templates/angular-xmcloud/src/assets/styles/sass/main.scss +0 -4
- package/dist/templates/angular-xmcloud/src/assets/styles/sass/variants/index.scss +0 -6
- package/dist/templates/angular-xmcloud/src/assets/styles/sass/variants/link-list/index.scss +0 -0
- package/dist/templates/angular-xmcloud/src/assets/styles/sass/variants/navigation/index.scss +0 -0
- package/dist/templates/angular-xmcloud/src/assets/styles/sass/variants/page-content/index.scss +0 -0
- package/dist/templates/angular-xmcloud/src/assets/styles/sass/variants/promo/index.scss +0 -0
- package/dist/templates/angular-xmcloud/src/assets/styles/sass/variants/rich-text/index.scss +0 -0
- package/dist/templates/angular-xmcloud/src/assets/styles/sass/variants/title/index.scss +0 -0
- package/dist/templates/node-headless-ssr-experience-edge/gitignore +0 -19
- package/dist/templates/node-headless-ssr-proxy/gitignore +0 -19
- package/dist/templates/node-xmcloud-proxy/.env +0 -14
- package/dist/templates/node-xmcloud-proxy/README.md +0 -36
- package/dist/templates/node-xmcloud-proxy/gitignore +0 -33
- package/dist/templates/node-xmcloud-proxy/package.json +0 -26
- package/dist/templates/node-xmcloud-proxy/src/config.ts +0 -25
- package/dist/templates/node-xmcloud-proxy/src/index.ts +0 -210
- package/dist/templates/node-xmcloud-proxy/src/types.ts +0 -27
- package/dist/templates/node-xmcloud-proxy/tsconfig.json +0 -22
- /package/dist/templates/{angular-sxp → angular}/data/component-content/Styleguide/ContentReuse/LoremIpsumContentBlock/en.yml +0 -0
- /package/dist/templates/{angular-sxp → angular}/data/component-content/gitignore +0 -0
- /package/dist/templates/{angular-sxp → angular}/data/content/Styleguide/ContentListField/Item1/en.yml +0 -0
- /package/dist/templates/{angular-sxp → angular}/data/content/Styleguide/ContentListField/Item2/en.yml +0 -0
- /package/dist/templates/{angular-sxp → angular}/data/content/Styleguide/EditFrameDemo/Item1/en.yml +0 -0
- /package/dist/templates/{angular-sxp → angular}/data/content/Styleguide/EditFrameDemo/Item2/en.yml +0 -0
- /package/dist/templates/{angular-sxp → angular}/data/content/Styleguide/ItemLinkField/Item1/en.yml +0 -0
- /package/dist/templates/{angular-sxp → angular}/data/content/Styleguide/ItemLinkField/Item2/en.yml +0 -0
- /package/dist/templates/{angular-sxp → angular}/data/content/gitignore +0 -0
- /package/dist/templates/{angular-sxp → angular}/data/dictionary/en.yml +0 -0
- /package/dist/templates/{angular-sxp → angular}/data/dictionary/{{language}}.yml +0 -0
- /package/dist/templates/{angular-sxp → angular}/data/media/files/jss.pdf +0 -0
- /package/dist/templates/{angular-sxp → angular}/data/media/img/jss_logo.png +0 -0
- /package/dist/templates/{angular-sxp → angular}/data/media/img/sc_logo.png +0 -0
- /package/dist/templates/{angular-sxp → angular}/data/routes/en.yml +0 -0
- /package/dist/templates/{angular-sxp → angular}/data/routes/graphql/en.yml +0 -0
- /package/dist/templates/{angular-sxp → angular}/data/routes/graphql/sample-1/en.yml +0 -0
- /package/dist/templates/{angular-sxp → angular}/data/routes/graphql/sample-2/en.yml +0 -0
- /package/dist/templates/{angular-sxp → angular}/data/routes/styleguide/custom-route-type/en.yml +0 -0
- /package/dist/templates/{angular-sxp → angular}/data/routes/styleguide/en.yml +0 -0
- /package/dist/templates/{angular-sxp → angular}/data/routes/styleguide/{{language}}.yml +0 -0
- /package/dist/templates/{angular-sxp → angular}/data/routes/{{language}}.yml +0 -0
- /package/dist/templates/{angular-sxp → angular}/scripts/disconnected-mode-proxy.ts +0 -0
- /package/dist/templates/{angular-sxp → angular}/scripts/lint-yml.ts +0 -0
- /package/dist/templates/{angular-sxp → angular}/sitecore/config/{{appName}}.config +0 -0
- /package/dist/templates/{angular-sxp → angular}/sitecore/definitions/component-content.sitecore.ts +0 -0
- /package/dist/templates/{angular-sxp → angular}/sitecore/definitions/components/Styleguide-Layout-Reuse.sitecore.ts +0 -0
- /package/dist/templates/{angular-sxp → angular}/sitecore/definitions/components/Styleguide-Layout-Tabs-Tab.sitecore.ts +0 -0
- /package/dist/templates/{angular-sxp → angular}/sitecore/definitions/components/Styleguide-Layout-Tabs.sitecore.ts +0 -0
- /package/dist/templates/{angular-sxp → angular}/sitecore/definitions/components/Styleguide-Layout.sitecore.ts +0 -0
- /package/dist/templates/{angular-sxp → angular}/sitecore/definitions/components/Styleguide-Multilingual.sitecore.ts +0 -0
- /package/dist/templates/{angular-sxp → angular}/sitecore/definitions/components/Styleguide-Section.sitecore.ts +0 -0
- /package/dist/templates/{angular-sxp → angular}/sitecore/definitions/components/content-block.sitecore.ts +0 -0
- /package/dist/templates/{angular-sxp → angular}/sitecore/definitions/components/graph-ql-connected-demo.sitecore.ts +0 -0
- /package/dist/templates/{angular-sxp → angular}/sitecore/definitions/components/graph-ql-integrated-demo.sitecore.graphql +0 -0
- /package/dist/templates/{angular-sxp → angular}/sitecore/definitions/components/graph-ql-integrated-demo.sitecore.ts +0 -0
- /package/dist/templates/{angular-sxp → angular}/sitecore/definitions/components/graph-ql-layout.sitecore.ts +0 -0
- /package/dist/templates/{angular-sxp → angular}/sitecore/definitions/components/styleguide-angular-lazy-loading.sitecore.ts +0 -0
- /package/dist/templates/{angular-sxp → angular}/sitecore/definitions/components/styleguide-component-params.sitecore.ts +0 -0
- /package/dist/templates/{angular-sxp → angular}/sitecore/definitions/components/styleguide-custom-route-type.sitecore.ts +0 -0
- /package/dist/templates/{angular-sxp → angular}/sitecore/definitions/components/styleguide-edit-frame.sitecore.ts +0 -0
- /package/dist/templates/{angular-sxp → angular}/sitecore/definitions/components/styleguide-field-usage-checkbox.sitecore.ts +0 -0
- /package/dist/templates/{angular-sxp → angular}/sitecore/definitions/components/styleguide-field-usage-content-list.sitecore.ts +0 -0
- /package/dist/templates/{angular-sxp → angular}/sitecore/definitions/components/styleguide-field-usage-custom.sitecore.ts +0 -0
- /package/dist/templates/{angular-sxp → angular}/sitecore/definitions/components/styleguide-field-usage-date.sitecore.ts +0 -0
- /package/dist/templates/{angular-sxp → angular}/sitecore/definitions/components/styleguide-field-usage-file.sitecore.ts +0 -0
- /package/dist/templates/{angular-sxp → angular}/sitecore/definitions/components/styleguide-field-usage-image.sitecore.ts +0 -0
- /package/dist/templates/{angular-sxp → angular}/sitecore/definitions/components/styleguide-field-usage-item-link.sitecore.ts +0 -0
- /package/dist/templates/{angular-sxp → angular}/sitecore/definitions/components/styleguide-field-usage-link.sitecore.ts +0 -0
- /package/dist/templates/{angular-sxp → angular}/sitecore/definitions/components/styleguide-field-usage-number.sitecore.ts +0 -0
- /package/dist/templates/{angular-sxp → angular}/sitecore/definitions/components/styleguide-field-usage-rich-text.sitecore.ts +0 -0
- /package/dist/templates/{angular-sxp → angular}/sitecore/definitions/components/styleguide-field-usage-text.sitecore.ts +0 -0
- /package/dist/templates/{angular-sxp → angular}/sitecore/definitions/components/styleguide-route-fields.sitecore.ts +0 -0
- /package/dist/templates/{angular-sxp → angular}/sitecore/definitions/components/styleguide-sitecore-context.sitecore.ts +0 -0
- /package/dist/templates/{angular-sxp → angular}/sitecore/definitions/components/styleguide-tracking.sitecore.ts +0 -0
- /package/dist/templates/{angular-sxp → angular}/sitecore/definitions/config.js +0 -0
- /package/dist/templates/{angular-sxp → angular}/sitecore/definitions/content.sitecore.ts +0 -0
- /package/dist/templates/{angular-sxp → angular}/sitecore/definitions/dictionary.sitecore.ts +0 -0
- /package/dist/templates/{angular-sxp → angular}/sitecore/definitions/placeholders.sitecore.ts +0 -0
- /package/dist/templates/{angular-sxp → angular}/sitecore/definitions/routes.sitecore.ts +0 -0
- /package/dist/templates/{angular-sxp → angular}/sitecore/definitions/templates/Styleguide-Explanatory-Component.sitecore.ts +0 -0
- /package/dist/templates/{angular-sxp → angular}/sitecore/definitions/templates/styleguide-content-list-template.sitecore.ts +0 -0
- /package/dist/templates/{angular-sxp → angular}/sitecore/definitions/templates/styleguide-edit-frame-list-item-template.sitecore.ts +0 -0
- /package/dist/templates/{angular-sxp → angular}/sitecore/definitions/templates/styleguide-item-link-template.sitecore.ts +0 -0
- /package/dist/templates/{angular-sxp → angular}/sitecore/gitignore +0 -0
- /package/dist/templates/{angular-sxp → angular}/sitecore/pipelines/example.patch.ts +0 -0
- /package/dist/templates/{angular-sxp → angular}/src/app/components/graph-ql-connected-demo/graph-ql-connected-demo.component.graphql +0 -0
- /package/dist/templates/{angular-sxp → angular}/src/app/components/graph-ql-connected-demo/graph-ql-connected-demo.component.html +0 -0
- /package/dist/templates/{angular-sxp → angular}/src/app/components/graph-ql-connected-demo/graph-ql-connected-demo.component.ts +0 -0
- /package/dist/templates/{angular-sxp → angular}/src/app/components/graph-ql-integrated-demo/graph-ql-integrated-demo.component.html +0 -0
- /package/dist/templates/{angular-sxp → angular}/src/app/components/graph-ql-integrated-demo/graph-ql-integrated-demo.component.ts +0 -0
- /package/dist/templates/{angular-sxp → angular}/src/app/components/graph-ql-layout/graph-ql-layout.component.html +0 -0
- /package/dist/templates/{angular-sxp → angular}/src/app/components/shared/styleguide-specimen/styleguide-specimen.component.ts +0 -0
- /package/dist/templates/{angular-sxp → angular}/src/app/components/styleguide-angular-lazy-loading/styleguide-angular-lazy-loading.component.html +0 -0
- /package/dist/templates/{angular-sxp → angular}/src/app/components/styleguide-angular-lazy-loading/styleguide-angular-lazy-loading.component.ts +0 -0
- /package/dist/templates/{angular-sxp → angular}/src/app/components/styleguide-angular-lazy-loading/styleguide-angular-lazy-loading.module.ts +0 -0
- /package/dist/templates/{angular-sxp → angular}/src/app/components/styleguide-component-params/styleguide-component-params.component.html +0 -0
- /package/dist/templates/{angular-sxp → angular}/src/app/components/styleguide-component-params/styleguide-component-params.component.ts +0 -0
- /package/dist/templates/{angular-sxp → angular}/src/app/components/styleguide-custom-route-type/styleguide-custom-route-type.component.html +0 -0
- /package/dist/templates/{angular-sxp → angular}/src/app/components/styleguide-custom-route-type/styleguide-custom-route-type.component.ts +0 -0
- /package/dist/templates/{angular-sxp → angular}/src/app/components/styleguide-edit-frame/styleguide-edit-frame.component.html +0 -0
- /package/dist/templates/{angular-sxp → angular}/src/app/components/styleguide-edit-frame/styleguide-edit-frame.component.ts +0 -0
- /package/dist/templates/{angular-sxp → angular}/src/app/components/styleguide-field-usage-checkbox/styleguide-field-usage-checkbox.component.html +0 -0
- /package/dist/templates/{angular-sxp → angular}/src/app/components/styleguide-field-usage-checkbox/styleguide-field-usage-checkbox.component.ts +0 -0
- /package/dist/templates/{angular-sxp → angular}/src/app/components/styleguide-field-usage-content-list/styleguide-field-usage-content-list.component.html +0 -0
- /package/dist/templates/{angular-sxp → angular}/src/app/components/styleguide-field-usage-content-list/styleguide-field-usage-content-list.component.ts +0 -0
- /package/dist/templates/{angular-sxp → angular}/src/app/components/styleguide-field-usage-custom/styleguide-field-usage-custom.component.html +0 -0
- /package/dist/templates/{angular-sxp → angular}/src/app/components/styleguide-field-usage-custom/styleguide-field-usage-custom.component.ts +0 -0
- /package/dist/templates/{angular-sxp → angular}/src/app/components/styleguide-field-usage-date/styleguide-field-usage-date.component.html +0 -0
- /package/dist/templates/{angular-sxp → angular}/src/app/components/styleguide-field-usage-date/styleguide-field-usage-date.component.ts +0 -0
- /package/dist/templates/{angular-sxp → angular}/src/app/components/styleguide-field-usage-file/styleguide-field-usage-file.component.html +0 -0
- /package/dist/templates/{angular-sxp → angular}/src/app/components/styleguide-field-usage-file/styleguide-field-usage-file.component.ts +0 -0
- /package/dist/templates/{angular-sxp → angular}/src/app/components/styleguide-field-usage-image/styleguide-field-usage-image.component.html +0 -0
- /package/dist/templates/{angular-sxp → angular}/src/app/components/styleguide-field-usage-image/styleguide-field-usage-image.component.ts +0 -0
- /package/dist/templates/{angular-sxp → angular}/src/app/components/styleguide-field-usage-item-link/styleguide-field-usage-item-link.component.html +0 -0
- /package/dist/templates/{angular-sxp → angular}/src/app/components/styleguide-field-usage-item-link/styleguide-field-usage-item-link.component.ts +0 -0
- /package/dist/templates/{angular-sxp → angular}/src/app/components/styleguide-field-usage-link/styleguide-field-usage-link.component.html +0 -0
- /package/dist/templates/{angular-sxp → angular}/src/app/components/styleguide-field-usage-link/styleguide-field-usage-link.component.ts +0 -0
- /package/dist/templates/{angular-sxp → angular}/src/app/components/styleguide-field-usage-number/styleguide-field-usage-number.component.html +0 -0
- /package/dist/templates/{angular-sxp → angular}/src/app/components/styleguide-field-usage-number/styleguide-field-usage-number.component.ts +0 -0
- /package/dist/templates/{angular-sxp → angular}/src/app/components/styleguide-field-usage-rich-text/styleguide-field-usage-rich-text.component.html +0 -0
- /package/dist/templates/{angular-sxp → angular}/src/app/components/styleguide-field-usage-rich-text/styleguide-field-usage-rich-text.component.ts +0 -0
- /package/dist/templates/{angular-sxp → angular}/src/app/components/styleguide-field-usage-text/styleguide-field-usage-text.component.html +0 -0
- /package/dist/templates/{angular-sxp → angular}/src/app/components/styleguide-field-usage-text/styleguide-field-usage-text.component.ts +0 -0
- /package/dist/templates/{angular-sxp → angular}/src/app/components/styleguide-layout/styleguide-layout.component.html +0 -0
- /package/dist/templates/{angular-sxp → angular}/src/app/components/styleguide-layout/styleguide-layout.component.ts +0 -0
- /package/dist/templates/{angular-sxp → angular}/src/app/components/styleguide-layout-reuse/styleguide-layout-reuse.component.html +0 -0
- /package/dist/templates/{angular-sxp → angular}/src/app/components/styleguide-layout-reuse/styleguide-layout-reuse.component.ts +0 -0
- /package/dist/templates/{angular-sxp → angular}/src/app/components/styleguide-layout-tabs/styleguide-layout-tabs.component.html +0 -0
- /package/dist/templates/{angular-sxp → angular}/src/app/components/styleguide-layout-tabs/styleguide-layout-tabs.component.ts +0 -0
- /package/dist/templates/{angular-sxp → angular}/src/app/components/styleguide-layout-tabs-tab/styleguide-layout-tabs-tab.component.html +0 -0
- /package/dist/templates/{angular-sxp → angular}/src/app/components/styleguide-layout-tabs-tab/styleguide-layout-tabs-tab.component.ts +0 -0
- /package/dist/templates/{angular-sxp → angular}/src/app/components/styleguide-multilingual/styleguide-multilingual.component.html +0 -0
- /package/dist/templates/{angular-sxp → angular}/src/app/components/styleguide-multilingual/styleguide-multilingual.component.ts +0 -0
- /package/dist/templates/{angular-sxp → angular}/src/app/components/styleguide-route-fields/styleguide-route-fields.component.html +0 -0
- /package/dist/templates/{angular-sxp → angular}/src/app/components/styleguide-route-fields/styleguide-route-fields.component.ts +0 -0
- /package/dist/templates/{angular-sxp → angular}/src/app/components/styleguide-section/styleguide-section.component.html +0 -0
- /package/dist/templates/{angular-sxp → angular}/src/app/components/styleguide-section/styleguide-section.component.ts +0 -0
- /package/dist/templates/{angular-sxp → angular}/src/app/components/styleguide-sitecore-context/styleguide-sitecore-context.component.html +0 -0
- /package/dist/templates/{angular-sxp → angular}/src/app/components/styleguide-sitecore-context/styleguide-sitecore-context.component.ts +0 -0
- /package/dist/templates/{angular-sxp → angular}/src/app/components/styleguide-tracking/styleguide-tracking.component.html +0 -0
- /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
|
-
}
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
/package/dist/templates/{angular-sxp → angular}/data/content/Styleguide/EditFrameDemo/Item1/en.yml
RENAMED
|
File without changes
|
/package/dist/templates/{angular-sxp → angular}/data/content/Styleguide/EditFrameDemo/Item2/en.yml
RENAMED
|
File without changes
|
/package/dist/templates/{angular-sxp → angular}/data/content/Styleguide/ItemLinkField/Item1/en.yml
RENAMED
|
File without changes
|
/package/dist/templates/{angular-sxp → angular}/data/content/Styleguide/ItemLinkField/Item2/en.yml
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
/package/dist/templates/{angular-sxp → angular}/data/routes/styleguide/custom-route-type/en.yml
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
/package/dist/templates/{angular-sxp → angular}/sitecore/definitions/component-content.sitecore.ts
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
/package/dist/templates/{angular-sxp → angular}/sitecore/definitions/placeholders.sitecore.ts
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|