@blaze-cms/nextjs-tools 0.146.0-alpha.57 → 0.146.0-alpha.59

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 (54) hide show
  1. package/CHANGELOG.md +11 -0
  2. package/README.md +6 -0
  3. package/lib/components/DebugSidebar/index.js +2 -1
  4. package/lib/components/DebugSidebar/index.js.map +1 -1
  5. package/lib/constants.js +5 -1
  6. package/lib/constants.js.map +1 -1
  7. package/lib/containers/ContentContainer.js +2 -1
  8. package/lib/containers/ContentContainer.js.map +1 -1
  9. package/lib/helpers/check-for-gtm.js +3 -3
  10. package/lib/helpers/check-for-gtm.js.map +1 -1
  11. package/lib/helpers/check-url.js +99 -60
  12. package/lib/helpers/check-url.js.map +1 -1
  13. package/lib/helpers/get-page-data.js +13 -13
  14. package/lib/helpers/get-page-data.js.map +1 -1
  15. package/lib/helpers/get-search-filter.js +3 -3
  16. package/lib/helpers/get-search-filter.js.map +1 -1
  17. package/lib/helpers/handle-static-routes.js +3 -3
  18. package/lib/helpers/handle-static-routes.js.map +1 -1
  19. package/lib/helpers/index.js +2 -1
  20. package/lib/helpers/index.js.map +1 -1
  21. package/lib/helpers/render-apple-tags.js +0 -1
  22. package/lib/helpers/render-apple-tags.js.map +1 -1
  23. package/lib/helpers/static-route-handlers/generic-file-handler.js +15 -15
  24. package/lib/helpers/static-route-handlers/generic-file-handler.js.map +1 -1
  25. package/lib/helpers/static-route-handlers/index.js +2 -1
  26. package/lib/helpers/static-route-handlers/index.js.map +1 -1
  27. package/lib/hoc/withBlaze.js +39 -37
  28. package/lib/hoc/withBlaze.js.map +1 -1
  29. package/lib/index.js +2 -1
  30. package/lib/index.js.map +1 -1
  31. package/lib/pages/Resolver.js +3 -3
  32. package/lib/pages/Resolver.js.map +1 -1
  33. package/lib/pages/document/_document.js +2 -1
  34. package/lib/pages/document/_document.js.map +1 -1
  35. package/lib/server/index.js +5 -5
  36. package/lib/server/index.js.map +1 -1
  37. package/lib-es/application/query/index.js.map +1 -1
  38. package/lib-es/components/DebugSidebar/index.js.map +1 -1
  39. package/lib-es/constants.js +5 -1
  40. package/lib-es/constants.js.map +1 -1
  41. package/lib-es/helpers/build-admin-href.js.map +1 -1
  42. package/lib-es/helpers/check-url.js +77 -30
  43. package/lib-es/helpers/check-url.js.map +1 -1
  44. package/lib-es/helpers/get-root-selector-classes.js.map +1 -1
  45. package/lib-es/helpers/static-route-handlers/robots-txt.js.map +1 -1
  46. package/lib-es/helpers/static-route-handlers/sitemap-file.js.map +1 -1
  47. package/lib-es/helpers/static-route-handlers/sitemap.js.map +1 -1
  48. package/lib-es/hoc/withBlaze.js +1 -1
  49. package/lib-es/hoc/withBlaze.js.map +1 -1
  50. package/package.json +2 -2
  51. package/src/constants.js +5 -1
  52. package/src/helpers/check-url.js +59 -24
  53. package/tests/unit/src/__snapshots__/constants.test.js.snap +3 -0
  54. package/tests/unit/src/helpers/check-url.test.js +37 -12
