@blaze-cms/nextjs-tools 0.139.0-alpha.3 → 0.139.0-alpha.5

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 (69) hide show
  1. package/CHANGELOG.md +19 -0
  2. package/build/next.base.config.js +2 -1
  3. package/lib/application/query/index.js +3 -6
  4. package/lib/application/query/index.js.map +1 -1
  5. package/lib/blaze.config.js +1 -2
  6. package/lib/blaze.config.js.map +1 -1
  7. package/lib/components/DebugSidebar/index.js +3 -4
  8. package/lib/components/DebugSidebar/index.js.map +1 -1
  9. package/lib/constants.js +3 -1
  10. package/lib/constants.js.map +1 -1
  11. package/lib/containers/ContentContainer.js +3 -4
  12. package/lib/containers/ContentContainer.js.map +1 -1
  13. package/lib/helpers/build-admin-href.js +1 -2
  14. package/lib/helpers/build-admin-href.js.map +1 -1
  15. package/lib/helpers/check-for-gtm.js +1 -2
  16. package/lib/helpers/check-for-gtm.js.map +1 -1
  17. package/lib/helpers/check-parent.js +1 -2
  18. package/lib/helpers/check-parent.js.map +1 -1
  19. package/lib/helpers/check-preview-url.js +1 -2
  20. package/lib/helpers/check-preview-url.js.map +1 -1
  21. package/lib/helpers/check-url.js +14 -14
  22. package/lib/helpers/check-url.js.map +1 -1
  23. package/lib/helpers/get-entitys-actions.js +1 -2
  24. package/lib/helpers/get-entitys-actions.js.map +1 -1
  25. package/lib/helpers/get-error-message.js +1 -2
  26. package/lib/helpers/get-error-message.js.map +1 -1
  27. package/lib/helpers/get-page-data.js +1 -2
  28. package/lib/helpers/get-page-data.js.map +1 -1
  29. package/lib/helpers/get-root-selector-classes.js +1 -2
  30. package/lib/helpers/get-root-selector-classes.js.map +1 -1
  31. package/lib/helpers/get-search-filter.js +1 -2
  32. package/lib/helpers/get-search-filter.js.map +1 -1
  33. package/lib/helpers/handle-static-routes.js +1 -2
  34. package/lib/helpers/handle-static-routes.js.map +1 -1
  35. package/lib/helpers/render-apple-tags.js +1 -2
  36. package/lib/helpers/render-apple-tags.js.map +1 -1
  37. package/lib/helpers/set-blaze-debug.js +1 -2
  38. package/lib/helpers/set-blaze-debug.js.map +1 -1
  39. package/lib/helpers/static-route-handlers/generic-file-handler.js +1 -2
  40. package/lib/helpers/static-route-handlers/generic-file-handler.js.map +1 -1
  41. package/lib/helpers/static-route-handlers/index.js +3 -4
  42. package/lib/helpers/static-route-handlers/index.js.map +1 -1
  43. package/lib/helpers/static-route-handlers/robots-txt.js +3 -6
  44. package/lib/helpers/static-route-handlers/robots-txt.js.map +1 -1
  45. package/lib/helpers/static-route-handlers/sitemap-file.js +3 -6
  46. package/lib/helpers/static-route-handlers/sitemap-file.js.map +1 -1
  47. package/lib/helpers/static-route-handlers/sitemap.js +3 -6
  48. package/lib/helpers/static-route-handlers/sitemap.js.map +1 -1
  49. package/lib/hoc/withBlaze.js +7 -9
  50. package/lib/hoc/withBlaze.js.map +1 -1
  51. package/lib/hooks/use-get-page.js +1 -2
  52. package/lib/hooks/use-get-page.js.map +1 -1
  53. package/lib/index.js +2 -2
  54. package/lib/index.js.map +1 -1
  55. package/lib/pages/Resolver.js +1 -2
  56. package/lib/pages/Resolver.js.map +1 -1
  57. package/lib/pages/document/DocumentBody.js +1 -2
  58. package/lib/pages/document/DocumentBody.js.map +1 -1
  59. package/lib/pages/document/_document.js +3 -4
  60. package/lib/pages/document/_document.js.map +1 -1
  61. package/lib-es/constants.js +3 -1
  62. package/lib-es/constants.js.map +1 -1
  63. package/lib-es/helpers/check-url.js +2 -2
  64. package/lib-es/helpers/check-url.js.map +1 -1
  65. package/package.json +10 -10
  66. package/src/constants.js +3 -1
  67. package/src/helpers/check-url.js +12 -1
  68. package/tests/unit/src/__snapshots__/constants.test.js.snap +1 -0
  69. package/tests/unit/src/helpers/check-url.test.js +21 -1
