@blaze-cms/nextjs-tools 0.146.0-core-styles.45 → 0.146.0-node18-core-styles.0

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 (36) hide show
  1. package/CHANGELOG.md +19 -200
  2. package/README.md +1 -1
  3. package/lib/components/DebugSidebar/index.js.map +1 -1
  4. package/lib/helpers/check-url.js +22 -16
  5. package/lib/helpers/check-url.js.map +1 -1
  6. package/lib/helpers/render-apple-tags.js +1 -0
  7. package/lib/helpers/render-apple-tags.js.map +1 -1
  8. package/lib/index.js +0 -7
  9. package/lib/index.js.map +1 -1
  10. package/lib/pages/Resolver.js.map +1 -1
  11. package/lib/pages/document/_document.js +3 -5
  12. package/lib/pages/document/_document.js.map +1 -1
  13. package/lib/server/index.js +8 -7
  14. package/lib/server/index.js.map +1 -1
  15. package/lib-es/components/DebugSidebar/index.js.map +1 -1
  16. package/lib-es/helpers/check-url.js +10 -8
  17. package/lib-es/helpers/check-url.js.map +1 -1
  18. package/lib-es/index.js +1 -1
  19. package/lib-es/index.js.map +1 -1
  20. package/lib-es/pages/Resolver.js.map +1 -1
  21. package/lib-es/pages/document/_document.js +2 -5
  22. package/lib-es/pages/document/_document.js.map +1 -1
  23. package/lib-es/server/index.js +5 -4
  24. package/lib-es/server/index.js.map +1 -1
  25. package/package.json +26 -26
  26. package/src/components/DebugSidebar/index.js +5 -8
  27. package/src/helpers/check-url.js +15 -13
  28. package/src/index.js +1 -1
  29. package/src/pages/Resolver.js +1 -1
  30. package/src/pages/document/_document.js +2 -1
  31. package/src/server/index.js +5 -4
  32. package/tests/helpers/tests/static-file-handler-tests.js +7 -11
  33. package/tests/unit/src/components/DebugSidebar/__snapshots__/DebugSidebar.test.js.snap +3 -0
  34. package/tests/unit/src/helpers/check-url.test.js +4 -2
  35. package/tests/unit/src/helpers/handle-static-routes.test.js +1 -1
  36. package/tests/unit/src/hoc/withBlaze.test.js +6 -6
@@ -6,28 +6,29 @@ var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/
6
6
  require("core-js/modules/es.parse-int.js");
7
7
  var _require = require('http'),
8
8
  createServer = _require.createServer;
9
- var Router = require('./routes');
10
9
  var port = parseInt(process.env.PORT, 10) || 3000;
11
10
  function prepareServer(_x) {
12
11
  return _prepareServer.apply(this, arguments);
13
12
  }
