diff --git a/CHANGELOG.md b/CHANGELOG.md index 30e43f8deb..a3f81c5475 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -58,6 +58,7 @@ Our versioning strategy is as follows: * `[angular]` Avoid sending two dictionary service calls when switching language and refreshing the page ([#1473](https://github.com/Sitecore/jss/pull/1473)) * Fix installed sitecore-jss-* dependency version ([#1478](https://github.com/Sitecore/jss/pull/1478)) * [node-headless-ssr-experience-edge] Add helper comment for rootItemId ([#1491](https://github.com/Sitecore/jss/pull/1491)) +* `[templates/nextjs-sxa]` Add condition DISABLE_SSG_FETCH for 404/500 pages to enable full ISR (Incremental Static Regeneration) flow ([#1496](https://github.com/Sitecore/jss/pull/1496)) ## 21.1.5 diff --git a/packages/create-sitecore-jss/src/templates/nextjs-sxa/src/pages/404.tsx b/packages/create-sitecore-jss/src/templates/nextjs-sxa/src/pages/404.tsx index 9019aa2e7f..4549517700 100644 --- a/packages/create-sitecore-jss/src/templates/nextjs-sxa/src/pages/404.tsx +++ b/packages/create-sitecore-jss/src/templates/nextjs-sxa/src/pages/404.tsx @@ -1,5 +1,9 @@ import config from 'temp/config'; -import { GraphQLErrorPagesService, SitecoreContext } from '@sitecore-jss/sitecore-jss-nextjs'; +import { + GraphQLErrorPagesService, + SitecoreContext, + ErrorPages, +} from '@sitecore-jss/sitecore-jss-nextjs'; import { SitecorePageProps } from 'lib/page-props'; import NotFound from 'src/NotFound'; import { componentFactory } from 'temp/componentFactory'; @@ -27,8 +31,16 @@ export const getStaticProps: GetStaticProps = async (context) => { siteName: site.name, language: context.locale || config.defaultLanguage, }); + let resultErrorPages: ErrorPages | null = null; - const resultErrorPages = await errorPagesService.fetchErrorPages(); + if (!process.env.DISABLE_SSG_FETCH) { + try { + resultErrorPages = await errorPagesService.fetchErrorPages(); + } catch (error) { + console.log('Error occurred while fetching error pages'); + console.log(error); + } + } return { props: { diff --git a/packages/create-sitecore-jss/src/templates/nextjs-sxa/src/pages/500.tsx b/packages/create-sitecore-jss/src/templates/nextjs-sxa/src/pages/500.tsx index fc69f0840e..d5aba8d260 100644 --- a/packages/create-sitecore-jss/src/templates/nextjs-sxa/src/pages/500.tsx +++ b/packages/create-sitecore-jss/src/templates/nextjs-sxa/src/pages/500.tsx @@ -1,5 +1,9 @@ import Head from 'next/head'; -import { GraphQLErrorPagesService, SitecoreContext } from '@sitecore-jss/sitecore-jss-nextjs'; +import { + GraphQLErrorPagesService, + SitecoreContext, + ErrorPages, +} from '@sitecore-jss/sitecore-jss-nextjs'; import { SitecorePageProps } from 'lib/page-props'; import Layout from 'src/Layout'; import { componentFactory } from 'temp/componentFactory'; @@ -43,8 +47,16 @@ export const getStaticProps: GetStaticProps = async (context) => { siteName: site.name, language: context.locale || context.defaultLocale || config.defaultLanguage, }); + let resultErrorPages: ErrorPages | null = null; - const resultErrorPages = await errorPagesService.fetchErrorPages(); + if (!process.env.DISABLE_SSG_FETCH) { + try { + resultErrorPages = await errorPagesService.fetchErrorPages(); + } catch (error) { + console.log('Error occurred while fetching error pages'); + console.log(error); + } + } return { props: {