@@ -1 +1 @@
1
- {"version":3,"file":"DocumentBody.js","names":["_react","_interopRequireDefault","require","_propTypes","_document","DocumentBody","_ref","children","createElement","Main","NextScript","propTypes","PropTypes","object","isRequired","_default","exports"],"sources":["../../../src/pages/document/DocumentBody.js"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport { Main, NextScript } from 'next/document';\n\nconst DocumentBody = ({ children }) => (\n <body>\n <Main />\n <NextScript />\n {children}\n </body>\n);\n\nDocumentBody.propTypes = {\n children: PropTypes.object.isRequired\n};\n\nexport default DocumentBody;\n"],"mappings":";;;;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,UAAA,GAAAF,sBAAA,CAAAC,OAAA;AACA,IAAAE,SAAA,GAAAF,OAAA;AAEA,IAAMG,YAAY,GAAG,SAAfA,YAAYA,CAAAC,IAAA;EAAA,IAAMC,QAAQ,GAAAD,IAAA,CAARC,QAAQ;EAAA,oBAC9BP,MAAA,YAAAQ,aAAA,4BACER,MAAA,YAAAQ,aAAA,CAACJ,SAAA,CAAAK,IAAI,MAAE,CAAC,eACRT,MAAA,YAAAQ,aAAA,CAACJ,SAAA,CAAAM,UAAU,MAAE,CAAC,EACbH,QACG,CAAC;AAAA,CACR;AAEDF,YAAY,CAACM,SAAS,GAAG;EACvBJ,QAAQ,EAAEK,qBAAS,CAACC,MAAM,CAACC;AAC7B,CAAC;AAAC,IAAAC,QAAA,GAEaV,YAAY;AAAAW,OAAA,cAAAD,QAAA"}
1
+ {"version":3,"file":"DocumentBody.js","names":["_react","_interopRequireDefault","require","_propTypes","_document","DocumentBody","_ref","children","createElement","Main","NextScript","propTypes","PropTypes","object","isRequired","_default","exports"],"sources":["../../../src/pages/document/DocumentBody.js"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport { Main, NextScript } from 'next/document';\n\nconst DocumentBody = ({ children }) => (\n <body>\n <Main />\n <NextScript />\n {children}\n </body>\n);\n\nDocumentBody.propTypes = {\n children: PropTypes.object.isRequired\n};\n\nexport default DocumentBody;\n"],"mappings":";;;;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,UAAA,GAAAF,sBAAA,CAAAC,OAAA;AACA,IAAAE,SAAA,GAAAF,OAAA;AAEA,IAAMG,YAAY,GAAG,SAAfA,YAAYA,CAAAC,IAAA;EAAA,IAAMC,QAAQ,GAAAD,IAAA,CAARC,QAAQ;EAAA,oBAC9BP,MAAA,YAAAQ,aAAA,4BACER,MAAA,YAAAQ,aAAA,CAACJ,SAAA,CAAAK,IAAI,MAAE,CAAC,eACRT,MAAA,YAAAQ,aAAA,CAACJ,SAAA,CAAAM,UAAU,MAAE,CAAC,EACbH,QACG,CAAC;AAAA,CACR;AAEDF,YAAY,CAACM,SAAS,GAAG;EACvBJ,QAAQ,EAAEK,qBAAS,CAACC,MAAM,CAACC;AAC7B,CAAC;AAAC,IAAAC,QAAA,GAAAC,OAAA,cAEaX,YAAY"}
@@ -18,8 +18,8 @@ var _propTypes = _interopRequireDefault(require("prop-types"));
18
18
  var _document = _interopRequireWildcard(require("next/document"));
19
19
  var _DocumentBody = _interopRequireDefault(require("./DocumentBody"));
20
20
  var _helpers = require("../../helpers");
21
- function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
22
- function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
21
+ 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); }
22
+ 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; }
23
23
  var BlazeDocument = function BlazeDocument(_ref) {
24
24
  var children = _ref.children;
25
25
  return /*#__PURE__*/_react["default"].createElement(_document.Html, {
@@ -35,6 +35,5 @@ BlazeDocument.Body = _DocumentBody["default"];
35
35
  BlazeDocument.propTypes = {
36
36
  children: _propTypes["default"].object.isRequired
37
37
  };
38
- var _default = BlazeDocument;
39
- exports["default"] = _default;
38
+ var _default = exports["default"] = BlazeDocument;
40
39
  //# sourceMappingURL=_document.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"_document.js","names":["_react","_interopRequireDefault","require","_propTypes","_document","_interopRequireWildcard","_DocumentBody","_helpers","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","_typeof","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","BlazeDocument","_ref","children","createElement","Html","lang","Head","rel","href","type","renderAppleTags","Document","Body","DocumentBody","propTypes","PropTypes","object","isRequired","_default","exports"],"sources":["../../../src/pages/document/_document.js"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport Document, { Html, Head } from 'next/document';\nimport DocumentBody from './DocumentBody';\nimport { renderAppleTags } from '../../helpers';\n\nconst BlazeDocument = ({ children }) => (\n <Html lang=\"en\">\n <Head>\n <link rel=\"icon\" href=\"/static/img/favicon.png\" type=\"image/x-icon\" />\n {renderAppleTags()}\n </Head>\n {children}\n </Html>\n);\n\nBlazeDocument.Document = Document;\nBlazeDocument.Body = DocumentBody;\n\nBlazeDocument.propTypes = {\n children: PropTypes.object.isRequired\n};\n\nexport default BlazeDocument;\n"],"mappings":";;;;;;;;;;;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,UAAA,GAAAF,sBAAA,CAAAC,OAAA;AACA,IAAAE,SAAA,GAAAC,uBAAA,CAAAH,OAAA;AACA,IAAAI,aAAA,GAAAL,sBAAA,CAAAC,OAAA;AACA,IAAAK,QAAA,GAAAL,OAAA;AAAgD,SAAAM,yBAAAC,WAAA,eAAAC,OAAA,kCAAAC,iBAAA,OAAAD,OAAA,QAAAE,gBAAA,OAAAF,OAAA,YAAAF,wBAAA,YAAAA,yBAAAC,WAAA,WAAAA,WAAA,GAAAG,gBAAA,GAAAD,iBAAA,KAAAF,WAAA;AAAA,SAAAJ,wBAAAQ,GAAA,EAAAJ,WAAA,SAAAA,WAAA,IAAAI,GAAA,IAAAA,GAAA,CAAAC,UAAA,WAAAD,GAAA,QAAAA,GAAA,aAAAE,OAAA,CAAAF,GAAA,yBAAAA,GAAA,uCAAAA,GAAA,UAAAG,KAAA,GAAAR,wBAAA,CAAAC,WAAA,OAAAO,KAAA,IAAAA,KAAA,CAAAC,GAAA,CAAAJ,GAAA,YAAAG,KAAA,CAAAE,GAAA,CAAAL,GAAA,SAAAM,MAAA,WAAAC,qBAAA,GAAAC,MAAA,CAAAC,cAAA,IAAAD,MAAA,CAAAE,wBAAA,WAAAC,GAAA,IAAAX,GAAA,QAAAW,GAAA,kBAAAH,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAd,GAAA,EAAAW,GAAA,SAAAI,IAAA,GAAAR,qBAAA,GAAAC,MAAA,CAAAE,wBAAA,CAAAV,GAAA,EAAAW,GAAA,cAAAI,IAAA,KAAAA,IAAA,CAAAV,GAAA,IAAAU,IAAA,CAAAC,GAAA,KAAAR,MAAA,CAAAC,cAAA,CAAAH,MAAA,EAAAK,GAAA,EAAAI,IAAA,YAAAT,MAAA,CAAAK,GAAA,IAAAX,GAAA,CAAAW,GAAA,SAAAL,MAAA,cAAAN,GAAA,MAAAG,KAAA,IAAAA,KAAA,CAAAa,GAAA,CAAAhB,GAAA,EAAAM,MAAA,YAAAA,MAAA;AAEhD,IAAMW,aAAa,GAAG,SAAhBA,aAAaA,CAAAC,IAAA;EAAA,IAAMC,QAAQ,GAAAD,IAAA,CAARC,QAAQ;EAAA,oBAC/BhC,MAAA,YAAAiC,aAAA,CAAC7B,SAAA,CAAA8B,IAAI;IAACC,IAAI,EAAC;EAAI,gBACbnC,MAAA,YAAAiC,aAAA,CAAC7B,SAAA,CAAAgC,IAAI,qBACHpC,MAAA,YAAAiC,aAAA;IAAMI,GAAG,EAAC,MAAM;IAACC,IAAI,EAAC,yBAAyB;IAACC,IAAI,EAAC;EAAc,CAAE,CAAC,EACrE,IAAAC,wBAAe,EAAC,CACb,CAAC,EACNR,QACG,CAAC;AAAA,CACR;AAEDF,aAAa,CAACW,QAAQ,GAAGA,oBAAQ;AACjCX,aAAa,CAACY,IAAI,GAAGC,wBAAY;AAEjCb,aAAa,CAACc,SAAS,GAAG;EACxBZ,QAAQ,EAAEa,qBAAS,CAACC,MAAM,CAACC;AAC7B,CAAC;AAAC,IAAAC,QAAA,GAEalB,aAAa;AAAAmB,OAAA,cAAAD,QAAA"}
1
+ {"version":3,"file":"_document.js","names":["_react","_interopRequireDefault","require","_propTypes","_document","_interopRequireWildcard","_DocumentBody","_helpers","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","_typeof","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","BlazeDocument","_ref","children","createElement","Html","lang","Head","rel","href","type","renderAppleTags","Document","Body","DocumentBody","propTypes","PropTypes","object","isRequired","_default","exports"],"sources":["../../../src/pages/document/_document.js"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport Document, { Html, Head } from 'next/document';\nimport DocumentBody from './DocumentBody';\nimport { renderAppleTags } from '../../helpers';\n\nconst BlazeDocument = ({ children }) => (\n <Html lang=\"en\">\n <Head>\n <link rel=\"icon\" href=\"/static/img/favicon.png\" type=\"image/x-icon\" />\n {renderAppleTags()}\n </Head>\n {children}\n </Html>\n);\n\nBlazeDocument.Document = Document;\nBlazeDocument.Body = DocumentBody;\n\nBlazeDocument.propTypes = {\n children: PropTypes.object.isRequired\n};\n\nexport default BlazeDocument;\n"],"mappings":";;;;;;;;;;;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,UAAA,GAAAF,sBAAA,CAAAC,OAAA;AACA,IAAAE,SAAA,GAAAC,uBAAA,CAAAH,OAAA;AACA,IAAAI,aAAA,GAAAL,sBAAA,CAAAC,OAAA;AACA,IAAAK,QAAA,GAAAL,OAAA;AAAgD,SAAAM,yBAAAC,CAAA,6BAAAC,OAAA,mBAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAF,wBAAA,YAAAA,yBAAAC,CAAA,WAAAA,CAAA,GAAAG,CAAA,GAAAD,CAAA,KAAAF,CAAA;AAAA,SAAAJ,wBAAAI,CAAA,EAAAE,CAAA,SAAAA,CAAA,IAAAF,CAAA,IAAAA,CAAA,CAAAI,UAAA,SAAAJ,CAAA,eAAAA,CAAA,gBAAAK,OAAA,CAAAL,CAAA,0BAAAA,CAAA,sBAAAA,CAAA,QAAAG,CAAA,GAAAJ,wBAAA,CAAAG,CAAA,OAAAC,CAAA,IAAAA,CAAA,CAAAG,GAAA,CAAAN,CAAA,UAAAG,CAAA,CAAAI,GAAA,CAAAP,CAAA,OAAAQ,CAAA,KAAAC,SAAA,UAAAC,CAAA,GAAAC,MAAA,CAAAC,cAAA,IAAAD,MAAA,CAAAE,wBAAA,WAAAC,CAAA,IAAAd,CAAA,oBAAAc,CAAA,IAAAH,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAjB,CAAA,EAAAc,CAAA,SAAAI,CAAA,GAAAR,CAAA,GAAAC,MAAA,CAAAE,wBAAA,CAAAb,CAAA,EAAAc,CAAA,UAAAI,CAAA,KAAAA,CAAA,CAAAX,GAAA,IAAAW,CAAA,CAAAC,GAAA,IAAAR,MAAA,CAAAC,cAAA,CAAAJ,CAAA,EAAAM,CAAA,EAAAI,CAAA,IAAAV,CAAA,CAAAM,CAAA,IAAAd,CAAA,CAAAc,CAAA,YAAAN,CAAA,cAAAR,CAAA,EAAAG,CAAA,IAAAA,CAAA,CAAAgB,GAAA,CAAAnB,CAAA,EAAAQ,CAAA,GAAAA,CAAA;AAEhD,IAAMY,aAAa,GAAG,SAAhBA,aAAaA,CAAAC,IAAA;EAAA,IAAMC,QAAQ,GAAAD,IAAA,CAARC,QAAQ;EAAA,oBAC/B/B,MAAA,YAAAgC,aAAA,CAAC5B,SAAA,CAAA6B,IAAI;IAACC,IAAI,EAAC;EAAI,gBACblC,MAAA,YAAAgC,aAAA,CAAC5B,SAAA,CAAA+B,IAAI,qBACHnC,MAAA,YAAAgC,aAAA;IAAMI,GAAG,EAAC,MAAM;IAACC,IAAI,EAAC,yBAAyB;IAACC,IAAI,EAAC;EAAc,CAAE,CAAC,EACrE,IAAAC,wBAAe,EAAC,CACb,CAAC,EACNR,QACG,CAAC;AAAA,CACR;AAEDF,aAAa,CAACW,QAAQ,GAAGA,oBAAQ;AACjCX,aAAa,CAACY,IAAI,GAAGC,wBAAY;AAEjCb,aAAa,CAACc,SAAS,GAAG;EACxBZ,QAAQ,EAAEa,qBAAS,CAACC,MAAM,CAACC;AAC7B,CAAC;AAAC,IAAAC,QAAA,GAAAC,OAAA,cAEanB,aAAa"}
@@ -1,4 +1,5 @@
1
1
  const ACTIVE_META_TAGS = ['description', 'canonical'];
2
+ const BLAZE_X_FRAME_OPTIONS_DEFAULT = 'SAMEORIGIN';
2
3
  const META_TAGS_LOOKUP = {
3
4
  description: {
4
5
  apiKey: 'metaDescription',
@@ -85,6 +86,7 @@ module.exports = {
85
86
  STATIC_FILE_FORWARD_HEADERS,
86
87
  ROOT_SELECTOR_CLASS_PREFIX,
87
88
  ROOT_SELECTOR_SEPARATOR,
88
- RESOLVER_CONTAINER_CLASS
89
+ RESOLVER_CONTAINER_CLASS,
90
+ BLAZE_X_FRAME_OPTIONS_DEFAULT
89
91
  };
90
92
  //# sourceMappingURL=constants.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"constants.js","names":["ACTIVE_META_TAGS","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","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'];\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};\n"],"mappings":"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"}
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","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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"}
@@ -4,7 +4,7 @@ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t =
4
4
  import { parseUrl } from 'query-string';
5
5
  import { getUnpublishedEntityName } from '@blaze-cms/react-page-builder';
6
6
  import { checkAccessToken } from '@blaze-cms/core-auth-ui';
7
- import { HTTPS, DOUBLE_SLASH, COLON, NOT_FOUND_STATUS_CODE } from '../constants';
7
+ import { HTTPS, DOUBLE_SLASH, COLON, NOT_FOUND_STATUS_CODE, BLAZE_X_FRAME_OPTIONS_DEFAULT } from '../constants';
8
8
  import { checkUrlQuery } from '../application/query';
9
9
  import checkParent from './check-parent';
10
10
  import checkPreviewUrl from './check-preview-url';
@@ -33,6 +33,7 @@ const checkUrl = async props => {
33
33
  }
34
34
  if (res) {
35
35
  const handler = handleStaticRoutes.getHandler(asPath);
36
+ res.setHeader('X-Frame-Options', process.env.BLAZE_X_FRAME_OPTIONS || BLAZE_X_FRAME_OPTIONS_DEFAULT);
36
37
  if (!res.getHeader('Cache-Control')) {
37
38
  res.setHeader('Cache-Control', process.env.BLAZE_CACHE_CONTROL_HEADER || '');
38
39
  }
@@ -47,7 +48,6 @@ const checkUrl = async props => {
47
48
  await checkAccessToken(apolloClient, _objectSpread(_objectSpread({}, props), {}, {
48
49
  disableSsr: !Object.keys(apolloClient.cache.extract()).length // empty cache means SSR was disabled
49
50
  }));
50
-
51
51
  if (previewData) return getPreviewData(previewData, apolloClient);
52
52
  const urlCheckOptions = {
53
53
  asPath,
@@ -1 +1 @@
1
- {"version":3,"file":"check-url.js","names":["parseUrl","getUnpublishedEntityName","checkAccessToken","HTTPS","DOUBLE_SLASH","COLON","NOT_FOUND_STATUS_CODE","checkUrlQuery","checkParent","checkPreviewUrl","handleStaticRoutes","getPageData","getRootSelectorClasses","getRootClassesLimit","Number","process","env","BLAZE_ROOT_SELECTOR_CLASSES_LIMIT","checkUrl","props","asPath","apolloClient","res","req","query","blazeApp","disableSsr","fullUrl","getFullUrl","url","BLAZE_STATUS_URL","isStatusPage","handler","getHandler","getHeader","setHeader","BLAZE_CACHE_CONTROL_HEADER","previewData","_objectSpread","Object","keys","cache","extract","length","getPreviewData","urlCheckOptions","result","doUrlCheck","handle404Error","pageData","rootSelectorClasses","isPreview","getHost","headers","BLAZE_FRONTEND_HOST","host","location","protocol","hostname","port","window","urlPort","data","itemId","itemEntity","urlTo","variables","cacheControlMaxAge","redirectUrl","BLAZE_DISABLE_REDIRECT_WITH_QUERY","queryString","split","writeHead","Location","end","href","err","parentPATH","handleError","events","emit","error","networkError","write","graphQLErrors","statusCode","errorCode"],"sources":["../../src/helpers/check-url.js"],"sourcesContent":["import { parseUrl } from 'query-string';\nimport { getUnpublishedEntityName } from '@blaze-cms/react-page-builder';\nimport { 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 checkUrl = async props => {\n const { asPath, apolloClient, res, req, query, blazeApp, disableSsr } = 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\n if (!res.getHeader('Cache-Control')) {\n res.setHeader('Cache-Control', process.env.BLAZE_CACHE_CONTROL_HEADER || '');\n }\n\n if (handler) {\n return handler(props);\n }\n }\n\n const previewData = checkPreviewUrl(url, query);\n\n if (!previewData && disableSsr) return { disableSsr: true };\n\n await checkAccessToken(apolloClient, {\n ...props,\n disableSsr: !Object.keys(apolloClient.cache.extract()).length // empty cache means SSR was disabled\n });\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 ({ asPath, 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 let redirectUrl = urlTo;\n if (process.env.BLAZE_DISABLE_REDIRECT_WITH_QUERY !== 'true') {\n const queryString = asPath.split('?')[1];\n redirectUrl = queryString ? `${urlTo}?${queryString}` : urlTo;\n }\n\n if (res) {\n res.writeHead(301, { Location: redirectUrl });\n res.end();\n } else {\n window.location.href = redirectUrl;\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","checkAccessToken","HTTPS","DOUBLE_SLASH","COLON","NOT_FOUND_STATUS_CODE","BLAZE_X_FRAME_OPTIONS_DEFAULT","checkUrlQuery","checkParent","checkPreviewUrl","handleStaticRoutes","getPageData","getRootSelectorClasses","getRootClassesLimit","Number","process","env","BLAZE_ROOT_SELECTOR_CLASSES_LIMIT","checkUrl","props","asPath","apolloClient","res","req","query","blazeApp","disableSsr","fullUrl","getFullUrl","url","BLAZE_STATUS_URL","isStatusPage","handler","getHandler","setHeader","BLAZE_X_FRAME_OPTIONS","getHeader","BLAZE_CACHE_CONTROL_HEADER","previewData","_objectSpread","Object","keys","cache","extract","length","getPreviewData","urlCheckOptions","result","doUrlCheck","handle404Error","pageData","rootSelectorClasses","isPreview","getHost","headers","BLAZE_FRONTEND_HOST","host","location","protocol","hostname","port","window","urlPort","data","itemId","itemEntity","urlTo","variables","cacheControlMaxAge","redirectUrl","BLAZE_DISABLE_REDIRECT_WITH_QUERY","queryString","split","writeHead","Location","end","href","err","parentPATH","handleError","events","emit","error","networkError","write","graphQLErrors","statusCode","errorCode"],"sources":["../../src/helpers/check-url.js"],"sourcesContent":["import { parseUrl } from 'query-string';\nimport { getUnpublishedEntityName } from '@blaze-cms/react-page-builder';\nimport { checkAccessToken } from '@blaze-cms/core-auth-ui';\nimport {\n HTTPS,\n DOUBLE_SLASH,\n COLON,\n NOT_FOUND_STATUS_CODE,\n BLAZE_X_FRAME_OPTIONS_DEFAULT\n} 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 checkUrl = async props => {\n const { asPath, apolloClient, res, req, query, blazeApp, disableSsr } = 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\n res.setHeader(\n 'X-Frame-Options',\n process.env.BLAZE_X_FRAME_OPTIONS || BLAZE_X_FRAME_OPTIONS_DEFAULT\n );\n\n if (!res.getHeader('Cache-Control')) {\n res.setHeader('Cache-Control', process.env.BLAZE_CACHE_CONTROL_HEADER || '');\n }\n\n if (handler) {\n return handler(props);\n }\n }\n\n const previewData = checkPreviewUrl(url, query);\n\n if (!previewData && disableSsr) return { disableSsr: true };\n\n await checkAccessToken(apolloClient, {\n ...props,\n disableSsr: !Object.keys(apolloClient.cache.extract()).length // empty cache means SSR was disabled\n });\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 ({ asPath, 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 let redirectUrl = urlTo;\n if (process.env.BLAZE_DISABLE_REDIRECT_WITH_QUERY !== 'true') {\n const queryString = asPath.split('?')[1];\n redirectUrl = queryString ? `${urlTo}?${queryString}` : urlTo;\n }\n\n if (res) {\n res.writeHead(301, { Location: redirectUrl });\n res.end();\n } else {\n window.location.href = redirectUrl;\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.139.0-alpha.3",
3
+ "version": "0.139.0-alpha.5",
4
4
  "description": "Blaze nextjs tools",
5
5
  "main": "lib/index.js",
6
6
  "module": "lib-es/index.js",
@@ -28,20 +28,20 @@
28
28
  "license": "GPL-3.0",
29
29
  "dependencies": {
30
30
  "@apollo/client": "3.5.x",
31
- "@blaze-cms/core-auth-ui": "0.139.0-alpha.3",
31
+ "@blaze-cms/core-auth-ui": "0.139.0-alpha.4",
32
32
  "@blaze-cms/core-errors": "^0.131.0",
33
33
  "@blaze-cms/core-errors-ui": "^0.131.0",
34
34
  "@blaze-cms/core-ui": "^0.131.0",
35
35
  "@blaze-cms/nextjs-components": "^0.134.0",
36
- "@blaze-cms/plugin-auth-fe": "0.139.0-alpha.3",
37
- "@blaze-cms/plugin-auth-local-fe": "0.139.0-alpha.3",
38
- "@blaze-cms/plugin-google-maps-fe": "0.139.0-alpha.3",
39
- "@blaze-cms/plugin-gtm-fe": "0.139.0-alpha.3",
40
- "@blaze-cms/plugin-page-builder-fe": "0.139.0-alpha.3",
36
+ "@blaze-cms/plugin-auth-fe": "0.139.0-alpha.4",
37
+ "@blaze-cms/plugin-auth-local-fe": "0.139.0-alpha.4",
38
+ "@blaze-cms/plugin-google-maps-fe": "0.139.0-alpha.4",
39
+ "@blaze-cms/plugin-gtm-fe": "0.139.0-alpha.4",
40
+ "@blaze-cms/plugin-page-builder-fe": "0.139.0-alpha.4",
41
41
  "@blaze-cms/plugin-preview-fe": "^0.131.0",
42
- "@blaze-cms/plugin-search-ui": "^0.136.0",
42
+ "@blaze-cms/plugin-search-ui": "0.139.0-alpha.4",
43
43
  "@blaze-cms/plugin-structured-data-fe": "^0.131.0",
44
- "@blaze-cms/react-page-builder": "0.139.0-alpha.3",
44
+ "@blaze-cms/react-page-builder": "0.139.0-alpha.4",
45
45
  "@blaze-cms/setup-ui": "^0.131.0",
46
46
  "autoprefixer": "^10.2.3",
47
47
  "core-js": "^3.2.1",
@@ -69,5 +69,5 @@
69
69
  "lib/*",
70
70
  "lib-es/*"
71
71
  ],
72
- "gitHead": "00aa8ba6ed9d34f0b2651f8afd810ae8ec136a3c"
72
+ "gitHead": "ddfab9ac3d59438939268c106917b092e4071071"
73
73
  }
package/src/constants.js CHANGED
@@ -1,4 +1,5 @@
1
1
  const ACTIVE_META_TAGS = ['description', 'canonical'];
2
+ const BLAZE_X_FRAME_OPTIONS_DEFAULT = 'SAMEORIGIN';
2
3
 
3
4
  const META_TAGS_LOOKUP = {
4
5
  description: {
@@ -89,5 +90,6 @@ module.exports = {
89
90
  STATIC_FILE_FORWARD_HEADERS,
90
91
  ROOT_SELECTOR_CLASS_PREFIX,
91
92
  ROOT_SELECTOR_SEPARATOR,
92
- RESOLVER_CONTAINER_CLASS
93
+ RESOLVER_CONTAINER_CLASS,
94
+ BLAZE_X_FRAME_OPTIONS_DEFAULT
93
95
  };
@@ -1,7 +1,13 @@
1
1
  import { parseUrl } from 'query-string';
2
2
  import { getUnpublishedEntityName } from '@blaze-cms/react-page-builder';
3
3
  import { checkAccessToken } from '@blaze-cms/core-auth-ui';
4
- import { HTTPS, DOUBLE_SLASH, COLON, NOT_FOUND_STATUS_CODE } from '../constants';
4
+ import {
5
+ HTTPS,
6
+ DOUBLE_SLASH,
7
+ COLON,
8
+ NOT_FOUND_STATUS_CODE,
9
+ BLAZE_X_FRAME_OPTIONS_DEFAULT
10
+ } from '../constants';
5
11
  import { checkUrlQuery } from '../application/query';
6
12
  import checkParent from './check-parent';
7
13
  import checkPreviewUrl from './check-preview-url';
@@ -23,6 +29,11 @@ const checkUrl = async props => {
23
29
  if (res) {
24
30
  const handler = handleStaticRoutes.getHandler(asPath);
25
31
 
32
+ res.setHeader(
33
+ 'X-Frame-Options',
34
+ process.env.BLAZE_X_FRAME_OPTIONS || BLAZE_X_FRAME_OPTIONS_DEFAULT
35
+ );
36
+
26
37
  if (!res.getHeader('Cache-Control')) {
27
38
  res.setHeader('Cache-Control', process.env.BLAZE_CACHE_CONTROL_HEADER || '');
28
39
  }
@@ -28,6 +28,7 @@ Object {
28
28
  },
29
29
  ],
30
30
  "BLAZE_STATIC_ROUTE_STORE_KEY": "default",
31
+ "BLAZE_X_FRAME_OPTIONS_DEFAULT": "SAMEORIGIN",
31
32
  "COLON": ":",
32
33
  "DEBUG_LOGO": Object {
33
34
  "ALT": "blaze-logo",
@@ -128,7 +128,7 @@ describe('Check url', () => {
128
128
  handleStaticRoutes.getHandler.mockImplementationOnce(mockHandlerResponse);
129
129
  res.getHeader.mockImplementationOnce(() => 'max-age=300');
130
130
  await checkUrl(props);
131
- expect(res.setHeader).not.toHaveBeenCalled();
131
+ expect(res.setHeader).not.toHaveBeenCalledWith('Cache-Control', 'max-age=300');
132
132
  });
133
133
 
134
134
  it('should set empty Cache-Control header', async () => {
@@ -137,6 +137,26 @@ describe('Check url', () => {
137
137
  expect(res.setHeader).toHaveBeenCalledWith(cacheControlHeader, '');
138
138
  });
139
139
 
140
+ it('should set X-Frame-Options to default', async () => {
141
+ handleStaticRoutes.getHandler.mockImplementationOnce(mockHandlerResponse);
142
+ const cacheEnvs = {
143
+ BLAZE_X_FRAME_OPTIONS: ''
144
+ };
145
+ setEnvs(cacheEnvs);
146
+ await checkUrl({ ...props });
147
+ expect(res.setHeader).toHaveBeenCalledWith('X-Frame-Options', 'SAMEORIGIN');
148
+ });
149
+
150
+ it('should set X-Frame-Options to custom value', async () => {
151
+ handleStaticRoutes.getHandler.mockImplementationOnce(mockHandlerResponse);
152
+ const cacheEnvs = {
153
+ BLAZE_X_FRAME_OPTIONS: 'DENY'
154
+ };
155
+ setEnvs(cacheEnvs);
156
+ await checkUrl({ ...props });
157
+ expect(res.setHeader).toHaveBeenCalledWith('X-Frame-Options', 'DENY');
158
+ });
159
+
140
160
  it('should set Cache-Control header from env', async () => {
141
161
  handleStaticRoutes.getHandler.mockImplementationOnce(mockHandlerResponse);
142
162
  const cacheEnvs = {