14
13
  function _prepareServer() {
15
- _prepareServer = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee(nextApp) {
14
+ _prepareServer = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee(app) {
16
15
  var handler;
17
16
  return _regenerator["default"].wrap(function _callee$(_context) {
18
17
  while (1) switch (_context.prev = _context.next) {
19
18
  case 0:
20
- handler = Router.getRequestHandler(nextApp);
21
- _context.next = 3;
22
- return nextApp.prepare();
23
- case 3:
19
+ // eslint-disable-next-line no-console
20
+ console.warn('server.js is deprecated. Run directly with "next" cli instead.');
21
+ handler = app.getRequestHandler();
22
+ _context.next = 4;
23
+ return app.prepare();
24
+ case 4:
24
25
  return _context.abrupt("return", {
25
26
  run: function run() {
26
27
  return createServer(handler).listen(port);
27
28
  },
28
29
  handler: handler
29
30
  });
30
- case 4:
31
+ case 5:
31
32
  case "end":
32
33
  return _context.stop();
33
34
  }
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["_require","require","createServer","Router","port","parseInt","process","env","PORT","prepareServer","_x","_prepareServer","apply","arguments","_asyncToGenerator2","_regenerator","mark","_callee","nextApp","handler","wrap","_callee$","_context","prev","next","getRequestHandler","prepare","abrupt","run","listen","stop","module","exports"],"sources":["../../src/server/index.js"],"sourcesContent":["const { createServer } = require('http');\nconst Router = require('./routes');\n\nconst port = parseInt(process.env.PORT, 10) || 3000;\n\nasync function prepareServer(nextApp) {\n const handler = Router.getRequestHandler(nextApp);\n\n await nextApp.prepare();\n\n return { run: () => createServer(handler).listen(port), handler };\n}\n\nmodule.exports = prepareServer;\n"],"mappings":";;;;;;AAAA,IAAAA,QAAA,GAAyBC,OAAO,CAAC,MAAM,CAAC;EAAhCC,YAAY,GAAAF,QAAA,CAAZE,YAAY;AACpB,IAAMC,MAAM,GAAGF,OAAO,CAAC,UAAU,CAAC;AAElC,IAAMG,IAAI,GAAGC,QAAQ,CAACC,OAAO,CAACC,GAAG,CAACC,IAAI,EAAE,EAAE,CAAC,IAAI,IAAI;AAAC,SAErCC,aAAaA,CAAAC,EAAA;EAAA,OAAAC,cAAA,CAAAC,KAAA,OAAAC,SAAA;AAAA;AAAA,SAAAF,eAAA;EAAAA,cAAA,OAAAG,kBAAA,0BAAAC,YAAA,YAAAC,IAAA,CAA5B,SAAAC,QAA6BC,OAAO;IAAA,IAAAC,OAAA;IAAA,OAAAJ,YAAA,YAAAK,IAAA,UAAAC,SAAAC,QAAA;MAAA,kBAAAA,QAAA,CAAAC,IAAA,GAAAD,QAAA,CAAAE,IAAA;QAAA;UAC5BL,OAAO,GAAGhB,MAAM,CAACsB,iBAAiB,CAACP,OAAO,CAAC;UAAAI,QAAA,CAAAE,IAAA;UAAA,OAE3CN,OAAO,CAACQ,OAAO,CAAC,CAAC;QAAA;UAAA,OAAAJ,QAAA,CAAAK,MAAA,WAEhB;YAAEC,GAAG,EAAE,SAALA,GAAGA,CAAA;cAAA,OAAQ1B,YAAY,CAACiB,OAAO,CAAC,CAACU,MAAM,CAACzB,IAAI,CAAC;YAAA;YAAEe,OAAO,EAAPA;UAAQ,CAAC;QAAA;QAAA;UAAA,OAAAG,QAAA,CAAAQ,IAAA;MAAA;IAAA,GAAAb,OAAA;EAAA,CAClE;EAAA,OAAAN,cAAA,CAAAC,KAAA,OAAAC,SAAA;AAAA;AAEDkB,MAAM,CAACC,OAAO,GAAGvB,aAAa","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["_require","require","createServer","port","parseInt","process","env","PORT","prepareServer","_x","_prepareServer","apply","arguments","_asyncToGenerator2","_regenerator","mark","_callee","app","handler","wrap","_callee$","_context","prev","next","console","warn","getRequestHandler","prepare","abrupt","run","listen","stop","module","exports"],"sources":["../../src/server/index.js"],"sourcesContent":["const { createServer } = require('http');\n\nconst port = parseInt(process.env.PORT, 10) || 3000;\n\nasync function prepareServer(app) {\n // eslint-disable-next-line no-console\n console.warn('server.js is deprecated. Run directly with \"next\" cli instead.');\n const handler = app.getRequestHandler();\n\n await app.prepare();\n\n return { run: () => createServer(handler).listen(port), handler };\n}\n\nmodule.exports = prepareServer;\n"],"mappings":";;;;;;AAAA,IAAAA,QAAA,GAAyBC,OAAO,CAAC,MAAM,CAAC;EAAhCC,YAAY,GAAAF,QAAA,CAAZE,YAAY;AAEpB,IAAMC,IAAI,GAAGC,QAAQ,CAACC,OAAO,CAACC,GAAG,CAACC,IAAI,EAAE,EAAE,CAAC,IAAI,IAAI;AAAC,SAErCC,aAAaA,CAAAC,EAAA;EAAA,OAAAC,cAAA,CAAAC,KAAA,OAAAC,SAAA;AAAA;AAAA,SAAAF,eAAA;EAAAA,cAAA,OAAAG,kBAAA,0BAAAC,YAAA,YAAAC,IAAA,CAA5B,SAAAC,QAA6BC,GAAG;IAAA,IAAAC,OAAA;IAAA,OAAAJ,YAAA,YAAAK,IAAA,UAAAC,SAAAC,QAAA;MAAA,kBAAAA,QAAA,CAAAC,IAAA,GAAAD,QAAA,CAAAE,IAAA;QAAA;UAC9B;UACAC,OAAO,CAACC,IAAI,CAAC,gEAAgE,CAAC;UACxEP,OAAO,GAAGD,GAAG,CAACS,iBAAiB,CAAC,CAAC;UAAAL,QAAA,CAAAE,IAAA;UAAA,OAEjCN,GAAG,CAACU,OAAO,CAAC,CAAC;QAAA;UAAA,OAAAN,QAAA,CAAAO,MAAA,WAEZ;YAAEC,GAAG,EAAE,SAALA,GAAGA,CAAA;cAAA,OAAQ3B,YAAY,CAACgB,OAAO,CAAC,CAACY,MAAM,CAAC3B,IAAI,CAAC;YAAA;YAAEe,OAAO,EAAPA;UAAQ,CAAC;QAAA;QAAA;UAAA,OAAAG,QAAA,CAAAU,IAAA;MAAA;IAAA,GAAAf,OAAA;EAAA,CAClE;EAAA,OAAAN,cAAA,CAAAC,KAAA,OAAAC,SAAA;AAAA;AAEDoB,MAAM,CAACC,OAAO,GAAGzB,aAAa","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["React","useState","useEffect","PropTypes","classnames","Link","MdKeyboardArrowLeft","buildAdminHref","setBlazeDebug","DEBUG_LOGO","DebugSidebar","itemEntity","itemId","debugMode","isDebugMode","setIsDebugMode","isOpen","setIsOpen","divClass","href","createElement","Fragment","className","src","SRC","alt","ALT","role","id","onClick","propTypes","string","bool","defaultProps"],"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 { buildAdminHref, setBlazeDebug } 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\n useEffect(\n () => {\n if (debugMode === true) {\n setIsDebugMode(debugMode);\n } else setBlazeDebug(setIsDebugMode);\n },\n [debugMode]\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 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 <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":"AAAA,OAAOA,KAAK,IAAIC,QAAQ,EAAEC,SAAS,QAAQ,OAAO;AAClD,OAAOC,SAAS,MAAM,YAAY;AAClC,OAAOC,UAAU,MAAM,YAAY;AACnC,SAASC,IAAI,QAAQ,8BAA8B;AACnD,SAASC,mBAAmB,QAAQ,gBAAgB;AACpD,SAASC,cAAc,EAAEC,aAAa,QAAQ,eAAe;AAC7D,SAASC,UAAU,QAAQ,iBAAiB;AAE5C,MAAMC,YAAY,GAAGA,CAAC;EAAEC,UAAU;EAAEC,MAAM;EAAEC;AAAU,CAAC,KAAK;EAC1D,MAAM,CAACC,WAAW,EAAEC,cAAc,CAAC,GAAGd,QAAQ,CAACY,SAAS,CAAC;EACzD,MAAM,CAACG,MAAM,EAAEC,SAAS,CAAC,GAAGhB,QAAQ,CAAC,IAAI,CAAC;EAE1CC,SAAS,CACP,MAAM;IACJ,IAAIW,SAAS,KAAK,IAAI,EAAE;MACtBE,cAAc,CAACF,SAAS,CAAC;IAC3B,CAAC,MAAML,aAAa,CAACO,cAAc,CAAC;EACtC,CAAC,EACD,CAACF,SAAS,CACZ,CAAC;EAED,MAAMK,QAAQ,GAAGd,UAAU,CAAC,eAAe,EAAE;IAC3C,qBAAqB,EAAEY,MAAM;IAC7B,sBAAsB,EAAE,CAACA;EAC3B,CAAC,CAAC;EAEF,MAAMG,IAAI,GAAGZ,cAAc,CAAC;IAAEI,UAAU;IAAEC;EAAO,CAAC,CAAC;EAEnD,oBACEZ,KAAA,CAAAoB,aAAA,CAAApB,KAAA,CAAAqB,QAAA,QACGP,WAAW,gBACVd,KAAA,CAAAoB,aAAA;IAAKE,SAAS,EAAEJ,QAAS;IAAC,eAAY;EAAe,gBACnDlB,KAAA,CAAAoB,aAAA,CAACf,IAAI;IAACc,IAAI,EAAEA;EAAK,gBACfnB,KAAA,CAAAoB,aAAA;IAAKG,GAAG,EAAEd,UAAU,CAACe,GAAI;IAACC,GAAG,EAAEhB,UAAU,CAACiB;EAAI,CAAE,CAAC,eACjD1B,KAAA,CAAAoB,aAAA,eAAM,aAAiB,CACnB,CAAC,eACPpB,KAAA,CAAAoB,aAAA;IACEO,IAAI,EAAC,QAAQ;IACbL,SAAS,EAAC,4BAA4B;IACtC,eAAY,sBAAsB;IAClCM,EAAE,EAAC,sBAAsB;IACzBC,OAAO,EAAEA,CAAA,KAAMZ,SAAS,CAAC,CAACD,MAAM;EAAE,gBAClChB,KAAA,CAAAoB,aAAA,yBACEpB,KAAA,CAAAoB,aAAA,CAACd,mBAAmB,MAAE,CACrB,CACA,CACF,CAAC,GACJ,IACJ,CAAC;AAEP,CAAC;AAEDI,YAAY,CAACoB,SAAS,GAAG;EACvBnB,UAAU,EAAER,SAAS,CAAC4B,MAAM;EAC5BnB,MAAM,EAAET,SAAS,CAAC4B,MAAM;EACxBlB,SAAS,EAAEV,SAAS,CAAC6B;AACvB,CAAC;AAEDtB,YAAY,CAACuB,YAAY,GAAG;EAC1BtB,UAAU,EAAE,EAAE;EACdC,MAAM,EAAE,EAAE;EACVC,SAAS,EAAE;AACb,CAAC;AAED,eAAeH,YAAY","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["React","useState","useEffect","PropTypes","classnames","Link","MdKeyboardArrowLeft","buildAdminHref","setBlazeDebug","DEBUG_LOGO","DebugSidebar","itemEntity","itemId","debugMode","isDebugMode","setIsDebugMode","isOpen","setIsOpen","divClass","href","createElement","Fragment","className","src","SRC","alt","ALT","role","id","onClick","propTypes","string","bool","defaultProps"],"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 { buildAdminHref, setBlazeDebug } 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\n useEffect(() => {\n if (debugMode === true) {\n setIsDebugMode(debugMode);\n } else setBlazeDebug(setIsDebugMode);\n }, [debugMode]);\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 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 <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":"AAAA,OAAOA,KAAK,IAAIC,QAAQ,EAAEC,SAAS,QAAQ,OAAO;AAClD,OAAOC,SAAS,MAAM,YAAY;AAClC,OAAOC,UAAU,MAAM,YAAY;AACnC,SAASC,IAAI,QAAQ,8BAA8B;AACnD,SAASC,mBAAmB,QAAQ,gBAAgB;AACpD,SAASC,cAAc,EAAEC,aAAa,QAAQ,eAAe;AAC7D,SAASC,UAAU,QAAQ,iBAAiB;AAE5C,MAAMC,YAAY,GAAGA,CAAC;EAAEC,UAAU;EAAEC,MAAM;EAAEC;AAAU,CAAC,KAAK;EAC1D,MAAM,CAACC,WAAW,EAAEC,cAAc,CAAC,GAAGd,QAAQ,CAACY,SAAS,CAAC;EACzD,MAAM,CAACG,MAAM,EAAEC,SAAS,CAAC,GAAGhB,QAAQ,CAAC,IAAI,CAAC;EAE1CC,SAAS,CAAC,MAAM;IACd,IAAIW,SAAS,KAAK,IAAI,EAAE;MACtBE,cAAc,CAACF,SAAS,CAAC;IAC3B,CAAC,MAAML,aAAa,CAACO,cAAc,CAAC;EACtC,CAAC,EAAE,CAACF,SAAS,CAAC,CAAC;EAEf,MAAMK,QAAQ,GAAGd,UAAU,CAAC,eAAe,EAAE;IAC3C,qBAAqB,EAAEY,MAAM;IAC7B,sBAAsB,EAAE,CAACA;EAC3B,CAAC,CAAC;EAEF,MAAMG,IAAI,GAAGZ,cAAc,CAAC;IAAEI,UAAU;IAAEC;EAAO,CAAC,CAAC;EAEnD,oBACEZ,KAAA,CAAAoB,aAAA,CAAApB,KAAA,CAAAqB,QAAA,QACGP,WAAW,gBACVd,KAAA,CAAAoB,aAAA;IAAKE,SAAS,EAAEJ,QAAS;IAAC,eAAY;EAAe,gBACnDlB,KAAA,CAAAoB,aAAA,CAACf,IAAI;IAACc,IAAI,EAAEA;EAAK,gBACfnB,KAAA,CAAAoB,aAAA;IAAKG,GAAG,EAAEd,UAAU,CAACe,GAAI;IAACC,GAAG,EAAEhB,UAAU,CAACiB;EAAI,CAAE,CAAC,eACjD1B,KAAA,CAAAoB,aAAA,eAAM,aAAiB,CACnB,CAAC,eACPpB,KAAA,CAAAoB,aAAA;IACEO,IAAI,EAAC,QAAQ;IACbL,SAAS,EAAC,4BAA4B;IACtC,eAAY,sBAAsB;IAClCM,EAAE,EAAC,sBAAsB;IACzBC,OAAO,EAAEA,CAAA,KAAMZ,SAAS,CAAC,CAACD,MAAM;EAAE,gBAClChB,KAAA,CAAAoB,aAAA,yBACEpB,KAAA,CAAAoB,aAAA,CAACd,mBAAmB,MAAE,CACrB,CACA,CACF,CAAC,GACJ,IACJ,CAAC;AAEP,CAAC;AAEDI,YAAY,CAACoB,SAAS,GAAG;EACvBnB,UAAU,EAAER,SAAS,CAAC4B,MAAM;EAC5BnB,MAAM,EAAET,SAAS,CAAC4B,MAAM;EACxBlB,SAAS,EAAEV,SAAS,CAAC6B;AACvB,CAAC;AAEDtB,YAAY,CAACuB,YAAY,GAAG;EAC1BtB,UAAU,EAAE,EAAE;EACdC,MAAM,EAAE,EAAE;EACVC,SAAS,EAAE;AACb,CAAC;AAED,eAAeH,YAAY","ignoreList":[]}
@@ -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, BLAZE_X_FRAME_OPTIONS_DEFAULT } from '../constants';
7
+ import { HTTPS, DOUBLE_SLASH, COLON, NOT_FOUND_STATUS_CODE, BLAZE_X_FRAME_OPTIONS_DEFAULT, ROUTE_REGEX } from '../constants';
8
8
  import { checkUrlQuery } from '../application/query';
9
9
  import checkParent from './check-parent';
10
10
  import checkPreviewUrl from './check-preview-url';
@@ -105,6 +105,9 @@ const doUrlCheck = async ({
105
105
  blazeApp
106
106
  }) => {
107
107
  try {
108
+ if (!ROUTE_REGEX.test(url)) {
109
+ throw Error('Invalid URL');
110
+ }
108
111
  const {
109
112
  data: {
110
113
  checkUrl: {
@@ -132,10 +135,7 @@ const doUrlCheck = async ({
132
135
  const queryString = asPath.split('?')[1];
133
136
  redirectUrl = queryString ? `${urlTo}?${queryString}` : urlTo;
134
137
  }
135
- doRedirect(res, redirectUrl);
136
- return {
137
- redirecting: true
138
- };
138
+ return doRedirect(res, redirectUrl);
139
139
  }
140
140
  const rootSelectorClasses = getRootSelectorClasses(url, getRootClassesLimit());
141
141
  return {
@@ -145,13 +145,12 @@ const doUrlCheck = async ({
145
145
  itemEntity: getUnpublishedEntityName(itemEntity)
146
146
  };
147
147
  } catch (err) {
148
- if (err.networkError) {
148
+ if (!err.graphQLErrors || !err.graphQLErrors.length) {
149
149
  return handleError(err, res, handle404Error, blazeApp);
150
150
  }
151
151
  const parentPATH = checkParent(url);
152
152
  if (handle404Error && parentPATH) {
153
- doRedirect(res, parentPATH);
154
- return handle404Error ? {} : null;
153
+ return doRedirect(res, parentPATH);
155
154
  }
156
155
  return handleError(err, res, handle404Error, blazeApp);
157
156
  }
@@ -184,6 +183,9 @@ function doRedirect(res, redirectUrl) {
184
183
  } else {
185
184
  window.location.href = redirectUrl;
186
185
  }
186
+ return {
187
+ redirecting: true
188
+ };
187
189
  }
188
190
  export default checkUrl;
189
191
  //# sourceMappingURL=check-url.js.map
@@ -1 +1 @@
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","doRedirect","redirecting","err","networkError","handleError","parentPATH","events","emit","error","writeHead","write","end","graphQLErrors","statusCode","errorCode","Location","href"],"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 || 1);\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: { checkUrl: { itemId, itemEntity, urlTo, pageData = {} } = {} } = {}\n } = await apolloClient.query({\n query: checkUrlQuery,\n variables: { url }\n });\n\n const { cacheControlMaxAge = null } = pageData || {};\n\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 doRedirect(res, redirectUrl);\n return { redirecting: true };\n }\n const rootSelectorClasses = getRootSelectorClasses(url, getRootClassesLimit());\n return {\n pageData,\n rootSelectorClasses,\n itemId,\n itemEntity: getUnpublishedEntityName(itemEntity)\n };\n } catch (err) {\n if (err.networkError) {\n return handleError(err, res, handle404Error, blazeApp);\n }\n\n const parentPATH = checkParent(url);\n if (handle404Error && parentPATH) {\n doRedirect(res, parentPATH);\n return handle404Error ? {} : null;\n }\n\n return handleError(err, res, handle404Error, blazeApp);\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};\n\nfunction doRedirect(res, redirectUrl) {\n if (res) {\n res.writeHead(301, { Location: redirectUrl });\n res.end();\n } else {\n window.location.href = redirectUrl;\n }\n}\n\nexport default checkUrl;\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"check-url.js","names":["parseUrl","getUnpublishedEntityName","checkAccessToken","HTTPS","DOUBLE_SLASH","COLON","NOT_FOUND_STATUS_CODE","BLAZE_X_FRAME_OPTIONS_DEFAULT","ROUTE_REGEX","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","test","Error","data","itemId","itemEntity","urlTo","variables","cacheControlMaxAge","redirectUrl","BLAZE_DISABLE_REDIRECT_WITH_QUERY","queryString","split","doRedirect","err","graphQLErrors","handleError","parentPATH","events","emit","error","networkError","writeHead","write","end","statusCode","errorCode","Location","href","redirecting"],"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 ROUTE_REGEX\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 || 1);\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 if (!ROUTE_REGEX.test(url)) {\n throw Error('Invalid URL');\n }\n const { data: { checkUrl: { itemId, itemEntity, urlTo, pageData = {} } = {} } = {} } =\n await apolloClient.query({\n query: checkUrlQuery,\n variables: { url }\n });\n\n const { cacheControlMaxAge = null } = pageData || {};\n\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 return doRedirect(res, redirectUrl);\n }\n const rootSelectorClasses = getRootSelectorClasses(url, getRootClassesLimit());\n return {\n pageData,\n rootSelectorClasses,\n itemId,\n itemEntity: getUnpublishedEntityName(itemEntity)\n };\n } catch (err) {\n if (!err.graphQLErrors || !err.graphQLErrors.length) {\n return handleError(err, res, handle404Error, blazeApp);\n }\n\n const parentPATH = checkParent(url);\n if (handle404Error && parentPATH) {\n return doRedirect(res, parentPATH);\n }\n\n return handleError(err, res, handle404Error, blazeApp);\n }\n};\n\nconst handleError = (err, res, handle404Error, blazeApp) => {\n blazeApp.events.emit('monitor:log', { error: err });\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};\n\nfunction doRedirect(res, redirectUrl) {\n if (res) {\n res.writeHead(301, { Location: redirectUrl });\n res.end();\n } else {\n window.location.href = redirectUrl;\n }\n\n return { redirecting: true };\n}\n\nexport default checkUrl;\n"],"mappings":"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","ignoreList":[]}
package/lib-es/index.js CHANGED
@@ -5,5 +5,5 @@ export { MainContext, MainContextProvider } from '@blaze-cms/nextjs-components';
5
5
  export { default as withBlaze } from './hoc/withBlaze';
6
6
  export { default as Resolver } from './pages/Resolver';
7
7
  export { default as BlazeDocument } from './pages/document/_document';
8
- export { default as router } from './server/routes';
8
+ // export { default as router } from './server/routes';
9
9
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["reactApollo","SearchPublishedContent","MainContext","MainContextProvider","default","withBlaze","Resolver","BlazeDocument","router"],"sources":["../src/index.js"],"sourcesContent":["import * as reactApollo from '@apollo/client';\n\nexport { reactApollo };\nexport { SearchPublishedContent } from '@blaze-cms/plugin-search-ui';\nexport { MainContext, MainContextProvider } from '@blaze-cms/nextjs-components';\nexport { default as withBlaze } from './hoc/withBlaze';\nexport { default as Resolver } from './pages/Resolver';\nexport { default as BlazeDocument } from './pages/document/_document';\nexport { default as router } from './server/routes';\n"],"mappings":"AAAA,OAAO,KAAKA,WAAW,MAAM,gBAAgB;AAE7C,SAASA,WAAW;AACpB,SAASC,sBAAsB,QAAQ,6BAA6B;AACpE,SAASC,WAAW,EAAEC,mBAAmB,QAAQ,8BAA8B;AAC/E,SAASC,OAAO,IAAIC,SAAS,QAAQ,iBAAiB;AACtD,SAASD,OAAO,IAAIE,QAAQ,QAAQ,kBAAkB;AACtD,SAASF,OAAO,IAAIG,aAAa,QAAQ,4BAA4B;AACrE,SAASH,OAAO,IAAII,MAAM,QAAQ,iBAAiB","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["reactApollo","SearchPublishedContent","MainContext","MainContextProvider","default","withBlaze","Resolver","BlazeDocument"],"sources":["../src/index.js"],"sourcesContent":["import * as reactApollo from '@apollo/client';\n\nexport { reactApollo };\nexport { SearchPublishedContent } from '@blaze-cms/plugin-search-ui';\nexport { MainContext, MainContextProvider } from '@blaze-cms/nextjs-components';\nexport { default as withBlaze } from './hoc/withBlaze';\nexport { default as Resolver } from './pages/Resolver';\nexport { default as BlazeDocument } from './pages/document/_document';\n// export { default as router } from './server/routes';\n"],"mappings":"AAAA,OAAO,KAAKA,WAAW,MAAM,gBAAgB;AAE7C,SAASA,WAAW;AACpB,SAASC,sBAAsB,QAAQ,6BAA6B;AACpE,SAASC,WAAW,EAAEC,mBAAmB,QAAQ,8BAA8B;AAC/E,SAASC,OAAO,IAAIC,SAAS,QAAQ,iBAAiB;AACtD,SAASD,OAAO,IAAIE,QAAQ,QAAQ,kBAAkB;AACtD,SAASF,OAAO,IAAIG,aAAa,QAAQ,4BAA4B;AACrE","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"Resolver.js","names":["React","NextError","useRouter","PropTypes","DebugSidebar","checkUrl","ContentContainer","NOT_FOUND_STATUS_CODE","RESOLVER_CONTAINER_CLASS","Resolver","props","pageData","itemId","itemEntity","isStatusPage","fullUrl","disableSsr","rootSelectorClasses","isPreview","errorCode","errorMessage","redirecting","router","window","asPath","location","hash","url","URL","href","searchParams","set","Date","now","push","createElement","Fragment","className","statusCode","title","getInitialProps","propTypes","string","object","bool","number","defaultProps"],"sources":["../../src/pages/Resolver.js"],"sourcesContent":["import React from 'react';\nimport NextError from 'next/error';\nimport { useRouter } from 'next/router';\nimport PropTypes from 'prop-types';\nimport { DebugSidebar } from '../components';\nimport { checkUrl } from '../helpers';\nimport { ContentContainer } from '../containers';\nimport { NOT_FOUND_STATUS_CODE, RESOLVER_CONTAINER_CLASS } from '../constants';\n\nconst Resolver = props => {\n const {\n pageData,\n itemId,\n itemEntity,\n isStatusPage,\n fullUrl,\n disableSsr,\n rootSelectorClasses = RESOLVER_CONTAINER_CLASS,\n isPreview = false,\n errorCode = NOT_FOUND_STATUS_CODE,\n errorMessage = null,\n redirecting = false\n } = props;\n\n const router = useRouter();\n\n if (disableSsr) {\n if (typeof window !== 'undefined') {\n let { asPath } = router;\n if (window.location.hash) {\n // handle nextjs issue not calling getInitialProps if pushing a url with a hash in it\n // we add a new query string param to force calling getInitialProps\n // this should only happen if disableSsr and window.location.hash\n const url = new URL(router.asPath, window.location.href);\n if (url.hash) url.searchParams.set('_h', Date.now());\n asPath = url;\n }\n router.push('/Resolver', asPath);\n }\n return '';\n }\n\n if (redirecting) return null;\n\n if (isStatusPage) return 'OK';\n\n if (!pageData || !itemId || !itemEntity) {\n return (\n <>\n <div className=\"next_error\">\n <NextError statusCode={errorCode} title={errorMessage} />\n </div>\n <DebugSidebar itemId={itemId} itemEntity={itemEntity} />\n </>\n );\n }\n\n return (\n <div className={rootSelectorClasses}>\n <ContentContainer\n pageData={pageData}\n itemId={itemId}\n itemEntity={itemEntity}\n isPreview={isPreview}\n fullUrl={fullUrl}\n />\n\n <DebugSidebar itemId={itemId} itemEntity={itemEntity} />\n </div>\n );\n};\n\nResolver.getInitialProps = async props => checkUrl(props);\n\nResolver.propTypes = {\n itemId: PropTypes.string,\n itemEntity: PropTypes.string,\n pageData: PropTypes.object,\n isStatusPage: PropTypes.bool,\n fullUrl: PropTypes.string,\n isPreview: PropTypes.bool,\n errorCode: PropTypes.number,\n disableSsr: PropTypes.bool,\n errorMessage: PropTypes.string,\n rootSelectorClasses: PropTypes.string,\n redirecting: PropTypes.bool\n};\n\nResolver.defaultProps = {\n itemId: null,\n itemEntity: null,\n pageData: null,\n isStatusPage: false,\n fullUrl: '',\n isPreview: false,\n errorCode: NOT_FOUND_STATUS_CODE,\n disableSsr: false,\n errorMessage: null,\n rootSelectorClasses: RESOLVER_CONTAINER_CLASS,\n redirecting: false\n};\n\nexport default Resolver;\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"Resolver.js","names":["React","NextError","useRouter","PropTypes","DebugSidebar","checkUrl","ContentContainer","NOT_FOUND_STATUS_CODE","RESOLVER_CONTAINER_CLASS","Resolver","props","pageData","itemId","itemEntity","isStatusPage","fullUrl","disableSsr","rootSelectorClasses","isPreview","errorCode","errorMessage","redirecting","router","window","asPath","location","hash","url","URL","href","searchParams","set","Date","now","push","createElement","Fragment","className","statusCode","title","getInitialProps","propTypes","string","object","bool","number","defaultProps"],"sources":["../../src/pages/Resolver.js"],"sourcesContent":["import React from 'react';\nimport NextError from 'next/error';\nimport { useRouter } from 'next/router';\nimport PropTypes from 'prop-types';\nimport { DebugSidebar } from '../components';\nimport { checkUrl } from '../helpers';\nimport { ContentContainer } from '../containers';\nimport { NOT_FOUND_STATUS_CODE, RESOLVER_CONTAINER_CLASS } from '../constants';\n\nconst Resolver = props => {\n const {\n pageData,\n itemId,\n itemEntity,\n isStatusPage,\n fullUrl,\n disableSsr,\n rootSelectorClasses = RESOLVER_CONTAINER_CLASS,\n isPreview = false,\n errorCode = NOT_FOUND_STATUS_CODE,\n errorMessage = null,\n redirecting = false\n } = props;\n\n const router = useRouter();\n\n if (disableSsr) {\n if (typeof window !== 'undefined') {\n let { asPath } = router;\n if (window.location.hash) {\n // handle nextjs issue not calling getInitialProps if pushing a url with a hash in it\n // we add a new query string param to force calling getInitialProps\n // this should only happen if disableSsr and window.location.hash\n const url = new URL(router.asPath, window.location.href);\n if (url.hash) url.searchParams.set('_h', Date.now());\n asPath = url;\n }\n\n router.push('/Resolver', asPath);\n }\n return '';\n }\n\n if (redirecting) return null;\n\n if (isStatusPage) return 'OK';\n\n if (!pageData || !itemId || !itemEntity) {\n return (\n <>\n <div className=\"next_error\">\n <NextError statusCode={errorCode} title={errorMessage} />\n </div>\n <DebugSidebar itemId={itemId} itemEntity={itemEntity} />\n </>\n );\n }\n\n return (\n <div className={rootSelectorClasses}>\n <ContentContainer\n pageData={pageData}\n itemId={itemId}\n itemEntity={itemEntity}\n isPreview={isPreview}\n fullUrl={fullUrl}\n />\n <DebugSidebar itemId={itemId} itemEntity={itemEntity} />\n </div>\n );\n};\n\nResolver.getInitialProps = async props => checkUrl(props);\n\nResolver.propTypes = {\n itemId: PropTypes.string,\n itemEntity: PropTypes.string,\n pageData: PropTypes.object,\n isStatusPage: PropTypes.bool,\n fullUrl: PropTypes.string,\n isPreview: PropTypes.bool,\n errorCode: PropTypes.number,\n disableSsr: PropTypes.bool,\n errorMessage: PropTypes.string,\n rootSelectorClasses: PropTypes.string,\n redirecting: PropTypes.bool\n};\n\nResolver.defaultProps = {\n itemId: null,\n itemEntity: null,\n pageData: null,\n isStatusPage: false,\n fullUrl: '',\n isPreview: false,\n errorCode: NOT_FOUND_STATUS_CODE,\n disableSsr: false,\n errorMessage: null,\n rootSelectorClasses: RESOLVER_CONTAINER_CLASS,\n redirecting: false\n};\n\nexport default Resolver;\n"],"mappings":"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","ignoreList":[]}
@@ -1,17 +1,14 @@
1
1
  import React from 'react';
2
2
  import PropTypes from 'prop-types';
3
3
  import Document, { Html, Head } from 'next/document';
4
+ // import Head from 'next/head';
4
5
  import DocumentBody from './DocumentBody';
5
6
  import { renderAppleTags } from '../../helpers';
6
7
  const BlazeDocument = ({
7
8
  children
8
9
  }) => /*#__PURE__*/React.createElement(Html, {
9
10
  lang: "en"
10
- }, /*#__PURE__*/React.createElement(Head, null, /*#__PURE__*/React.createElement("link", {
11
- rel: "icon",
12
- href: "/static/img/favicon.png",
13
- type: "image/x-icon"
14
- }), renderAppleTags()), children);
11
+ }, /*#__PURE__*/React.createElement(Head, null, renderAppleTags()), children);
15
12
  BlazeDocument.Document = Document;
16
13
  BlazeDocument.Body = DocumentBody;
17
14
  BlazeDocument.propTypes = {
@@ -1 +1 @@
1
- {"version":3,"file":"_document.js","names":["React","PropTypes","Document","Html","Head","DocumentBody","renderAppleTags","BlazeDocument","children","createElement","lang","rel","href","type","Body","propTypes","object","isRequired"],"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,OAAOA,KAAK,MAAM,OAAO;AACzB,OAAOC,SAAS,MAAM,YAAY;AAClC,OAAOC,QAAQ,IAAIC,IAAI,EAAEC,IAAI,QAAQ,eAAe;AACpD,OAAOC,YAAY,MAAM,gBAAgB;AACzC,SAASC,eAAe,QAAQ,eAAe;AAE/C,MAAMC,aAAa,GAAGA,CAAC;EAAEC;AAAS,CAAC,kBACjCR,KAAA,CAAAS,aAAA,CAACN,IAAI;EAACO,IAAI,EAAC;AAAI,gBACbV,KAAA,CAAAS,aAAA,CAACL,IAAI,qBACHJ,KAAA,CAAAS,aAAA;EAAME,GAAG,EAAC,MAAM;EAACC,IAAI,EAAC,yBAAyB;EAACC,IAAI,EAAC;AAAc,CAAE,CAAC,EACrEP,eAAe,CAAC,CACb,CAAC,EACNE,QACG,CACP;AAEDD,aAAa,CAACL,QAAQ,GAAGA,QAAQ;AACjCK,aAAa,CAACO,IAAI,GAAGT,YAAY;AAEjCE,aAAa,CAACQ,SAAS,GAAG;EACxBP,QAAQ,EAAEP,SAAS,CAACe,MAAM,CAACC;AAC7B,CAAC;AAED,eAAeV,aAAa","ignoreList":[]}
1
+ {"version":3,"file":"_document.js","names":["React","PropTypes","Document","Html","Head","DocumentBody","renderAppleTags","BlazeDocument","children","createElement","lang","Body","propTypes","object","isRequired"],"sources":["../../../src/pages/document/_document.js"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport Document, { Html, Head } from 'next/document';\n// import Head from 'next/head';\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,OAAOA,KAAK,MAAM,OAAO;AACzB,OAAOC,SAAS,MAAM,YAAY;AAClC,OAAOC,QAAQ,IAAIC,IAAI,EAAEC,IAAI,QAAQ,eAAe;AACpD;AACA,OAAOC,YAAY,MAAM,gBAAgB;AACzC,SAASC,eAAe,QAAQ,eAAe;AAE/C,MAAMC,aAAa,GAAGA,CAAC;EAAEC;AAAS,CAAC,kBACjCR,KAAA,CAAAS,aAAA,CAACN,IAAI;EAACO,IAAI,EAAC;AAAI,gBACbV,KAAA,CAAAS,aAAA,CAACL,IAAI,QAEFE,eAAe,CAAC,CACb,CAAC,EACNE,QACG,CACP;AAEDD,aAAa,CAACL,QAAQ,GAAGA,QAAQ;AACjCK,aAAa,CAACI,IAAI,GAAGN,YAAY;AAEjCE,aAAa,CAACK,SAAS,GAAG;EACxBJ,QAAQ,EAAEP,SAAS,CAACY,MAAM,CAACC;AAC7B,CAAC;AAED,eAAeP,aAAa","ignoreList":[]}
@@ -1,11 +1,12 @@
1
1
  const {
2
2
  createServer
3
3
  } = require('http');
4
- const Router = require('./routes');
5
4
  const port = parseInt(process.env.PORT, 10) || 3000;
6
- async function prepareServer(nextApp) {
7
- const handler = Router.getRequestHandler(nextApp);
8
- await nextApp.prepare();
5
+ async function prepareServer(app) {
6
+ // eslint-disable-next-line no-console
7
+ console.warn('server.js is deprecated. Run directly with "next" cli instead.');
8
+ const handler = app.getRequestHandler();
9
+ await app.prepare();
9
10
  return {
10
11
  run: () => createServer(handler).listen(port),
11
12
  handler
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["createServer","require","Router","port","parseInt","process","env","PORT","prepareServer","nextApp","handler","getRequestHandler","prepare","run","listen","module","exports"],"sources":["../../src/server/index.js"],"sourcesContent":["const { createServer } = require('http');\nconst Router = require('./routes');\n\nconst port = parseInt(process.env.PORT, 10) || 3000;\n\nasync function prepareServer(nextApp) {\n const handler = Router.getRequestHandler(nextApp);\n\n await nextApp.prepare();\n\n return { run: () => createServer(handler).listen(port), handler };\n}\n\nmodule.exports = prepareServer;\n"],"mappings":"AAAA,MAAM;EAAEA;AAAa,CAAC,GAAGC,OAAO,CAAC,MAAM,CAAC;AACxC,MAAMC,MAAM,GAAGD,OAAO,CAAC,UAAU,CAAC;AAElC,MAAME,IAAI,GAAGC,QAAQ,CAACC,OAAO,CAACC,GAAG,CAACC,IAAI,EAAE,EAAE,CAAC,IAAI,IAAI;AAEnD,eAAeC,aAAaA,CAACC,OAAO,EAAE;EACpC,MAAMC,OAAO,GAAGR,MAAM,CAACS,iBAAiB,CAACF,OAAO,CAAC;EAEjD,MAAMA,OAAO,CAACG,OAAO,CAAC,CAAC;EAEvB,OAAO;IAAEC,GAAG,EAAEA,CAAA,KAAMb,YAAY,CAACU,OAAO,CAAC,CAACI,MAAM,CAACX,IAAI,CAAC;IAAEO;EAAQ,CAAC;AACnE;AAEAK,MAAM,CAACC,OAAO,GAAGR,aAAa","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["createServer","require","port","parseInt","process","env","PORT","prepareServer","app","console","warn","handler","getRequestHandler","prepare","run","listen","module","exports"],"sources":["../../src/server/index.js"],"sourcesContent":["const { createServer } = require('http');\n\nconst port = parseInt(process.env.PORT, 10) || 3000;\n\nasync function prepareServer(app) {\n // eslint-disable-next-line no-console\n console.warn('server.js is deprecated. Run directly with \"next\" cli instead.');\n const handler = app.getRequestHandler();\n\n await app.prepare();\n\n return { run: () => createServer(handler).listen(port), handler };\n}\n\nmodule.exports = prepareServer;\n"],"mappings":"AAAA,MAAM;EAAEA;AAAa,CAAC,GAAGC,OAAO,CAAC,MAAM,CAAC;AAExC,MAAMC,IAAI,GAAGC,QAAQ,CAACC,OAAO,CAACC,GAAG,CAACC,IAAI,EAAE,EAAE,CAAC,IAAI,IAAI;AAEnD,eAAeC,aAAaA,CAACC,GAAG,EAAE;EAChC;EACAC,OAAO,CAACC,IAAI,CAAC,gEAAgE,CAAC;EAC9E,MAAMC,OAAO,GAAGH,GAAG,CAACI,iBAAiB,CAAC,CAAC;EAEvC,MAAMJ,GAAG,CAACK,OAAO,CAAC,CAAC;EAEnB,OAAO;IAAEC,GAAG,EAAEA,CAAA,KAAMd,YAAY,CAACW,OAAO,CAAC,CAACI,MAAM,CAACb,IAAI,CAAC;IAAES;EAAQ,CAAC;AACnE;AAEAK,MAAM,CAACC,OAAO,GAAGV,aAAa","ignoreList":[]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@blaze-cms/nextjs-tools",
3
- "version": "0.146.0-core-styles.45",
3
+ "version": "0.146.0-node18-core-styles.0",
4
4
  "description": "Blaze nextjs tools",
5
5
  "main": "lib/index.js",
6
6
  "module": "lib-es/index.js",
@@ -10,15 +10,15 @@
10
10
  },
11
11
  "scripts": {
12
12
  "test": "jest",
13
- "lint": "yarn run lint:js",
13
+ "lint": "npm run lint:js",
14
14
  "lint:js": "eslint .",
15
15
  "clean": "rm -Rf ./lib/ && rm -Rf ./lib-es/",
16
16
  "build:cjs": "BABEL_ENV=cjs ../../node_modules/.bin/babel ./src --out-dir ./lib --source-maps --root-mode upward",
17
17
  "build:esm": "BABEL_ENV=esm ../../node_modules/.bin/babel ./src --out-dir ./lib-es --source-maps --root-mode upward",
18
- "build": "yarn run build:cjs && yarn run build:esm",
19
- "build:clean": "yarn run clean && yarn run build",
20
- "prepublishOnly": "yarn run build:clean",
21
- "postpublish": "yarn run clean"
18
+ "build": "npm run build:cjs && npm run build:esm",
19
+ "build:clean": "npm run clean && npm run build",
20
+ "prepublishOnly": "npm run build:clean",
21
+ "postpublish": "npm run clean"
22
22
  },
23
23
  "author": {
24
24
  "email": "hello@thebyte9.com",
@@ -27,26 +27,26 @@
27
27
  },
28
28
  "license": "GPL-3.0",
29
29
  "dependencies": {
30
- "@apollo/client": "3.5.x",
31
- "@blaze-cms/core-auth-ui": "0.146.0-core-styles.41",
32
- "@blaze-cms/core-errors": "0.146.0-core-styles.41",
33
- "@blaze-cms/core-errors-ui": "0.145.1-core-styles.0",
34
- "@blaze-cms/core-ui": "0.146.0-core-styles.41",
35
- "@blaze-cms/nextjs-components": "0.146.0-core-styles.42",
36
- "@blaze-cms/plugin-auth-fe": "0.146.0-core-styles.45",
37
- "@blaze-cms/plugin-auth-local-fe": "0.146.0-core-styles.45",
38
- "@blaze-cms/plugin-google-maps-fe": "0.146.0-core-styles.45",
39
- "@blaze-cms/plugin-gtm-fe": "0.146.0-core-styles.45",
40
- "@blaze-cms/plugin-page-builder-fe": "0.146.0-core-styles.45",
41
- "@blaze-cms/plugin-preview-fe": "0.146.0-core-styles.41",
42
- "@blaze-cms/plugin-search-ui": "0.146.0-core-styles.45",
43
- "@blaze-cms/plugin-structured-data-fe": "0.145.1-core-styles.0",
44
- "@blaze-cms/react-page-builder": "0.146.0-core-styles.45",
45
- "@blaze-cms/setup-ui": "0.145.1-core-styles.0",
30
+ "@apollo/client": "^3.9.2",
31
+ "@blaze-cms/core-auth-ui": "0.146.0-node18-core-styles.0",
32
+ "@blaze-cms/core-errors": "0.146.0-node18-core-styles.0",
33
+ "@blaze-cms/core-errors-ui": "0.146.0-node18-core-styles.0",
34
+ "@blaze-cms/core-ui": "0.146.0-node18-core-styles.0",
35
+ "@blaze-cms/nextjs-components": "0.146.0-node18-core-styles.0",
36
+ "@blaze-cms/plugin-auth-fe": "0.146.0-node18-core-styles.0",
37
+ "@blaze-cms/plugin-auth-local-fe": "0.146.0-node18-core-styles.0",
38
+ "@blaze-cms/plugin-google-maps-fe": "0.146.0-node18-core-styles.0",
39
+ "@blaze-cms/plugin-gtm-fe": "0.146.0-node18-core-styles.0",
40
+ "@blaze-cms/plugin-page-builder-fe": "0.146.0-node18-core-styles.0",
41
+ "@blaze-cms/plugin-preview-fe": "0.146.0-node18-core-styles.0",
42
+ "@blaze-cms/plugin-search-ui": "0.146.0-node18-core-styles.0",
43
+ "@blaze-cms/plugin-structured-data-fe": "0.146.0-node18-core-styles.0",
44
+ "@blaze-cms/react-page-builder": "0.146.0-node18-core-styles.0",
45
+ "@blaze-cms/setup-ui": "0.146.0-node18-core-styles.0",
46
46
  "autoprefixer": "^10.2.3",
47
47
  "core-js": "^3.2.1",
48
48
  "cross-fetch": "^3.0.2",
49
- "graphql": "^16.2.0",
49
+ "graphql": "^15.2.0",
50
50
  "jsonwebtoken": "^8.5.1",
51
51
  "nextjs-dynamic-routes": "^2.5.1",
52
52
  "postcss": "8.2.8",
@@ -58,9 +58,9 @@
58
58
  "sass": "1.32.8"
59
59
  },
60
60
  "peerDependencies": {
61
- "next": "12.x",
61
+ "next": "14.1.0",
62
62
  "prop-types": "^15.7.2",
63
- "react": "^17.0.2"
63
+ "react": "^18.2.0"
64
64
  },
65
65
  "devDependencies": {
66
66
  "nock": "^13.0.5"
@@ -69,5 +69,5 @@
69
69
  "lib/*",
70
70
  "lib-es/*"
71
71
  ],
72
- "gitHead": "01005273be941f3c0e666090bbe6fbca8afa41ba"
72
+ "gitHead": "427fe2224b796b997a7e9a302e8497b099558db7"
73
73
  }
@@ -10,14 +10,11 @@ const DebugSidebar = ({ itemEntity, itemId, debugMode }) => {
10
10
  const [isDebugMode, setIsDebugMode] = useState(debugMode);
11
11
  const [isOpen, setIsOpen] = useState(true);
12
12
 
13
- useEffect(
14
- () => {
15
- if (debugMode === true) {
16
- setIsDebugMode(debugMode);
17
- } else setBlazeDebug(setIsDebugMode);
18
- },
19
- [debugMode]
20
- );
13
+ useEffect(() => {
14
+ if (debugMode === true) {
15
+ setIsDebugMode(debugMode);
16
+ } else setBlazeDebug(setIsDebugMode);
17
+ }, [debugMode]);
21
18
 
22
19
  const divClass = classnames('debug-sidebar', {
23
20
  'debug-sidebar--open': isOpen,
@@ -6,7 +6,8 @@ import {
6
6
  DOUBLE_SLASH,
7
7
  COLON,
8
8
  NOT_FOUND_STATUS_CODE,
9
- BLAZE_X_FRAME_OPTIONS_DEFAULT
9
+ BLAZE_X_FRAME_OPTIONS_DEFAULT,
10
+ ROUTE_REGEX
10
11
  } from '../constants';
11
12
  import { checkUrlQuery } from '../application/query';
12
13
  import checkParent from './check-parent';
@@ -89,12 +90,14 @@ const getFullUrl = (req, asPath) => {
89
90
 
90
91
  const doUrlCheck = async ({ asPath, url, apolloClient, res, handle404Error, blazeApp }) => {
91
92
  try {
92
- const {
93
- data: { checkUrl: { itemId, itemEntity, urlTo, pageData = {} } = {} } = {}
94
- } = await apolloClient.query({
95
- query: checkUrlQuery,
96
- variables: { url }
97
- });
93
+ if (!ROUTE_REGEX.test(url)) {
94
+ throw Error('Invalid URL');
95
+ }
96
+ const { data: { checkUrl: { itemId, itemEntity, urlTo, pageData = {} } = {} } = {} } =
97
+ await apolloClient.query({
98
+ query: checkUrlQuery,
99
+ variables: { url }
100
+ });
98
101
 
99
102
  const { cacheControlMaxAge = null } = pageData || {};
100
103
 
@@ -109,8 +112,7 @@ const doUrlCheck = async ({ asPath, url, apolloClient, res, handle404Error, blaz
109
112
  redirectUrl = queryString ? `${urlTo}?${queryString}` : urlTo;
110
113
  }
111
114
 
112
- doRedirect(res, redirectUrl);
113
- return { redirecting: true };
115
+ return doRedirect(res, redirectUrl);
114
116
  }
115
117
  const rootSelectorClasses = getRootSelectorClasses(url, getRootClassesLimit());
116
118
  return {
@@ -120,14 +122,13 @@ const doUrlCheck = async ({ asPath, url, apolloClient, res, handle404Error, blaz
120
122
  itemEntity: getUnpublishedEntityName(itemEntity)
121
123
  };
122
124
  } catch (err) {
123
- if (err.networkError) {
125
+ if (!err.graphQLErrors || !err.graphQLErrors.length) {
124
126
  return handleError(err, res, handle404Error, blazeApp);
125
127
  }
126
128
 
127
129
  const parentPATH = checkParent(url);
128
130
  if (handle404Error && parentPATH) {
129
- doRedirect(res, parentPATH);
130
- return handle404Error ? {} : null;
131
+ return doRedirect(res, parentPATH);
131
132
  }
132
133
 
133
134
  return handleError(err, res, handle404Error, blazeApp);
@@ -136,7 +137,6 @@ const doUrlCheck = async ({ asPath, url, apolloClient, res, handle404Error, blaz
136
137
 
137
138
  const handleError = (err, res, handle404Error, blazeApp) => {
138
139
  blazeApp.events.emit('monitor:log', { error: err });
139
-
140
140
  if (!res) return {};
141
141
  if (err.networkError) {
142
142
  res.writeHead(500, { 'Content-Type': 'text/plain' });
@@ -157,6 +157,8 @@ function doRedirect(res, redirectUrl) {
157
157
  } else {
158
158
  window.location.href = redirectUrl;
159
159
  }
160
+
161
+ return { redirecting: true };
160
162
  }
161
163
 
162
164
  export default checkUrl;
package/src/index.js CHANGED
@@ -6,4 +6,4 @@ export { MainContext, MainContextProvider } from '@blaze-cms/nextjs-components';
6
6
  export { default as withBlaze } from './hoc/withBlaze';
7
7
  export { default as Resolver } from './pages/Resolver';
8
8
  export { default as BlazeDocument } from './pages/document/_document';
9
- export { default as router } from './server/routes';
9
+ // export { default as router } from './server/routes';
@@ -35,6 +35,7 @@ const Resolver = props => {
35
35
  if (url.hash) url.searchParams.set('_h', Date.now());
36
36
  asPath = url;
37
37
  }
38
+
38
39
  router.push('/Resolver', asPath);
39
40
  }
40
41
  return '';
@@ -64,7 +65,6 @@ const Resolver = props => {
64
65
  isPreview={isPreview}
65
66
  fullUrl={fullUrl}
66
67
  />
67
-
68
68
  <DebugSidebar itemId={itemId} itemEntity={itemEntity} />
69
69
  </div>
70
70
  );
@@ -1,13 +1,14 @@
1
1
  import React from 'react';
2
2
  import PropTypes from 'prop-types';
3
3
  import Document, { Html, Head } from 'next/document';
4
+ // import Head from 'next/head';
4
5
  import DocumentBody from './DocumentBody';
5
6
  import { renderAppleTags } from '../../helpers';
6
7
 
7
8
  const BlazeDocument = ({ children }) => (
8
9
  <Html lang="en">
9
10
  <Head>
10
- <link rel="icon" href="/static/img/favicon.png" type="image/x-icon" />
11
+ {/* <link rel="icon" href="/static/img/favicon.png" type="image/x-icon" /> */}
11
12
  {renderAppleTags()}
12
13
  </Head>
13
14
  {children}
@@ -1,12 +1,13 @@
1
1
  const { createServer } = require('http');
2
- const Router = require('./routes');
3
2
 
4
3
  const port = parseInt(process.env.PORT, 10) || 3000;
5
4
 
6
- async function prepareServer(nextApp) {
7
- const handler = Router.getRequestHandler(nextApp);
5
+ async function prepareServer(app) {
6
+ // eslint-disable-next-line no-console
7
+ console.warn('server.js is deprecated. Run directly with "next" cli instead.');
8
+ const handler = app.getRequestHandler();
8
9
 
9
- await nextApp.prepare();
10
+ await app.prepare();
10
11
 
11
12
  return { run: () => createServer(handler).listen(port), handler };
12
13
  }
@@ -39,14 +39,12 @@ export const getStaticFileHandlerTests = (staticHandler, asPath, getVariables) =
39
39
  });
40
40
 
41
41
  describe('Standard', () => {
42
- const scope = nock(host)
43
- .get(path)
44
- .reply(200, responseText, {
45
- etag,
46
- 'content-length': contentLength,
47
- 'last-modified': lastModified,
48
- 'other-header': 'header'
49
- });
42
+ const scope = nock(host).get(path).reply(200, responseText, {
43
+ etag,
44
+ 'content-length': contentLength,
45
+ 'last-modified': lastModified,
46
+ 'other-header': 'header'
47
+ });
50
48
 
51
49
  beforeAll(async () => {
52
50
  await handler({ apolloClient, res, asPath });
@@ -82,9 +80,7 @@ export const getStaticFileHandlerTests = (staticHandler, asPath, getVariables) =
82
80
  });
83
81
 
84
82
  it('should not set headers if not present in file request', async () => {
85
- const scopeNoHeaders = nock(host)
86
- .get(path)
87
- .reply(200, responseText);
83
+ const scopeNoHeaders = nock(host).get(path).reply(200, responseText);
88
84
  res.setHeader.mockClear();
89
85
  await handler({ apolloClient, res, asPath });
90
86
  expect(scopeNoHeaders.isDone()).toEqual(true);
@@ -9,6 +9,9 @@ exports[`DebugSidebar component should render without throwing error (isDebugMod
9
9
  <a
10
10
  aria-label="Blaze admin"
11
11
  href="/"
12
+ />
13
+ <a
14
+ href="/"
12
15
  >
13
16
  <img
14
17
  alt="blaze-logo"
@@ -229,13 +229,15 @@ describe('Check url', () => {
229
229
 
230
230
  it('should handle redirect to parent on not found', async () => {
231
231
  apolloClient.query.mockImplementationOnce(async () => {
232
- throw new Error('Not found');
232
+ const error = new Error('Not found');
233
+ error.graphQLErrors = ['error'];
234
+ throw error;
233
235
  });
234
236
  const parentChildAsPath = '/parent/child';
235
237
  const result = await checkUrl({ ...props, asPath: parentChildAsPath });
236
238
  expect(res.writeHead).toHaveBeenCalledWith(301, { Location: '/parent' });
237
239
  expect(res.end).toHaveBeenCalled();
238
- redirectResultCheck(result, false);
240
+ redirectResultCheck(result, true);
239
241
  apolloQueryCheck(apolloClient, parentChildAsPath);
240
242
  });
241
243