@blaze-cms/nextjs-tools 0.124.0-alpha.31 → 0.124.0-alpha.34

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/CHANGELOG.md CHANGED
@@ -3,6 +3,30 @@
3
3
  All notable changes to this project will be documented in this file.
4
4
  See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
5
5
 
6
+ # [0.124.0-alpha.34](https://github.com/thebyte9/blaze/compare/v0.124.0-alpha.33...v0.124.0-alpha.34) (2022-06-24)
7
+
8
+ **Note:** Version bump only for package @blaze-cms/nextjs-tools
9
+
10
+
11
+
12
+
13
+
14
+ # [0.124.0-alpha.33](https://github.com/thebyte9/blaze/compare/v0.124.0-alpha.32...v0.124.0-alpha.33) (2022-06-21)
15
+
16
+ **Note:** Version bump only for package @blaze-cms/nextjs-tools
17
+
18
+
19
+
20
+
21
+
22
+ # [0.124.0-alpha.32](https://github.com/thebyte9/blaze/compare/v0.124.0-alpha.31...v0.124.0-alpha.32) (2022-06-17)
23
+
24
+ **Note:** Version bump only for package @blaze-cms/nextjs-tools
25
+
26
+
27
+
28
+
29
+
6
30
  # [0.124.0-alpha.31](https://github.com/thebyte9/blaze/compare/v0.124.0-alpha.30...v0.124.0-alpha.31) (2022-06-13)
7
31
 
8
32
  **Note:** Version bump only for package @blaze-cms/nextjs-tools