package/CHANGELOG.md CHANGED
@@ -3,6 +3,17 @@
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.146.0-alpha.59](https://github.com/thebyte9/blaze/compare/v0.146.0-alpha.58...v0.146.0-alpha.59) (2025-07-29)
7
+
8
+
9
+ ### Features
10
+
11
+ * add support for custom 404 page using custom error 404 slug and fallback rendering ([#4839](https://github.com/thebyte9/blaze/issues/4839)) ([67554a3](https://github.com/thebyte9/blaze/commit/67554a3febc2871d73bd127753edf3b918a1a0b7))
12
+
13
+
14
+
15
+
16
+
6
17
  # [0.146.0-alpha.57](https://github.com/thebyte9/blaze/compare/v0.146.0-alpha.56...v0.146.0-alpha.57) (2025-07-14)
7
18
 
8
19
  **Note:** Version bump only for package @blaze-cms/nextjs-tools
package/README.md CHANGED
@@ -81,6 +81,12 @@ If you want to make it stricter or more open you can override the default with t
81
81
 
82
82
  **Note** If you make it more open this could increase load on the frontend/api services as more paths will be checked with the api so if bot is targetting the server the load on both services will be higher.
83
83
 
84
+ ## Custom error not found (404) page
85
+
86
+ By default if a url is not found by the API the frontend app will show a simple error message saying "Page not found".
87
+
88
+ If is possible to create a custom error page by adding a page with the slug "custom-error-404". The frontend will check the api for this url and render the page if it is set. The requested url will still be shown in the browser and appropriate 404 HTTP header.
89
+
84
90
  ## Environment variables
85
91
 
86
92
  | Name | Description | Type | Default |
@@ -29,7 +29,8 @@ var _router = require("next/router");
29
29
  var _io = require("react-icons/io5");
30
30
  var _helpers = require("../../helpers");
31
31
  var _constants = require("../../constants");
32
- function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function _interopRequireWildcard(e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, "default": e }; if (null === e || "object" != _typeof(e) && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (var _t2 in e) "default" !== _t2 && {}.hasOwnProperty.call(e, _t2) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, _t2)) && (i.get || i.set) ? o(f, _t2, i) : f[_t2] = e[_t2]); return f; })(e, t); }
32
+ function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
33
+ function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { "default": e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n["default"] = e, t && t.set(e, n), n; }
33
34
  var DebugSidebar = function DebugSidebar(_ref) {
34
35
  var itemEntity = _ref.itemEntity,
35
36
  itemId = _ref.itemId,
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["_react","_interopRequireWildcard","require","_propTypes","_interopRequireDefault","_classnames","_nextjsComponents","_md","_router","_io","_helpers","_constants","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","_typeof","has","get","set","_t2","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","DebugSidebar","_ref","itemEntity","itemId","debugMode","_useState","useState","_useState2","_slicedToArray2","isDebugMode","setIsDebugMode","_useState3","_useState4","isOpen","setIsOpen","router","useRouter","useEffect","setBlazeDebug","handleRouteChange","url","hasDebug","includes","concat","BLAZE_DEBUG","asPath","events","on","off","divClass","classnames","href","buildAdminHref","closeDebug","window","blaze","debug","_router$asPath$split","split","_router$asPath$split2","pathname","_router$asPath$split3","search","params","URLSearchParams","newUrl","toString","push","shallow","createElement","Fragment","className","Link","src","DEBUG_LOGO","SRC","alt","ALT","role","onClick","IoCloseOutline","id","MdKeyboardArrowLeft","propTypes","PropTypes","string","bool","defaultProps","_default","exports"],"sources":["../../../src/components/DebugSidebar/index.js"],"sourcesContent":["import React, { useState, useEffect } from 'react';\nimport PropTypes from 'prop-types';\nimport classnames from 'classnames';\nimport { Link } from '@blaze-cms/nextjs-components';\nimport { MdKeyboardArrowLeft } from 'react-icons/md';\nimport { useRouter } from 'next/router';\nimport { IoCloseOutline } from 'react-icons/io5';\nimport { buildAdminHref, setBlazeDebug, BLAZE_DEBUG } from '../../helpers';\nimport { DEBUG_LOGO } from '../../constants';\n\nconst DebugSidebar = ({ itemEntity, itemId, debugMode }) => {\n const [isDebugMode, setIsDebugMode] = useState(debugMode);\n const [isOpen, setIsOpen] = useState(true);\n const router = useRouter();\n\n useEffect(\n () => {\n if (debugMode === true) {\n setIsDebugMode(debugMode);\n } else setBlazeDebug(setIsDebugMode);\n },\n [debugMode]\n );\n\n useEffect(\n () => {\n const handleRouteChange = url => {\n const hasDebug = url.includes(`${BLAZE_DEBUG}=1`);\n if (hasDebug) {\n setBlazeDebug(setIsDebugMode);\n setIsOpen(true);\n }\n };\n\n if (router.asPath.includes(`${BLAZE_DEBUG}=1`)) {\n handleRouteChange(router.asPath);\n }\n\n router.events.on('routeChangeComplete', handleRouteChange);\n return () => {\n router.events.off('routeChangeComplete', handleRouteChange);\n };\n },\n [router.events, router.asPath]\n );\n\n const divClass = classnames('debug-sidebar', {\n 'debug-sidebar--open': isOpen,\n 'debug-sidebar--close': !isOpen\n });\n\n const href = buildAdminHref({ itemEntity, itemId });\n\n const closeDebug = () => {\n setBlazeDebug(setIsDebugMode);\n window.blaze.debug();\n\n const [pathname, search = ''] = router.asPath.split('?');\n const params = new URLSearchParams(search);\n params.delete(BLAZE_DEBUG);\n const newUrl = params.toString() ? `${pathname}?${params.toString()}` : pathname;\n\n router.push('/Resolver', newUrl, {\n shallow: true\n });\n };\n\n return (\n <>\n {isDebugMode ? (\n <div className={divClass} data-testid=\"debug-sidebar\">\n <Link href={href}>\n <img src={DEBUG_LOGO.SRC} alt={DEBUG_LOGO.ALT} />\n <span>Blaze admin</span>\n </Link>\n\n <div\n role=\"button\"\n className=\"debug-sidebar__button debug-sidebar__button--close\"\n data-testid=\"debug-sidebar-close\"\n onClick={closeDebug}>\n <IoCloseOutline />\n </div>\n\n <div\n role=\"button\"\n className=\"debug-sidebar__button open\"\n data-testid=\"debug-sidebar-button\"\n id=\"debug-sidebar-button\"\n onClick={() => setIsOpen(!isOpen)}>\n <i>\n <MdKeyboardArrowLeft />\n </i>\n </div>\n </div>\n ) : null}\n </>\n );\n};\n\nDebugSidebar.propTypes = {\n itemEntity: PropTypes.string,\n itemId: PropTypes.string,\n debugMode: PropTypes.bool\n};\n\nDebugSidebar.defaultProps = {\n itemEntity: '',\n itemId: '',\n debugMode: false\n};\n\nexport default DebugSidebar;\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["_react","_interopRequireWildcard","require","_propTypes","_interopRequireDefault","_classnames","_nextjsComponents","_md","_router","_io","_helpers","_constants","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","_typeof","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","DebugSidebar","_ref","itemEntity","itemId","debugMode","_useState","useState","_useState2","_slicedToArray2","isDebugMode","setIsDebugMode","_useState3","_useState4","isOpen","setIsOpen","router","useRouter","useEffect","setBlazeDebug","handleRouteChange","url","hasDebug","includes","concat","BLAZE_DEBUG","asPath","events","on","off","divClass","classnames","href","buildAdminHref","closeDebug","window","blaze","debug","_router$asPath$split","split","_router$asPath$split2","pathname","_router$asPath$split3","search","params","URLSearchParams","newUrl","toString","push","shallow","createElement","Fragment","className","Link","src","DEBUG_LOGO","SRC","alt","ALT","role","onClick","IoCloseOutline","id","MdKeyboardArrowLeft","propTypes","PropTypes","string","bool","defaultProps","_default","exports"],"sources":["../../../src/components/DebugSidebar/index.js"],"sourcesContent":["import React, { useState, useEffect } from 'react';\nimport PropTypes from 'prop-types';\nimport classnames from 'classnames';\nimport { Link } from '@blaze-cms/nextjs-components';\nimport { MdKeyboardArrowLeft } from 'react-icons/md';\nimport { useRouter } from 'next/router';\nimport { IoCloseOutline } from 'react-icons/io5';\nimport { buildAdminHref, setBlazeDebug, BLAZE_DEBUG } from '../../helpers';\nimport { DEBUG_LOGO } from '../../constants';\n\nconst DebugSidebar = ({ itemEntity, itemId, debugMode }) => {\n const [isDebugMode, setIsDebugMode] = useState(debugMode);\n const [isOpen, setIsOpen] = useState(true);\n const router = useRouter();\n\n useEffect(\n () => {\n if (debugMode === true) {\n setIsDebugMode(debugMode);\n } else setBlazeDebug(setIsDebugMode);\n },\n [debugMode]\n );\n\n useEffect(\n () => {\n const handleRouteChange = url => {\n const hasDebug = url.includes(`${BLAZE_DEBUG}=1`);\n if (hasDebug) {\n setBlazeDebug(setIsDebugMode);\n setIsOpen(true);\n }\n };\n\n if (router.asPath.includes(`${BLAZE_DEBUG}=1`)) {\n handleRouteChange(router.asPath);\n }\n\n router.events.on('routeChangeComplete', handleRouteChange);\n return () => {\n router.events.off('routeChangeComplete', handleRouteChange);\n };\n },\n [router.events, router.asPath]\n );\n\n const divClass = classnames('debug-sidebar', {\n 'debug-sidebar--open': isOpen,\n 'debug-sidebar--close': !isOpen\n });\n\n const href = buildAdminHref({ itemEntity, itemId });\n\n const closeDebug = () => {\n setBlazeDebug(setIsDebugMode);\n window.blaze.debug();\n\n const [pathname, search = ''] = router.asPath.split('?');\n const params = new URLSearchParams(search);\n params.delete(BLAZE_DEBUG);\n const newUrl = params.toString() ? `${pathname}?${params.toString()}` : pathname;\n\n router.push('/Resolver', newUrl, {\n shallow: true\n });\n };\n\n return (\n <>\n {isDebugMode ? (\n <div className={divClass} data-testid=\"debug-sidebar\">\n <Link href={href}>\n <img src={DEBUG_LOGO.SRC} alt={DEBUG_LOGO.ALT} />\n <span>Blaze admin</span>\n </Link>\n\n <div\n role=\"button\"\n className=\"debug-sidebar__button debug-sidebar__button--close\"\n data-testid=\"debug-sidebar-close\"\n onClick={closeDebug}>\n <IoCloseOutline />\n </div>\n\n <div\n role=\"button\"\n className=\"debug-sidebar__button open\"\n data-testid=\"debug-sidebar-button\"\n id=\"debug-sidebar-button\"\n onClick={() => setIsOpen(!isOpen)}>\n <i>\n <MdKeyboardArrowLeft />\n </i>\n </div>\n </div>\n ) : null}\n </>\n );\n};\n\nDebugSidebar.propTypes = {\n itemEntity: PropTypes.string,\n itemId: PropTypes.string,\n debugMode: PropTypes.bool\n};\n\nDebugSidebar.defaultProps = {\n itemEntity: '',\n itemId: '',\n debugMode: false\n};\n\nexport default DebugSidebar;\n"],"mappings":"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","ignoreList":[]}
package/lib/constants.js CHANGED
@@ -64,6 +64,9 @@ var NOT_FOUND_STATUS_CODE = 404;
64
64
  var ROOT_SELECTOR_CLASS_PREFIX = 'root-selector';
65
65
  var ROOT_SELECTOR_SEPARATOR = '--';
66
66
  var RESOLVER_CONTAINER_CLASS = 'resolver-container';
67
+ var ERROR_URLS = {
68
+ custom404: '/custom-error-404'
69
+ };
67
70
  module.exports = {
68
71
  APPLE_TAGS: APPLE_TAGS,
69
72
  ACTIVE_META_TAGS: ACTIVE_META_TAGS,
@@ -92,6 +95,7 @@ module.exports = {
92
95
  ROOT_SELECTOR_CLASS_PREFIX: ROOT_SELECTOR_CLASS_PREFIX,
93
96
  ROOT_SELECTOR_SEPARATOR: ROOT_SELECTOR_SEPARATOR,
94
97
  RESOLVER_CONTAINER_CLASS: RESOLVER_CONTAINER_CLASS,
95
- BLAZE_X_FRAME_OPTIONS_DEFAULT: BLAZE_X_FRAME_OPTIONS_DEFAULT
98
+ BLAZE_X_FRAME_OPTIONS_DEFAULT: BLAZE_X_FRAME_OPTIONS_DEFAULT,
99
+ ERROR_URLS: ERROR_URLS
96
100
  };
97
101
  //# sourceMappingURL=constants.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"constants.js","names":["ACTIVE_META_TAGS","BLAZE_X_FRAME_OPTIONS_DEFAULT","META_TAGS_LOOKUP","description","apiKey","htmlTagName","tagKeyName","contentDataKeyName","canonical","PB_TYPE_IMAGE","PB_TYPE_TEXTBLOCK","PB_TYPE_CAROUSEL","SEARCH_FILTER","COLON","DOUBLE_SLASH","HTTPS","DEFAULT_ROUTE_REGEX","ROUTE_REGEX","process","env","BLAZE_ROUTE_REGEX","RegExp","PREVIEW_REGEX","PREVIEW_MODE","GTM_STRING","DEBUG_LOGO","SRC","ALT","PUBLISHED_","RESPONSE_404","SITEMAP_STORE_KEY","ROUTE_PATTERN_SITEMAP","BLAZE_ROUTE_PATTERN_SITEMAP","sitemapFilePrefix","BLAZE_CONTENT_SITEMAP_URL_PREFIX","ROUTE_PATTERN_SITEMAP_FILE_REGEX","concat","ROUTE_PATTERN_ROBOTS_TXT","BLAZE_STATIC_ROUTE_STORE_KEY","STATIC_FILE_FORWARD_HEADERS","APPLE_TAGS","href","rel","sizes","NOT_FOUND_STATUS_CODE","ROOT_SELECTOR_CLASS_PREFIX","ROOT_SELECTOR_SEPARATOR","RESOLVER_CONTAINER_CLASS","module","exports"],"sources":["../src/constants.js"],"sourcesContent":["const ACTIVE_META_TAGS = ['description', 'canonical'];\nconst BLAZE_X_FRAME_OPTIONS_DEFAULT = 'SAMEORIGIN';\n\nconst META_TAGS_LOOKUP = {\n description: {\n apiKey: 'metaDescription',\n htmlTagName: 'meta',\n tagKeyName: 'name',\n contentDataKeyName: 'content'\n },\n canonical: {\n apiKey: 'canonicalUrl',\n htmlTagName: 'link',\n tagKeyName: 'rel',\n contentDataKeyName: 'href'\n }\n};\n\nconst PB_TYPE_IMAGE = 'image';\nconst PB_TYPE_TEXTBLOCK = 'textblock';\nconst PB_TYPE_CAROUSEL = 'carousel';\nconst SEARCH_FILTER = 'searchfilter';\nconst COLON = ':';\nconst DOUBLE_SLASH = '//';\nconst HTTPS = 'https://';\n\nconst DEFAULT_ROUTE_REGEX = /^\\/[a-z0-9€_\\/]+(?:[-\\/\\.]{1,2}[a-z0-9\\/€_\\/]+)*$|^\\/$/i;\nconst ROUTE_REGEX = process.env.BLAZE_ROUTE_REGEX\n ? new RegExp(process.env.BLAZE_ROUTE_REGEX)\n : DEFAULT_ROUTE_REGEX;\nconst PREVIEW_REGEX = /^(\\/_preview)/;\nconst PREVIEW_MODE = 'Preview Mode';\nconst GTM_STRING = 'gtm';\n\nconst DEBUG_LOGO = {\n SRC: 'https://images.thisisblaze.com/logo-small-27-40.png',\n ALT: 'blaze-logo'\n};\n\nconst PUBLISHED_ = 'published_';\n\nconst RESPONSE_404 = '404 Not Found\\n';\n\nconst SITEMAP_STORE_KEY = 'default_sitemap';\nconst ROUTE_PATTERN_SITEMAP = process.env.BLAZE_ROUTE_PATTERN_SITEMAP || '/sitemap.xml';\nconst sitemapFilePrefix = process.env.BLAZE_CONTENT_SITEMAP_URL_PREFIX || 'sitemap';\nconst ROUTE_PATTERN_SITEMAP_FILE_REGEX = new RegExp(`/${sitemapFilePrefix}/.*\\.xml`);\nconst ROUTE_PATTERN_ROBOTS_TXT = '/robots.txt';\nconst BLAZE_STATIC_ROUTE_STORE_KEY = 'default';\n\nconst STATIC_FILE_FORWARD_HEADERS = ['content-length', 'last-modified', 'etag'];\n\nconst APPLE_TAGS = [\n { href: '/static/icons/touch-icon-iphone.png', rel: 'apple-touch-icon' },\n { href: '/static/icons/touch-icon-ipad.png', rel: 'apple-touch-icon', sizes: '152x152' },\n { href: '/static/icons/touch-icon-iphone-retina.png', rel: 'apple-touch-icon', sizes: '180x180' },\n { href: '/static/icons/touch-icon-ipad-retina.png', rel: 'apple-touch-icon', sizes: '167x167' }\n];\n\nconst NOT_FOUND_STATUS_CODE = 404;\n\nconst ROOT_SELECTOR_CLASS_PREFIX = 'root-selector';\nconst ROOT_SELECTOR_SEPARATOR = '--';\nconst RESOLVER_CONTAINER_CLASS = 'resolver-container';\n\nmodule.exports = {\n APPLE_TAGS,\n ACTIVE_META_TAGS,\n COLON,\n DOUBLE_SLASH,\n GTM_STRING,\n HTTPS,\n META_TAGS_LOOKUP,\n SEARCH_FILTER,\n PB_TYPE_IMAGE,\n PB_TYPE_TEXTBLOCK,\n PB_TYPE_CAROUSEL,\n PREVIEW_MODE,\n ROUTE_REGEX,\n PREVIEW_REGEX,\n DEBUG_LOGO,\n PUBLISHED_,\n RESPONSE_404,\n NOT_FOUND_STATUS_CODE,\n SITEMAP_STORE_KEY,\n ROUTE_PATTERN_SITEMAP,\n ROUTE_PATTERN_SITEMAP_FILE_REGEX,\n ROUTE_PATTERN_ROBOTS_TXT,\n BLAZE_STATIC_ROUTE_STORE_KEY,\n STATIC_FILE_FORWARD_HEADERS,\n ROOT_SELECTOR_CLASS_PREFIX,\n ROOT_SELECTOR_SEPARATOR,\n RESOLVER_CONTAINER_CLASS,\n BLAZE_X_FRAME_OPTIONS_DEFAULT\n};\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"constants.js","names":["ACTIVE_META_TAGS","BLAZE_X_FRAME_OPTIONS_DEFAULT","META_TAGS_LOOKUP","description","apiKey","htmlTagName","tagKeyName","contentDataKeyName","canonical","PB_TYPE_IMAGE","PB_TYPE_TEXTBLOCK","PB_TYPE_CAROUSEL","SEARCH_FILTER","COLON","DOUBLE_SLASH","HTTPS","DEFAULT_ROUTE_REGEX","ROUTE_REGEX","process","env","BLAZE_ROUTE_REGEX","RegExp","PREVIEW_REGEX","PREVIEW_MODE","GTM_STRING","DEBUG_LOGO","SRC","ALT","PUBLISHED_","RESPONSE_404","SITEMAP_STORE_KEY","ROUTE_PATTERN_SITEMAP","BLAZE_ROUTE_PATTERN_SITEMAP","sitemapFilePrefix","BLAZE_CONTENT_SITEMAP_URL_PREFIX","ROUTE_PATTERN_SITEMAP_FILE_REGEX","concat","ROUTE_PATTERN_ROBOTS_TXT","BLAZE_STATIC_ROUTE_STORE_KEY","STATIC_FILE_FORWARD_HEADERS","APPLE_TAGS","href","rel","sizes","NOT_FOUND_STATUS_CODE","ROOT_SELECTOR_CLASS_PREFIX","ROOT_SELECTOR_SEPARATOR","RESOLVER_CONTAINER_CLASS","ERROR_URLS","custom404","module","exports"],"sources":["../src/constants.js"],"sourcesContent":["const ACTIVE_META_TAGS = ['description', 'canonical'];\nconst BLAZE_X_FRAME_OPTIONS_DEFAULT = 'SAMEORIGIN';\n\nconst META_TAGS_LOOKUP = {\n description: {\n apiKey: 'metaDescription',\n htmlTagName: 'meta',\n tagKeyName: 'name',\n contentDataKeyName: 'content'\n },\n canonical: {\n apiKey: 'canonicalUrl',\n htmlTagName: 'link',\n tagKeyName: 'rel',\n contentDataKeyName: 'href'\n }\n};\n\nconst PB_TYPE_IMAGE = 'image';\nconst PB_TYPE_TEXTBLOCK = 'textblock';\nconst PB_TYPE_CAROUSEL = 'carousel';\nconst SEARCH_FILTER = 'searchfilter';\nconst COLON = ':';\nconst DOUBLE_SLASH = '//';\nconst HTTPS = 'https://';\n\nconst DEFAULT_ROUTE_REGEX = /^\\/[a-z0-9€_\\/]+(?:[-\\/\\.]{1,2}[a-z0-9\\/€_\\/]+)*$|^\\/$/i;\nconst ROUTE_REGEX = process.env.BLAZE_ROUTE_REGEX\n ? new RegExp(process.env.BLAZE_ROUTE_REGEX)\n : DEFAULT_ROUTE_REGEX;\nconst PREVIEW_REGEX = /^(\\/_preview)/;\nconst PREVIEW_MODE = 'Preview Mode';\nconst GTM_STRING = 'gtm';\n\nconst DEBUG_LOGO = {\n SRC: 'https://images.thisisblaze.com/logo-small-27-40.png',\n ALT: 'blaze-logo'\n};\n\nconst PUBLISHED_ = 'published_';\n\nconst RESPONSE_404 = '404 Not Found\\n';\n\nconst SITEMAP_STORE_KEY = 'default_sitemap';\nconst ROUTE_PATTERN_SITEMAP = process.env.BLAZE_ROUTE_PATTERN_SITEMAP || '/sitemap.xml';\nconst sitemapFilePrefix = process.env.BLAZE_CONTENT_SITEMAP_URL_PREFIX || 'sitemap';\nconst ROUTE_PATTERN_SITEMAP_FILE_REGEX = new RegExp(`/${sitemapFilePrefix}/.*\\.xml`);\nconst ROUTE_PATTERN_ROBOTS_TXT = '/robots.txt';\nconst BLAZE_STATIC_ROUTE_STORE_KEY = 'default';\n\nconst STATIC_FILE_FORWARD_HEADERS = ['content-length', 'last-modified', 'etag'];\n\nconst APPLE_TAGS = [\n { href: '/static/icons/touch-icon-iphone.png', rel: 'apple-touch-icon' },\n { href: '/static/icons/touch-icon-ipad.png', rel: 'apple-touch-icon', sizes: '152x152' },\n { href: '/static/icons/touch-icon-iphone-retina.png', rel: 'apple-touch-icon', sizes: '180x180' },\n { href: '/static/icons/touch-icon-ipad-retina.png', rel: 'apple-touch-icon', sizes: '167x167' }\n];\n\nconst NOT_FOUND_STATUS_CODE = 404;\n\nconst ROOT_SELECTOR_CLASS_PREFIX = 'root-selector';\nconst ROOT_SELECTOR_SEPARATOR = '--';\nconst RESOLVER_CONTAINER_CLASS = 'resolver-container';\nconst ERROR_URLS = {\n custom404: '/custom-error-404'\n};\n\nmodule.exports = {\n APPLE_TAGS,\n ACTIVE_META_TAGS,\n COLON,\n DOUBLE_SLASH,\n GTM_STRING,\n HTTPS,\n META_TAGS_LOOKUP,\n SEARCH_FILTER,\n PB_TYPE_IMAGE,\n PB_TYPE_TEXTBLOCK,\n PB_TYPE_CAROUSEL,\n PREVIEW_MODE,\n ROUTE_REGEX,\n PREVIEW_REGEX,\n DEBUG_LOGO,\n PUBLISHED_,\n RESPONSE_404,\n NOT_FOUND_STATUS_CODE,\n SITEMAP_STORE_KEY,\n ROUTE_PATTERN_SITEMAP,\n ROUTE_PATTERN_SITEMAP_FILE_REGEX,\n ROUTE_PATTERN_ROBOTS_TXT,\n BLAZE_STATIC_ROUTE_STORE_KEY,\n STATIC_FILE_FORWARD_HEADERS,\n ROOT_SELECTOR_CLASS_PREFIX,\n ROOT_SELECTOR_SEPARATOR,\n RESOLVER_CONTAINER_CLASS,\n BLAZE_X_FRAME_OPTIONS_DEFAULT,\n ERROR_URLS\n};\n"],"mappings":"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","ignoreList":[]}
@@ -30,7 +30,8 @@ var _nextjsComponents = require("@blaze-cms/nextjs-components");
30
30
  var _helpers = require("../helpers");
31
31
  var _constants = require("../constants");
32
32
  var _excluded = ["category", "tags", "preparedPageBuilderComponents"];
33
- function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function _interopRequireWildcard(e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, "default": e }; if (null === e || "object" != _typeof(e) && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (var _t2 in e) "default" !== _t2 && {}.hasOwnProperty.call(e, _t2) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, _t2)) && (i.get || i.set) ? o(f, _t2, i) : f[_t2] = e[_t2]); return f; })(e, t); }
33
+ function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
34
+ function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { "default": e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n["default"] = e, t && t.set(e, n), n; }
34
35
  function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