@@ -223,7 +223,7 @@ var getFullUrl = function getFullUrl(req, asPath) {
223
223
 
224
224
  var doUrlCheck = /*#__PURE__*/function () {
225
225
  var _ref5 = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee3(_ref4) {
226
- var url, apolloClient, res, handle404Error, blazeApp, _yield$apolloClient$q, _yield$apolloClient$q2, itemId, itemEntity, urlTo, _yield$apolloClient$q3, pageData, _pageData$cacheContro, cacheControlMaxAge, rootSelectorClasses, parentPATH;
226
+ var url, apolloClient, res, handle404Error, blazeApp, _yield$apolloClient$q, _yield$apolloClient$q2, itemId, itemEntity, urlTo, _yield$apolloClient$q3, pageData, _ref6, _ref6$cacheControlMax, cacheControlMaxAge, rootSelectorClasses, parentPATH;
227
227
 
228
228
  return _regenerator["default"].wrap(function _callee3$(_context3) {
229
229
  while (1) {
@@ -247,7 +247,7 @@ var doUrlCheck = /*#__PURE__*/function () {
247
247
  urlTo = _yield$apolloClient$q2.urlTo;
248
248
  _yield$apolloClient$q3 = _yield$apolloClient$q2.pageData;
249
249
  pageData = _yield$apolloClient$q3 === void 0 ? {} : _yield$apolloClient$q3;
250
- _pageData$cacheContro = pageData.cacheControlMaxAge, cacheControlMaxAge = _pageData$cacheContro === void 0 ? null : _pageData$cacheContro;
250
+ _ref6 = pageData || {}, _ref6$cacheControlMax = _ref6.cacheControlMaxAge, cacheControlMaxAge = _ref6$cacheControlMax === void 0 ? null : _ref6$cacheControlMax; // pageData can be null when there is no page
251
251
 
252
252
  if (res && cacheControlMaxAge !== null && cacheControlMaxAge >= 0) {
253
253
  res.setHeader('Cache-Control', "max-age=".concat(cacheControlMaxAge));
@@ -1 +1 @@
1
- {"version":3,"file":"check-url.js","names":["getRootClassesLimit","Number","process","env","BLAZE_ROOT_SELECTOR_CLASSES_LIMIT","hasAuth","req","getAccessToken","headers","cookie","checkUrl","props","asPath","apolloClient","res","query","blazeApp","fullUrl","getFullUrl","parseUrl","url","BLAZE_STATUS_URL","isStatusPage","handler","handleStaticRoutes","getHandler","setHeader","BLAZE_CACHE_CONTROL_HEADER","previewData","checkPreviewUrl","disableSsr","checkAccessToken","getPreviewData","urlCheckOptions","doUrlCheck","handle404Error","result","getPageData","pageData","rootSelectorClasses","getRootSelectorClasses","isPreview","getHost","BLAZE_FRONTEND_HOST","host","HTTPS","window","location","protocol","hostname","port","urlPort","COLON","DOUBLE_SLASH","checkUrlQuery","variables","data","itemId","itemEntity","urlTo","cacheControlMaxAge","writeHead","Location","end","href","getUnpublishedEntityName","parentPATH","checkParent","handleError","err","events","emit","error","networkError","write","graphQLErrors","length","statusCode","NOT_FOUND_STATUS_CODE","errorCode"],"sources":["../../src/helpers/check-url.js"],"sourcesContent":["import { parseUrl } from 'query-string';\nimport { getUnpublishedEntityName } from '@blaze-cms/react-page-builder';\nimport { getAccessToken, checkAccessToken } from '@blaze-cms/core-auth-ui';\nimport { HTTPS, DOUBLE_SLASH, COLON, NOT_FOUND_STATUS_CODE } from '../constants';\nimport { checkUrlQuery } from '../application/query';\nimport checkParent from './check-parent';\nimport checkPreviewUrl from './check-preview-url';\nimport handleStaticRoutes from './handle-static-routes';\nimport getPageData from './get-page-data';\nimport getRootSelectorClasses from './get-root-selector-classes';\n\nconst getRootClassesLimit = () => Number(process.env.BLAZE_ROOT_SELECTOR_CLASSES_LIMIT);\n\nconst hasAuth = req => {\n if (!req) return false;\n return !!getAccessToken(req.headers.cookie);\n};\n\nconst checkUrl = async props => {\n const { asPath, apolloClient, res, req, query, blazeApp } = props;\n const fullUrl = getFullUrl(req, asPath);\n const { url } = parseUrl(asPath);\n\n if (process.env.BLAZE_STATUS_URL && url === process.env.BLAZE_STATUS_URL) {\n return { isStatusPage: true };\n }\n\n if (res) {\n const handler = handleStaticRoutes.getHandler(asPath);\n res.setHeader('Cache-Control', process.env.BLAZE_CACHE_CONTROL_HEADER || '');\n if (handler) {\n return handler(props);\n }\n }\n\n const previewData = checkPreviewUrl(url, query);\n\n if (!previewData && hasAuth(req)) return { disableSsr: true };\n\n await checkAccessToken(apolloClient);\n\n if (previewData) return getPreviewData(previewData, apolloClient);\n const urlCheckOptions = { asPath, url, apolloClient, res };\n const result = await doUrlCheck({\n ...urlCheckOptions,\n handle404Error: true,\n blazeApp\n });\n return { ...result, fullUrl } || {};\n};\n\nconst getPreviewData = async (previewData, apolloClient) => {\n const result = await getPageData({ ...previewData, apolloClient });\n const { pageData: { url } = {} } = result;\n const rootSelectorClasses = getRootSelectorClasses(url, getRootClassesLimit());\n return { ...previewData, rootSelectorClasses, ...result, isPreview: true };\n};\n\nconst getHost = ({ headers = {} }) =>\n process.env.BLAZE_FRONTEND_HOST ||\n headers['x-request-host'] ||\n headers['x-forwarded-host'] ||\n headers.host;\n\nconst getFullUrl = (req, asPath) => {\n if (req) {\n return `${HTTPS}${getHost(req)}${asPath}`;\n }\n const {\n location: { protocol, hostname, port }\n } = window;\n const urlPort = port ? `${COLON}${port}` : '';\n\n return `${protocol}${DOUBLE_SLASH}${hostname}${urlPort}${asPath}`;\n};\n\nconst doUrlCheck = async ({ url, apolloClient, res, handle404Error, blazeApp }) => {\n try {\n const {\n data: {\n checkUrl: { itemId, itemEntity, urlTo, pageData = {} }\n }\n } = await apolloClient.query({\n query: checkUrlQuery,\n variables: {\n url\n }\n });\n\n const { cacheControlMaxAge = null } = pageData;\n if (res && cacheControlMaxAge !== null && cacheControlMaxAge >= 0) {\n res.setHeader('Cache-Control', `max-age=${cacheControlMaxAge}`);\n }\n\n if (urlTo && urlTo !== url) {\n if (res) {\n res.writeHead(301, { Location: urlTo });\n res.end();\n } else {\n window.location.href = urlTo;\n }\n return {};\n }\n const rootSelectorClasses = getRootSelectorClasses(url, getRootClassesLimit());\n return {\n pageData,\n rootSelectorClasses,\n itemId,\n itemEntity: getUnpublishedEntityName(itemEntity)\n };\n } catch (err) {\n const parentPATH = checkParent(url);\n if (handle404Error && parentPATH && res) {\n res.writeHead(301, { Location: parentPATH });\n res.end();\n } else {\n return handleError(err, res, handle404Error, blazeApp);\n }\n\n return handle404Error ? {} : null;\n }\n};\n\nconst handleError = (err, res, handle404Error, blazeApp) => {\n blazeApp.events.emit('monitor:log', { error: err });\n\n if (!res) return {};\n if (err.networkError) {\n res.writeHead(500, { 'Content-Type': 'text/plain' });\n res.write('500 Internal Server Error\\n');\n res.end();\n } else if (handle404Error && err.graphQLErrors && err.graphQLErrors.length) {\n res.statusCode = NOT_FOUND_STATUS_CODE;\n return { errorCode: NOT_FOUND_STATUS_CODE };\n }\n\n return {};\n};\nexport default checkUrl;\n"],"mappings":"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"}
1
+ {"version":3,"file":"check-url.js","names":["getRootClassesLimit","Number","process","env","BLAZE_ROOT_SELECTOR_CLASSES_LIMIT","hasAuth","req","getAccessToken","headers","cookie","checkUrl","props","asPath","apolloClient","res","query","blazeApp","fullUrl","getFullUrl","parseUrl","url","BLAZE_STATUS_URL","isStatusPage","handler","handleStaticRoutes","getHandler","setHeader","BLAZE_CACHE_CONTROL_HEADER","previewData","checkPreviewUrl","disableSsr","checkAccessToken","getPreviewData","urlCheckOptions","doUrlCheck","handle404Error","result","getPageData","pageData","rootSelectorClasses","getRootSelectorClasses","isPreview","getHost","BLAZE_FRONTEND_HOST","host","HTTPS","window","location","protocol","hostname","port","urlPort","COLON","DOUBLE_SLASH","checkUrlQuery","variables","data","itemId","itemEntity","urlTo","cacheControlMaxAge","writeHead","Location","end","href","getUnpublishedEntityName","parentPATH","checkParent","handleError","err","events","emit","error","networkError","write","graphQLErrors","length","statusCode","NOT_FOUND_STATUS_CODE","errorCode"],"sources":["../../src/helpers/check-url.js"],"sourcesContent":["import { parseUrl } from 'query-string';\nimport { getUnpublishedEntityName } from '@blaze-cms/react-page-builder';\nimport { getAccessToken, checkAccessToken } from '@blaze-cms/core-auth-ui';\nimport { HTTPS, DOUBLE_SLASH, COLON, NOT_FOUND_STATUS_CODE } from '../constants';\nimport { checkUrlQuery } from '../application/query';\nimport checkParent from './check-parent';\nimport checkPreviewUrl from './check-preview-url';\nimport handleStaticRoutes from './handle-static-routes';\nimport getPageData from './get-page-data';\nimport getRootSelectorClasses from './get-root-selector-classes';\n\nconst getRootClassesLimit = () => Number(process.env.BLAZE_ROOT_SELECTOR_CLASSES_LIMIT);\n\nconst hasAuth = req => {\n if (!req) return false;\n return !!getAccessToken(req.headers.cookie);\n};\n\nconst checkUrl = async props => {\n const { asPath, apolloClient, res, req, query, blazeApp } = props;\n const fullUrl = getFullUrl(req, asPath);\n const { url } = parseUrl(asPath);\n\n if (process.env.BLAZE_STATUS_URL && url === process.env.BLAZE_STATUS_URL) {\n return { isStatusPage: true };\n }\n\n if (res) {\n const handler = handleStaticRoutes.getHandler(asPath);\n res.setHeader('Cache-Control', process.env.BLAZE_CACHE_CONTROL_HEADER || '');\n if (handler) {\n return handler(props);\n }\n }\n\n const previewData = checkPreviewUrl(url, query);\n\n if (!previewData && hasAuth(req)) return { disableSsr: true };\n\n await checkAccessToken(apolloClient);\n\n if (previewData) return getPreviewData(previewData, apolloClient);\n const urlCheckOptions = { asPath, url, apolloClient, res };\n const result = await doUrlCheck({\n ...urlCheckOptions,\n handle404Error: true,\n blazeApp\n });\n return { ...result, fullUrl } || {};\n};\n\nconst getPreviewData = async (previewData, apolloClient) => {\n const result = await getPageData({ ...previewData, apolloClient });\n const { pageData: { url } = {} } = result;\n const rootSelectorClasses = getRootSelectorClasses(url, getRootClassesLimit());\n return { ...previewData, rootSelectorClasses, ...result, isPreview: true };\n};\n\nconst getHost = ({ headers = {} }) =>\n process.env.BLAZE_FRONTEND_HOST ||\n headers['x-request-host'] ||\n headers['x-forwarded-host'] ||\n headers.host;\n\nconst getFullUrl = (req, asPath) => {\n if (req) {\n return `${HTTPS}${getHost(req)}${asPath}`;\n }\n const {\n location: { protocol, hostname, port }\n } = window;\n const urlPort = port ? `${COLON}${port}` : '';\n\n return `${protocol}${DOUBLE_SLASH}${hostname}${urlPort}${asPath}`;\n};\n\nconst doUrlCheck = async ({ url, apolloClient, res, handle404Error, blazeApp }) => {\n try {\n const {\n data: {\n checkUrl: { itemId, itemEntity, urlTo, pageData = {} }\n }\n } = await apolloClient.query({\n query: checkUrlQuery,\n variables: {\n url\n }\n });\n\n const { cacheControlMaxAge = null } = pageData || {}; // pageData can be null when there is no page\n if (res && cacheControlMaxAge !== null && cacheControlMaxAge >= 0) {\n res.setHeader('Cache-Control', `max-age=${cacheControlMaxAge}`);\n }\n\n if (urlTo && urlTo !== url) {\n if (res) {\n res.writeHead(301, { Location: urlTo });\n res.end();\n } else {\n window.location.href = urlTo;\n }\n return {};\n }\n const rootSelectorClasses = getRootSelectorClasses(url, getRootClassesLimit());\n return {\n pageData,\n rootSelectorClasses,\n itemId,\n itemEntity: getUnpublishedEntityName(itemEntity)\n };\n } catch (err) {\n const parentPATH = checkParent(url);\n if (handle404Error && parentPATH && res) {\n res.writeHead(301, { Location: parentPATH });\n res.end();\n } else {\n return handleError(err, res, handle404Error, blazeApp);\n }\n\n return handle404Error ? {} : null;\n }\n};\n\nconst handleError = (err, res, handle404Error, blazeApp) => {\n blazeApp.events.emit('monitor:log', { error: err });\n\n if (!res) return {};\n if (err.networkError) {\n res.writeHead(500, { 'Content-Type': 'text/plain' });\n res.write('500 Internal Server Error\\n');\n res.end();\n } else if (handle404Error && err.graphQLErrors && err.graphQLErrors.length) {\n res.statusCode = NOT_FOUND_STATUS_CODE;\n return { errorCode: NOT_FOUND_STATUS_CODE };\n }\n\n return {};\n};\nexport default checkUrl;\n"],"mappings":"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"}
@@ -134,7 +134,7 @@ const doUrlCheck = async ({
134
134
  });
135
135
  const {
136
136
  cacheControlMaxAge = null
137
- } = pageData;
137
+ } = pageData || {}; // pageData can be null when there is no page
138
138
 
139
139
  if (res && cacheControlMaxAge !== null && cacheControlMaxAge >= 0) {
140
140
  res.setHeader('Cache-Control', `max-age=${cacheControlMaxAge}`);
@@ -1 +1 @@
1
- {"version":3,"file":"check-url.js","names":["parseUrl","getUnpublishedEntityName","getAccessToken","checkAccessToken","HTTPS","DOUBLE_SLASH","COLON","NOT_FOUND_STATUS_CODE","checkUrlQuery","checkParent","checkPreviewUrl","handleStaticRoutes","getPageData","getRootSelectorClasses","getRootClassesLimit","Number","process","env","BLAZE_ROOT_SELECTOR_CLASSES_LIMIT","hasAuth","req","headers","cookie","checkUrl","props","asPath","apolloClient","res","query","blazeApp","fullUrl","getFullUrl","url","BLAZE_STATUS_URL","isStatusPage","handler","getHandler","setHeader","BLAZE_CACHE_CONTROL_HEADER","previewData","disableSsr","getPreviewData","urlCheckOptions","result","doUrlCheck","handle404Error","pageData","rootSelectorClasses","isPreview","getHost","BLAZE_FRONTEND_HOST","host","location","protocol","hostname","port","window","urlPort","data","itemId","itemEntity","urlTo","variables","cacheControlMaxAge","writeHead","Location","end","href","err","parentPATH","handleError","events","emit","error","networkError","write","graphQLErrors","length","statusCode","errorCode"],"sources":["../../src/helpers/check-url.js"],"sourcesContent":["import { parseUrl } from 'query-string';\nimport { getUnpublishedEntityName } from '@blaze-cms/react-page-builder';\nimport { getAccessToken, checkAccessToken } from '@blaze-cms/core-auth-ui';\nimport { HTTPS, DOUBLE_SLASH, COLON, NOT_FOUND_STATUS_CODE } from '../constants';\nimport { checkUrlQuery } from '../application/query';\nimport checkParent from './check-parent';\nimport checkPreviewUrl from './check-preview-url';\nimport handleStaticRoutes from './handle-static-routes';\nimport getPageData from './get-page-data';\nimport getRootSelectorClasses from './get-root-selector-classes';\n\nconst getRootClassesLimit = () => Number(process.env.BLAZE_ROOT_SELECTOR_CLASSES_LIMIT);\n\nconst hasAuth = req => {\n if (!req) return false;\n return !!getAccessToken(req.headers.cookie);\n};\n\nconst checkUrl = async props => {\n const { asPath, apolloClient, res, req, query, blazeApp } = props;\n const fullUrl = getFullUrl(req, asPath);\n const { url } = parseUrl(asPath);\n\n if (process.env.BLAZE_STATUS_URL && url === process.env.BLAZE_STATUS_URL) {\n return { isStatusPage: true };\n }\n\n if (res) {\n const handler = handleStaticRoutes.getHandler(asPath);\n res.setHeader('Cache-Control', process.env.BLAZE_CACHE_CONTROL_HEADER || '');\n if (handler) {\n return handler(props);\n }\n }\n\n const previewData = checkPreviewUrl(url, query);\n\n if (!previewData && hasAuth(req)) return { disableSsr: true };\n\n await checkAccessToken(apolloClient);\n\n if (previewData) return getPreviewData(previewData, apolloClient);\n const urlCheckOptions = { asPath, url, apolloClient, res };\n const result = await doUrlCheck({\n ...urlCheckOptions,\n handle404Error: true,\n blazeApp\n });\n return { ...result, fullUrl } || {};\n};\n\nconst getPreviewData = async (previewData, apolloClient) => {\n const result = await getPageData({ ...previewData, apolloClient });\n const { pageData: { url } = {} } = result;\n const rootSelectorClasses = getRootSelectorClasses(url, getRootClassesLimit());\n return { ...previewData, rootSelectorClasses, ...result, isPreview: true };\n};\n\nconst getHost = ({ headers = {} }) =>\n process.env.BLAZE_FRONTEND_HOST ||\n headers['x-request-host'] ||\n headers['x-forwarded-host'] ||\n headers.host;\n\nconst getFullUrl = (req, asPath) => {\n if (req) {\n return `${HTTPS}${getHost(req)}${asPath}`;\n }\n const {\n location: { protocol, hostname, port }\n } = window;\n const urlPort = port ? `${COLON}${port}` : '';\n\n return `${protocol}${DOUBLE_SLASH}${hostname}${urlPort}${asPath}`;\n};\n\nconst doUrlCheck = async ({ url, apolloClient, res, handle404Error, blazeApp }) => {\n try {\n const {\n data: {\n checkUrl: { itemId, itemEntity, urlTo, pageData = {} }\n }\n } = await apolloClient.query({\n query: checkUrlQuery,\n variables: {\n url\n }\n });\n\n const { cacheControlMaxAge = null } = pageData;\n if (res && cacheControlMaxAge !== null && cacheControlMaxAge >= 0) {\n res.setHeader('Cache-Control', `max-age=${cacheControlMaxAge}`);\n }\n\n if (urlTo && urlTo !== url) {\n if (res) {\n res.writeHead(301, { Location: urlTo });\n res.end();\n } else {\n window.location.href = urlTo;\n }\n return {};\n }\n const rootSelectorClasses = getRootSelectorClasses(url, getRootClassesLimit());\n return {\n pageData,\n rootSelectorClasses,\n itemId,\n itemEntity: getUnpublishedEntityName(itemEntity)\n };\n } catch (err) {\n const parentPATH = checkParent(url);\n if (handle404Error && parentPATH && res) {\n res.writeHead(301, { Location: parentPATH });\n res.end();\n } else {\n return handleError(err, res, handle404Error, blazeApp);\n }\n\n return handle404Error ? {} : null;\n }\n};\n\nconst handleError = (err, res, handle404Error, blazeApp) => {\n blazeApp.events.emit('monitor:log', { error: err });\n\n if (!res) return {};\n if (err.networkError) {\n res.writeHead(500, { 'Content-Type': 'text/plain' });\n res.write('500 Internal Server Error\\n');\n res.end();\n } else if (handle404Error && err.graphQLErrors && err.graphQLErrors.length) {\n res.statusCode = NOT_FOUND_STATUS_CODE;\n return { errorCode: NOT_FOUND_STATUS_CODE };\n }\n\n return {};\n};\nexport default checkUrl;\n"],"mappings":"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"}
1
+ {"version":3,"file":"check-url.js","names":["parseUrl","getUnpublishedEntityName","getAccessToken","checkAccessToken","HTTPS","DOUBLE_SLASH","COLON","NOT_FOUND_STATUS_CODE","checkUrlQuery","checkParent","checkPreviewUrl","handleStaticRoutes","getPageData","getRootSelectorClasses","getRootClassesLimit","Number","process","env","BLAZE_ROOT_SELECTOR_CLASSES_LIMIT","hasAuth","req","headers","cookie","checkUrl","props","asPath","apolloClient","res","query","blazeApp","fullUrl","getFullUrl","url","BLAZE_STATUS_URL","isStatusPage","handler","getHandler","setHeader","BLAZE_CACHE_CONTROL_HEADER","previewData","disableSsr","getPreviewData","urlCheckOptions","result","doUrlCheck","handle404Error","pageData","rootSelectorClasses","isPreview","getHost","BLAZE_FRONTEND_HOST","host","location","protocol","hostname","port","window","urlPort","data","itemId","itemEntity","urlTo","variables","cacheControlMaxAge","writeHead","Location","end","href","err","parentPATH","handleError","events","emit","error","networkError","write","graphQLErrors","length","statusCode","errorCode"],"sources":["../../src/helpers/check-url.js"],"sourcesContent":["import { parseUrl } from 'query-string';\nimport { getUnpublishedEntityName } from '@blaze-cms/react-page-builder';\nimport { getAccessToken, checkAccessToken } from '@blaze-cms/core-auth-ui';\nimport { HTTPS, DOUBLE_SLASH, COLON, NOT_FOUND_STATUS_CODE } from '../constants';\nimport { checkUrlQuery } from '../application/query';\nimport checkParent from './check-parent';\nimport checkPreviewUrl from './check-preview-url';\nimport handleStaticRoutes from './handle-static-routes';\nimport getPageData from './get-page-data';\nimport getRootSelectorClasses from './get-root-selector-classes';\n\nconst getRootClassesLimit = () => Number(process.env.BLAZE_ROOT_SELECTOR_CLASSES_LIMIT);\n\nconst hasAuth = req => {\n if (!req) return false;\n return !!getAccessToken(req.headers.cookie);\n};\n\nconst checkUrl = async props => {\n const { asPath, apolloClient, res, req, query, blazeApp } = props;\n const fullUrl = getFullUrl(req, asPath);\n const { url } = parseUrl(asPath);\n\n if (process.env.BLAZE_STATUS_URL && url === process.env.BLAZE_STATUS_URL) {\n return { isStatusPage: true };\n }\n\n if (res) {\n const handler = handleStaticRoutes.getHandler(asPath);\n res.setHeader('Cache-Control', process.env.BLAZE_CACHE_CONTROL_HEADER || '');\n if (handler) {\n return handler(props);\n }\n }\n\n const previewData = checkPreviewUrl(url, query);\n\n if (!previewData && hasAuth(req)) return { disableSsr: true };\n\n await checkAccessToken(apolloClient);\n\n if (previewData) return getPreviewData(previewData, apolloClient);\n const urlCheckOptions = { asPath, url, apolloClient, res };\n const result = await doUrlCheck({\n ...urlCheckOptions,\n handle404Error: true,\n blazeApp\n });\n return { ...result, fullUrl } || {};\n};\n\nconst getPreviewData = async (previewData, apolloClient) => {\n const result = await getPageData({ ...previewData, apolloClient });\n const { pageData: { url } = {} } = result;\n const rootSelectorClasses = getRootSelectorClasses(url, getRootClassesLimit());\n return { ...previewData, rootSelectorClasses, ...result, isPreview: true };\n};\n\nconst getHost = ({ headers = {} }) =>\n process.env.BLAZE_FRONTEND_HOST ||\n headers['x-request-host'] ||\n headers['x-forwarded-host'] ||\n headers.host;\n\nconst getFullUrl = (req, asPath) => {\n if (req) {\n return `${HTTPS}${getHost(req)}${asPath}`;\n }\n const {\n location: { protocol, hostname, port }\n } = window;\n const urlPort = port ? `${COLON}${port}` : '';\n\n return `${protocol}${DOUBLE_SLASH}${hostname}${urlPort}${asPath}`;\n};\n\nconst doUrlCheck = async ({ url, apolloClient, res, handle404Error, blazeApp }) => {\n try {\n const {\n data: {\n checkUrl: { itemId, itemEntity, urlTo, pageData = {} }\n }\n } = await apolloClient.query({\n query: checkUrlQuery,\n variables: {\n url\n }\n });\n\n const { cacheControlMaxAge = null } = pageData || {}; // pageData can be null when there is no page\n if (res && cacheControlMaxAge !== null && cacheControlMaxAge >= 0) {\n res.setHeader('Cache-Control', `max-age=${cacheControlMaxAge}`);\n }\n\n if (urlTo && urlTo !== url) {\n if (res) {\n res.writeHead(301, { Location: urlTo });\n res.end();\n } else {\n window.location.href = urlTo;\n }\n return {};\n }\n const rootSelectorClasses = getRootSelectorClasses(url, getRootClassesLimit());\n return {\n pageData,\n rootSelectorClasses,\n itemId,\n itemEntity: getUnpublishedEntityName(itemEntity)\n };\n } catch (err) {\n const parentPATH = checkParent(url);\n if (handle404Error && parentPATH && res) {\n res.writeHead(301, { Location: parentPATH });\n res.end();\n } else {\n return handleError(err, res, handle404Error, blazeApp);\n }\n\n return handle404Error ? {} : null;\n }\n};\n\nconst handleError = (err, res, handle404Error, blazeApp) => {\n blazeApp.events.emit('monitor:log', { error: err });\n\n if (!res) return {};\n if (err.networkError) {\n res.writeHead(500, { 'Content-Type': 'text/plain' });\n res.write('500 Internal Server Error\\n');\n res.end();\n } else if (handle404Error && err.graphQLErrors && err.graphQLErrors.length) {\n res.statusCode = NOT_FOUND_STATUS_CODE;\n return { errorCode: NOT_FOUND_STATUS_CODE };\n }\n\n return {};\n};\nexport default checkUrl;\n"],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@blaze-cms/nextjs-tools",
3
- "version": "0.124.0-alpha.31",
3
+ "version": "0.124.0-alpha.34",
4
4
  "description": "Blaze nextjs tools",
5
5
  "main": "lib/index.js",
6
6
  "module": "lib-es/index.js",
@@ -34,12 +34,12 @@
34
34
  "@blaze-cms/core-ui": "^0.121.0",
35
35
  "@blaze-cms/nextjs-components": "^0.124.0-alpha.30",
36
36
  "@blaze-cms/plugin-auth-fe": "^0.121.0",
37
- "@blaze-cms/plugin-google-maps-fe": "^0.124.0-alpha.31",
38
- "@blaze-cms/plugin-gtm-fe": "^0.124.0-alpha.31",
39
- "@blaze-cms/plugin-page-builder-fe": "^0.124.0-alpha.31",
37
+ "@blaze-cms/plugin-google-maps-fe": "^0.124.0-alpha.34",
38
+ "@blaze-cms/plugin-gtm-fe": "^0.124.0-alpha.34",
39
+ "@blaze-cms/plugin-page-builder-fe": "^0.124.0-alpha.34",
40
40
  "@blaze-cms/plugin-preview-fe": "^0.121.0",
41
41
  "@blaze-cms/plugin-search-ui": "^0.124.0-alpha.21",
42
- "@blaze-cms/react-page-builder": "^0.124.0-alpha.31",
42
+ "@blaze-cms/react-page-builder": "^0.124.0-alpha.34",
43
43
  "@blaze-cms/setup-ui": "^0.92.0",
44
44
  "autoprefixer": "^10.2.3",
45
45
  "core-js": "^3.2.1",
@@ -67,5 +67,5 @@
67
67
  "lib/*",
68
68
  "lib-es/*"
69
69
  ],
70
- "gitHead": "96168ac6a7c5f4afdb55e4dd523179d73215e523"
70
+ "gitHead": "a4f72388709e1c0f77565e5cbce6d8ed8b553d17"
71
71
  }
@@ -87,7 +87,7 @@ const doUrlCheck = async ({ url, apolloClient, res, handle404Error, blazeApp })
87
87
  }
88
88
  });
89
89
 
90
- const { cacheControlMaxAge = null } = pageData;
90
+ const { cacheControlMaxAge = null } = pageData || {}; // pageData can be null when there is no page
91
91
  if (res && cacheControlMaxAge !== null && cacheControlMaxAge >= 0) {
92
92
  res.setHeader('Cache-Control', `max-age=${cacheControlMaxAge}`);
93
93
  }
@@ -35,6 +35,7 @@ describe('Check url', () => {
35
35
  const itemId = 'RECORD_ID';
36
36
  const unpublishedItemEntity = 'page';
37
37
  const itemEntity = `published_${unpublishedItemEntity}`;
38
+ const rootPage = '/';
38
39
  const pageData = { pageData: true };
39
40
  const apolloClient = {
40
41
  query: jest.fn(async () => ({
@@ -201,7 +202,6 @@ describe('Check url', () => {
201
202
  err.networkError = {};
202
203
  throw err;
203
204
  });
204
- const rootPage = '/';
205
205
  await checkUrl({ ...props, asPath: rootPage });
206
206
  expect(res.writeHead).toHaveBeenCalledWith(500, { 'Content-Type': 'text/plain' });
207
207
  expect(res.write).toHaveBeenCalledWith('500 Internal Server Error\n');
@@ -234,6 +234,20 @@ describe('Check url', () => {
234
234
  `max-age=${cacheControlMaxAge}`
235
235
  );
236
236
  });
237
+
238
+ it('should not redirect to parent if urlTo is set and pageData is null', async () => {
239
+ apolloClient.query.mockImplementationOnce(async () => ({
240
+ data: {
241
+ checkUrl: { urlTo: rootPage, pageData: null }
242
+ }
243
+ }));
244
+ const customProps = {
245
+ ...props,
246
+ asPath: '/page1/page2'
247
+ };
248
+ await checkUrl(customProps);
249
+ expect(res.writeHead).toHaveBeenCalledWith(301, { Location: rootPage });
250
+ });
237
251
  });
238
252
 
239
253
  function apolloQueryCheck(apolloClient, asPath) {