35
36
  function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { (0, _defineProperty2["default"])(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
36
37
  var ContentContainer = function ContentContainer(_ref) {
@@ -1 +1 @@
1
- {"version":3,"file":"ContentContainer.js","names":["_react","_interopRequireWildcard","require","_propTypes","_interopRequireDefault","_pluginPageBuilderFe","_nextjsComponents","_helpers","_constants","_excluded","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","_typeof","has","get","set","_t2","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","ownKeys","keys","getOwnPropertySymbols","filter","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty2","getOwnPropertyDescriptors","defineProperties","ContentContainer","_ref","fullUrl","pageData","isPreview","itemId","itemEntity","_useState","useState","_useState2","_slicedToArray2","open","setOpen","_useState3","_useState4","selectedImage","setSelectedImage","toggleModal","useEffect","category","tags","preparedPageBuilderComponents","metaProps","_objectWithoutProperties2","pageBuilder","options","parent","searchFilterItems","getSearchFilter","defaultSearchFilter","settings","url","searchFilter","allSearchFilters","lightboxImages","getLightboxImages","hasGTM","checkForGtm","GlobalLigthBoxProps","buildPBComponentsOptions","createElement","MainContextProvider","value","Header","className","PREVIEW_MODE","buildPBComponents","propTypes","PropTypes","string","isRequired","object","bool","_default","exports"],"sources":["../../src/containers/ContentContainer.js"],"sourcesContent":["import React, { useState, useEffect } from 'react';\nimport PropTypes from 'prop-types';\nimport { buildPBComponents, getLightboxImages } from '@blaze-cms/plugin-page-builder-fe';\nimport { Header, MainContextProvider } from '@blaze-cms/nextjs-components';\nimport { getSearchFilter, checkForGtm } from '../helpers';\nimport { PREVIEW_MODE } from '../constants';\n\nconst ContentContainer = ({ fullUrl, pageData, isPreview, itemId, itemEntity }) => {\n const [open, setOpen] = useState(false);\n const [selectedImage, setSelectedImage] = useState(0);\n const toggleModal = () => setOpen(!open);\n\n useEffect(\n () => {\n if (open) setOpen(false);\n },\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [fullUrl]\n );\n\n const { category, tags, preparedPageBuilderComponents, ...metaProps } = pageData;\n const pageBuilder = preparedPageBuilderComponents || [];\n const options = { parent: { itemId, itemEntity, category, tags } };\n const searchFilterItems = getSearchFilter(pageBuilder);\n const defaultSearchFilter = searchFilterItems[0];\n // TODO check if this can be removed\n if (defaultSearchFilter && !defaultSearchFilter.settings.url) {\n options.searchFilter = defaultSearchFilter;\n }\n options.allSearchFilters = searchFilterItems;\n const lightboxImages = getLightboxImages(pageBuilder);\n const hasGTM = checkForGtm(pageBuilder);\n const GlobalLigthBoxProps = {\n open,\n setOpen,\n toggleModal,\n selectedImage,\n lightboxImages,\n setSelectedImage\n };\n\n const buildPBComponentsOptions = {\n ...options,\n ...metaProps,\n ...GlobalLigthBoxProps,\n hasGTM\n };\n\n return (\n <MainContextProvider value={{ fullUrl, isPreview, itemId, hasGTM }}>\n <Header {...metaProps} />\n {isPreview && <div className=\"preview-header\">{PREVIEW_MODE}</div>}\n {!!pageBuilder.length && buildPBComponents(pageBuilder, buildPBComponentsOptions, true)}\n </MainContextProvider>\n );\n};\n\nContentContainer.propTypes = {\n fullUrl: PropTypes.string.isRequired,\n pageData: PropTypes.object.isRequired,\n isPreview: PropTypes.bool.isRequired,\n itemId: PropTypes.string.isRequired,\n itemEntity: PropTypes.string.isRequired\n};\n\nexport default ContentContainer;\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"ContentContainer.js","names":["_react","_interopRequireWildcard","require","_propTypes","_interopRequireDefault","_pluginPageBuilderFe","_nextjsComponents","_helpers","_constants","_excluded","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","_typeof","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","ownKeys","keys","getOwnPropertySymbols","o","filter","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty2","getOwnPropertyDescriptors","defineProperties","ContentContainer","_ref","fullUrl","pageData","isPreview","itemId","itemEntity","_useState","useState","_useState2","_slicedToArray2","open","setOpen","_useState3","_useState4","selectedImage","setSelectedImage","toggleModal","useEffect","category","tags","preparedPageBuilderComponents","metaProps","_objectWithoutProperties2","pageBuilder","options","parent","searchFilterItems","getSearchFilter","defaultSearchFilter","settings","url","searchFilter","allSearchFilters","lightboxImages","getLightboxImages","hasGTM","checkForGtm","GlobalLigthBoxProps","buildPBComponentsOptions","createElement","MainContextProvider","value","Header","className","PREVIEW_MODE","buildPBComponents","propTypes","PropTypes","string","isRequired","object","bool","_default","exports"],"sources":["../../src/containers/ContentContainer.js"],"sourcesContent":["import React, { useState, useEffect } from 'react';\nimport PropTypes from 'prop-types';\nimport { buildPBComponents, getLightboxImages } from '@blaze-cms/plugin-page-builder-fe';\nimport { Header, MainContextProvider } from '@blaze-cms/nextjs-components';\nimport { getSearchFilter, checkForGtm } from '../helpers';\nimport { PREVIEW_MODE } from '../constants';\n\nconst ContentContainer = ({ fullUrl, pageData, isPreview, itemId, itemEntity }) => {\n const [open, setOpen] = useState(false);\n const [selectedImage, setSelectedImage] = useState(0);\n const toggleModal = () => setOpen(!open);\n\n useEffect(\n () => {\n if (open) setOpen(false);\n },\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [fullUrl]\n );\n\n const { category, tags, preparedPageBuilderComponents, ...metaProps } = pageData;\n const pageBuilder = preparedPageBuilderComponents || [];\n const options = { parent: { itemId, itemEntity, category, tags } };\n const searchFilterItems = getSearchFilter(pageBuilder);\n const defaultSearchFilter = searchFilterItems[0];\n // TODO check if this can be removed\n if (defaultSearchFilter && !defaultSearchFilter.settings.url) {\n options.searchFilter = defaultSearchFilter;\n }\n options.allSearchFilters = searchFilterItems;\n const lightboxImages = getLightboxImages(pageBuilder);\n const hasGTM = checkForGtm(pageBuilder);\n const GlobalLigthBoxProps = {\n open,\n setOpen,\n toggleModal,\n selectedImage,\n lightboxImages,\n setSelectedImage\n };\n\n const buildPBComponentsOptions = {\n ...options,\n ...metaProps,\n ...GlobalLigthBoxProps,\n hasGTM\n };\n\n return (\n <MainContextProvider value={{ fullUrl, isPreview, itemId, hasGTM }}>\n <Header {...metaProps} />\n {isPreview && <div className=\"preview-header\">{PREVIEW_MODE}</div>}\n {!!pageBuilder.length && buildPBComponents(pageBuilder, buildPBComponentsOptions, true)}\n </MainContextProvider>\n );\n};\n\nContentContainer.propTypes = {\n fullUrl: PropTypes.string.isRequired,\n pageData: PropTypes.object.isRequired,\n isPreview: PropTypes.bool.isRequired,\n itemId: PropTypes.string.isRequired,\n itemEntity: PropTypes.string.isRequired\n};\n\nexport default ContentContainer;\n"],"mappings":"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","ignoreList":[]}
@@ -10,15 +10,15 @@ require("core-js/modules/es.array.includes.js");
10
10
  require("core-js/modules/es.object.to-string.js");
11
11
  require("core-js/modules/es.string.includes.js");
12
12
  var _constants = require("../constants");
13
- var _checkForGTM = function checkForGTM() {
13
+ var checkForGTM = function checkForGTM() {
14
14
  var components = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
15
15
  return !!components.find(function (_ref) {
16
16
  var type = _ref.type,
17
17
  items = _ref.items;
18
18
  if (type && type.includes(_constants.GTM_STRING)) return true;
19
- if (items && items.length) return _checkForGTM(items);
19
+ if (items && items.length) return checkForGTM(items);
20
20
  return false;
21
21
  });
22
22
  };
23
- var _default = exports["default"] = _checkForGTM;
23
+ var _default = exports["default"] = checkForGTM;
24
24
  //# sourceMappingURL=check-for-gtm.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"check-for-gtm.js","names":["_constants","require","checkForGTM","components","arguments","length","undefined","find","_ref","type","items","includes","GTM_STRING","_default","exports"],"sources":["../../src/helpers/check-for-gtm.js"],"sourcesContent":["import { GTM_STRING } from '../constants';\n\nconst checkForGTM = (components = []) =>\n !!components.find(({ type, items }) => {\n if (type && type.includes(GTM_STRING)) return true;\n if (items && items.length) return checkForGTM(items);\n return false;\n });\n\nexport default checkForGTM;\n"],"mappings":";;;;;;;;;;;AAAA,IAAAA,UAAA,GAAAC,OAAA;AAEA,IAAMC,YAAW,GAAG,SAAdA,WAAWA,CAAA;EAAA,IAAIC,UAAU,GAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,EAAE;EAAA,OAClC,CAAC,CAACD,UAAU,CAACI,IAAI,CAAC,UAAAC,IAAA,EAAqB;IAAA,IAAlBC,IAAI,GAAAD,IAAA,CAAJC,IAAI;MAAEC,KAAK,GAAAF,IAAA,CAALE,KAAK;IAC9B,IAAID,IAAI,IAAIA,IAAI,CAACE,QAAQ,CAACC,qBAAU,CAAC,EAAE,OAAO,IAAI;IAClD,IAAIF,KAAK,IAAIA,KAAK,CAACL,MAAM,EAAE,OAAOH,YAAW,CAACQ,KAAK,CAAC;IACpD,OAAO,KAAK;EACd,CAAC,CAAC;AAAA;AAAC,IAAAG,QAAA,GAAAC,OAAA,cAEUZ,YAAW","ignoreList":[]}
1
+ {"version":3,"file":"check-for-gtm.js","names":["_constants","require","checkForGTM","components","arguments","length","undefined","find","_ref","type","items","includes","GTM_STRING","_default","exports"],"sources":["../../src/helpers/check-for-gtm.js"],"sourcesContent":["import { GTM_STRING } from '../constants';\n\nconst checkForGTM = (components = []) =>\n !!components.find(({ type, items }) => {\n if (type && type.includes(GTM_STRING)) return true;\n if (items && items.length) return checkForGTM(items);\n return false;\n });\n\nexport default checkForGTM;\n"],"mappings":";;;;;;;;;;;AAAA,IAAAA,UAAA,GAAAC,OAAA;AAEA,IAAMC,WAAW,GAAG,SAAdA,WAAWA,CAAA;EAAA,IAAIC,UAAU,GAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,EAAE;EAAA,OAClC,CAAC,CAACD,UAAU,CAACI,IAAI,CAAC,UAAAC,IAAA,EAAqB;IAAA,IAAlBC,IAAI,GAAAD,IAAA,CAAJC,IAAI;MAAEC,KAAK,GAAAF,IAAA,CAALE,KAAK;IAC9B,IAAID,IAAI,IAAIA,IAAI,CAACE,QAAQ,CAACC,qBAAU,CAAC,EAAE,OAAO,IAAI;IAClD,IAAIF,KAAK,IAAIA,KAAK,CAACL,MAAM,EAAE,OAAOH,WAAW,CAACQ,KAAK,CAAC;IACpD,OAAO,KAAK;EACd,CAAC,CAAC;AAAA;AAAC,IAAAG,QAAA,GAAAC,OAAA,cAEUZ,WAAW","ignoreList":[]}
@@ -36,24 +36,24 @@ var getRootClassesLimit = function getRootClassesLimit() {
36
36
  return Number(process.env.BLAZE_ROOT_SELECTOR_CLASSES_LIMIT);
37
37
  };
38
38
  var checkUrl = /*#__PURE__*/function () {
39
- var _ref = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee(props) {
39
+ var _ref = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee(props) {
40
40
  var asPath, apolloClient, res, req, query, blazeApp, disableSsr, fullUrl, _parseUrl, url, handler, previewData, urlCheckOptions, result;
41
- return _regenerator["default"].wrap(function (_context) {
41
+ return _regenerator["default"].wrap(function _callee$(_context) {
42
42
  while (1) switch (_context.prev = _context.next) {
43
43
  case 0:
44
44
  asPath = props.asPath, apolloClient = props.apolloClient, res = props.res, req = props.req, query = props.query, blazeApp = props.blazeApp, disableSsr = props.disableSsr;
45
45
  fullUrl = getFullUrl(req, asPath);
46
46
  _parseUrl = (0, _queryString.parseUrl)(asPath), url = _parseUrl.url;
47
47
  if (!(process.env.BLAZE_STATUS_URL && url === process.env.BLAZE_STATUS_URL)) {
48
- _context.next = 1;
48
+ _context.next = 5;
49
49
  break;
50
50
  }
51
51
  return _context.abrupt("return", {
52
52
  isStatusPage: true
53
53
  });
54
- case 1:
54
+ case 5:
55
55
  if (!res) {
56
- _context.next = 2;
56
+ _context.next = 11;
57
57
  break;
58
58
  }
59
59
  handler = _handleStaticRoutes["default"].getHandler(asPath);
@@ -62,48 +62,48 @@ var checkUrl = /*#__PURE__*/function () {
62
62
  res.setHeader('Cache-Control', process.env.BLAZE_CACHE_CONTROL_HEADER || '');
63
63
  }
64
64
  if (!handler) {
65
- _context.next = 2;
65
+ _context.next = 11;
66
66
  break;
67
67
  }
68
68
  return _context.abrupt("return", handler(props));
69
- case 2:
69
+ case 11:
70
70
  previewData = (0, _checkPreviewUrl["default"])(url, query);
71
71
  if (!(!previewData && disableSsr)) {
72
- _context.next = 3;
72
+ _context.next = 14;
73
73
  break;
74
74
  }
75
75
  return _context.abrupt("return", {
76
76
  disableSsr: true
77
77
  });
78
- case 3:
79
- _context.next = 4;
78
+ case 14:
79
+ _context.next = 16;
80
80
  return (0, _coreAuthUi.checkAccessToken)(apolloClient, _objectSpread(_objectSpread({}, props), {}, {
81
81
  disableSsr: !Object.keys(apolloClient.cache.extract()).length // empty cache means SSR was disabled
82
82
  }));
83
- case 4:
83
+ case 16:
84
84
  if (!previewData) {
85
- _context.next = 5;
85
+ _context.next = 18;
86
86
  break;
87
87
  }
88
88
  return _context.abrupt("return", getPreviewData(previewData, apolloClient));
89
- case 5:
89
+ case 18:
90
90
  urlCheckOptions = {
91
91
  asPath: asPath,
92
92
  url: url,
93
93
  apolloClient: apolloClient,
94
94
  res: res
95
95
  };
96
- _context.next = 6;
96
+ _context.next = 21;
97
97
  return doUrlCheck(_objectSpread(_objectSpread({}, urlCheckOptions), {}, {
98
98
  handle404Error: true,
99
99
  blazeApp: blazeApp
100
100
  }));
101
- case 6:
101
+ case 21:
102
102
  result = _context.sent;
103
103
  return _context.abrupt("return", _objectSpread(_objectSpread({}, result), {}, {
104
104
  fullUrl: fullUrl
105
105
  }) || {});
106
- case 7:
106
+ case 23:
107
107
  case "end":
108
108
  return _context.stop();
109
109
  }
@@ -114,16 +114,16 @@ var checkUrl = /*#__PURE__*/function () {
114
114
  };
115
115
  }();
116
116
  var getPreviewData = /*#__PURE__*/function () {
117
- var _ref2 = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee2(previewData, apolloClient) {
117
+ var _ref2 = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee2(previewData, apolloClient) {
118
118
  var result, _result$pageData, _result$pageData2, url, rootSelectorClasses;
119
- return _regenerator["default"].wrap(function (_context2) {
119
+ return _regenerator["default"].wrap(function _callee2$(_context2) {
120
120
  while (1) switch (_context2.prev = _context2.next) {
121
121
  case 0:
122
- _context2.next = 1;
122
+ _context2.next = 2;
123
123
  return (0, _getPageData["default"])(_objectSpread(_objectSpread({}, previewData), {}, {
124
124
  apolloClient: apolloClient
125
125
  }));
126
- case 1:
126
+ case 2:
127
127
  result = _context2.sent;
128
128
  _result$pageData = result.pageData, _result$pageData2 = _result$pageData === void 0 ? {} : _result$pageData, url = _result$pageData2.url;
129
129
  rootSelectorClasses = (0, _getRootSelectorClasses["default"])(url, getRootClassesLimit());
@@ -132,7 +132,7 @@ var getPreviewData = /*#__PURE__*/function () {
132
132
  }, result), {}, {
133
133
  isPreview: true
134
134
  }));
135
- case 2:
135
+ case 6:
136
136
  case "end":
137
137
  return _context2.stop();
138
138
  }
@@ -160,21 +160,21 @@ var getFullUrl = function getFullUrl(req, asPath) {
160
160
  return "".concat(protocol).concat(_constants.DOUBLE_SLASH).concat(hostname).concat(urlPort).concat(asPath);
161
161
  };
162
162
  var doUrlCheck = /*#__PURE__*/function () {
163
- var _ref5 = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee3(_ref4) {
164
- var asPath, url, apolloClient, res, handle404Error, blazeApp, _yield$apolloClient$q, _yield$apolloClient$q2, _yield$apolloClient$q3, _yield$apolloClient$q4, _yield$apolloClient$q5, itemId, itemEntity, urlTo, _yield$apolloClient$q6, pageData, _ref6, _ref6$cacheControlMax, cacheControlMaxAge, redirectUrl, queryString, rootSelectorClasses, parentPATH, _t;
165
- return _regenerator["default"].wrap(function (_context3) {
163
+ var _ref4 = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee3(args) {
164
+ var asPath, url, apolloClient, res, blazeApp, _args$errorCheckCode, errorCheckCode, _yield$apolloClient$q, _yield$apolloClient$q2, _yield$apolloClient$q3, _yield$apolloClient$q4, _yield$apolloClient$q5, itemId, itemEntity, urlTo, _yield$apolloClient$q6, pageData, rootSelectorClasses;
165
+ return _regenerator["default"].wrap(function _callee3$(_context3) {
166
166
  while (1) switch (_context3.prev = _context3.next) {
167
167
  case 0:
168
- asPath = _ref4.asPath, url = _ref4.url, apolloClient = _ref4.apolloClient, res = _ref4.res, handle404Error = _ref4.handle404Error, blazeApp = _ref4.blazeApp;
168
+ asPath = args.asPath, url = args.url, apolloClient = args.apolloClient, res = args.res, blazeApp = args.blazeApp, _args$errorCheckCode = args.errorCheckCode, errorCheckCode = _args$errorCheckCode === void 0 ? false : _args$errorCheckCode;
169
169
  _context3.prev = 1;
170
- _context3.next = 2;
170
+ _context3.next = 4;
171
171
  return apolloClient.query({
172
172
  query: _query.checkUrlQuery,
173
173
  variables: {
174
174
  url: url
175
175
  }
176
176
  });
177
- case 2:
177
+ case 4:
178
178
  _yield$apolloClient$q = _context3.sent;
179
179
  _yield$apolloClient$q2 = _yield$apolloClient$q.data;
180
180
  _yield$apolloClient$q3 = _yield$apolloClient$q2 === void 0 ? {} : _yield$apolloClient$q2;
@@ -185,53 +185,44 @@ var doUrlCheck = /*#__PURE__*/function () {
185
185
  urlTo = _yield$apolloClient$q5.urlTo;
186
186
  _yield$apolloClient$q6 = _yield$apolloClient$q5.pageData;
187
187
  pageData = _yield$apolloClient$q6 === void 0 ? {} : _yield$apolloClient$q6;
188
- _ref6 = pageData || {}, _ref6$cacheControlMax = _ref6.cacheControlMaxAge, cacheControlMaxAge = _ref6$cacheControlMax === void 0 ? null : _ref6$cacheControlMax;
189
- if (res && cacheControlMaxAge !== null && cacheControlMaxAge >= 0) {
190
- res.setHeader('Cache-Control', "max-age=".concat(cacheControlMaxAge));
191
- }
192
- if (!(urlTo && urlTo !== url)) {
193
- _context3.next = 3;
188
+ setCustomCacheControlHeaders(pageData, res);
189
+ if (!(urlTo && (urlTo !== url || errorCheckCode))) {
190
+ _context3.next = 17;
194
191
  break;
195
192
  }
196
- redirectUrl = urlTo;
197
- if (process.env.BLAZE_DISABLE_REDIRECT_WITH_QUERY !== 'true') {
198
- queryString = asPath.split('?')[1];
199
- redirectUrl = queryString ? "".concat(urlTo, "?").concat(queryString) : urlTo;
200
- }
201
- return _context3.abrupt("return", doRedirect(res, redirectUrl));
202
- case 3:
193
+ return _context3.abrupt("return", handleRedirect({
194
+ errorCheckCode: errorCheckCode,
195
+ url: url,
196
+ urlTo: urlTo,
197
+ asPath: asPath,
198
+ res: res
199
+ }));
200
+ case 17:
203
201
  rootSelectorClasses = (0, _getRootSelectorClasses["default"])(url, getRootClassesLimit());
202
+ if (errorCheckCode) {
203
+ blazeApp.events.emit('monitor:log', {
204
+ message: "Serving custom ".concat(errorCheckCode, " page")
205
+ });
206
+ if (res) res.statusCode = errorCheckCode;
207
+ }
204
208
  return _context3.abrupt("return", {
205
209
  pageData: pageData,
206
210
  rootSelectorClasses: rootSelectorClasses,
207
211
  itemId: itemId,
208
212
  itemEntity: (0, _reactPageBuilder.getUnpublishedEntityName)(itemEntity)
209
213
  });
210
- case 4:
211
- _context3.prev = 4;
212
- _t = _context3["catch"](1);
213
- if (!(!_t.graphQLErrors || !_t.graphQLErrors.length)) {
214
- _context3.next = 5;
215
- break;
216
- }
217
- return _context3.abrupt("return", handleError(_t, res, handle404Error, blazeApp));
218
- case 5:
219
- parentPATH = (0, _checkParent["default"])(url);
220
- if (!(handle404Error && parentPATH)) {
221
- _context3.next = 6;
222
- break;
223
- }
224
- return _context3.abrupt("return", doRedirect(res, parentPATH));
225
- case 6:
226
- return _context3.abrupt("return", handleError(_t, res, handle404Error, blazeApp));
227
- case 7:
214
+ case 22:
215
+ _context3.prev = 22;
216
+ _context3.t0 = _context3["catch"](1);
217
+ return _context3.abrupt("return", handleUrlError(_context3.t0, args));
218
+ case 25:
228
219
  case "end":
229
220
  return _context3.stop();
230
221
  }
231
- }, _callee3, null, [[1, 4]]);
222
+ }, _callee3, null, [[1, 22]]);
232
223
  }));
233
224
  return function doUrlCheck(_x4) {
234
- return _ref5.apply(this, arguments);
225
+ return _ref4.apply(this, arguments);
235
226
  };
236
227
  }();
237
228
  var handleError = function handleError(err, res, handle404Error, blazeApp) {
@@ -253,6 +244,33 @@ var handleError = function handleError(err, res, handle404Error, blazeApp) {
253
244
  }
254
245
  return {};
255
246
  };
247
+ function handleRedirect(_ref5) {
248
+ var errorCheckCode = _ref5.errorCheckCode,
249
+ url = _ref5.url,
250
+ urlTo = _ref5.urlTo,
251
+ asPath = _ref5.asPath,
252
+ res = _ref5.res;
253
+ if (errorCheckCode) {
254
+ var errorMessage = "Cannot redirect ".concat(url);
255
+ var customError = new Error(errorMessage);
256
+ customError.graphQLErrors = [errorMessage];
257
+ throw customError;
258
+ }
259
+ var redirectUrl = urlTo;
260
+ if (process.env.BLAZE_DISABLE_REDIRECT_WITH_QUERY !== 'true') {
261
+ var queryString = asPath.split('?')[1];
262
+ redirectUrl = queryString ? "".concat(urlTo, "?").concat(queryString) : urlTo;
263
+ }
264
+ return doRedirect(res, redirectUrl);
265
+ }
266
+ function setCustomCacheControlHeaders(pageData, res) {
267
+ var _ref6 = pageData || {},
268
+ _ref6$cacheControlMax = _ref6.cacheControlMaxAge,
269
+ cacheControlMaxAge = _ref6$cacheControlMax === void 0 ? null : _ref6$cacheControlMax;
270
+ if (res && cacheControlMaxAge !== null && cacheControlMaxAge >= 0) {
271
+ res.setHeader('Cache-Control', "max-age=".concat(cacheControlMaxAge));
272
+ }
273
+ }
256
274
  function doRedirect(res, redirectUrl) {
257
275
  if (res) {
258
276
  res.writeHead(301, {
@@ -266,5 +284,26 @@ function doRedirect(res, redirectUrl) {
266
284
  redirecting: true
267
285
  };
268
286
  }
287
+ function handleUrlError(err, args) {
288
+ var asPath = args.asPath,
289
+ res = args.res,
290
+ handle404Error = args.handle404Error,
291
+ blazeApp = args.blazeApp,
292
+ errorCheckCode = args.errorCheckCode;
293
+ if (!err.graphQLErrors || !err.graphQLErrors.length) {
294
+ return handleError(err, res, handle404Error, blazeApp);
295
+ }
296
+ if (!errorCheckCode) {
297
+ return doUrlCheck(_objectSpread(_objectSpread({}, args), {}, {
298
+ url: _constants.ERROR_URLS.custom404,
299
+ errorCheckCode: _constants.NOT_FOUND_STATUS_CODE
300
+ }));
301
+ }
302
+ var parentPATH = (0, _checkParent["default"])(asPath);
303
+ if (handle404Error && parentPATH) {
304
+ return doRedirect(res, parentPATH);
305
+ }
306
+ return handleError(err, res, handle404Error, blazeApp);
307
+ }
269
308
  var _default = exports["default"] = checkUrl;
270
309
  //# sourceMappingURL=check-url.js.map