@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.
- package/CHANGELOG.md +19 -200
- package/README.md +1 -1
- package/lib/components/DebugSidebar/index.js.map +1 -1
- package/lib/helpers/check-url.js +22 -16
- package/lib/helpers/check-url.js.map +1 -1
- package/lib/helpers/render-apple-tags.js +1 -0
- package/lib/helpers/render-apple-tags.js.map +1 -1
- package/lib/index.js +0 -7
- package/lib/index.js.map +1 -1
- package/lib/pages/Resolver.js.map +1 -1
- package/lib/pages/document/_document.js +3 -5
- package/lib/pages/document/_document.js.map +1 -1
- package/lib/server/index.js +8 -7
- package/lib/server/index.js.map +1 -1
- package/lib-es/components/DebugSidebar/index.js.map +1 -1
- package/lib-es/helpers/check-url.js +10 -8
- package/lib-es/helpers/check-url.js.map +1 -1
- package/lib-es/index.js +1 -1
- package/lib-es/index.js.map +1 -1
- package/lib-es/pages/Resolver.js.map +1 -1
- package/lib-es/pages/document/_document.js +2 -5
- package/lib-es/pages/document/_document.js.map +1 -1
- package/lib-es/server/index.js +5 -4
- package/lib-es/server/index.js.map +1 -1
- package/package.json +26 -26
- package/src/components/DebugSidebar/index.js +5 -8
- package/src/helpers/check-url.js +15 -13
- package/src/index.js +1 -1
- package/src/pages/Resolver.js +1 -1
- package/src/pages/document/_document.js +2 -1
- package/src/server/index.js +5 -4
- package/tests/helpers/tests/static-file-handler-tests.js +7 -11
- package/tests/unit/src/components/DebugSidebar/__snapshots__/DebugSidebar.test.js.snap +3 -0
- package/tests/unit/src/helpers/check-url.test.js +4 -2
- package/tests/unit/src/helpers/handle-static-routes.test.js +1 -1
- package/tests/unit/src/hoc/withBlaze.test.js +6 -6
package/lib/server/index.js
CHANGED
|
@@ -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(
|
|
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
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
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
|
|
31
|
+
case 5:
|
|
31
32
|
case "end":
|
|
32
33
|
return _context.stop();
|
|
33
34
|
}
|
package/lib/server/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["_require","require","createServer","
|
|
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(
|
|
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.
|
|
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
|
package/lib-es/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["reactApollo","SearchPublishedContent","MainContext","MainContextProvider","default","withBlaze","Resolver","BlazeDocument"
|
|
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
|
|
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,
|
|
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","
|
|
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":[]}
|
package/lib-es/server/index.js
CHANGED
|
@@ -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(
|
|
7
|
-
|
|
8
|
-
|
|
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","
|
|
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.
|
|
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": "
|
|
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": "
|
|
19
|
-
"build:clean": "
|
|
20
|
-
"prepublishOnly": "
|
|
21
|
-
"postpublish": "
|
|
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.
|
|
31
|
-
"@blaze-cms/core-auth-ui": "0.146.0-core-styles.
|
|
32
|
-
"@blaze-cms/core-errors": "0.146.0-core-styles.
|
|
33
|
-
"@blaze-cms/core-errors-ui": "0.
|
|
34
|
-
"@blaze-cms/core-ui": "0.146.0-core-styles.
|
|
35
|
-
"@blaze-cms/nextjs-components": "0.146.0-core-styles.
|
|
36
|
-
"@blaze-cms/plugin-auth-fe": "0.146.0-core-styles.
|
|
37
|
-
"@blaze-cms/plugin-auth-local-fe": "0.146.0-core-styles.
|
|
38
|
-
"@blaze-cms/plugin-google-maps-fe": "0.146.0-core-styles.
|
|
39
|
-
"@blaze-cms/plugin-gtm-fe": "0.146.0-core-styles.
|
|
40
|
-
"@blaze-cms/plugin-page-builder-fe": "0.146.0-core-styles.
|
|
41
|
-
"@blaze-cms/plugin-preview-fe": "0.146.0-core-styles.
|
|
42
|
-
"@blaze-cms/plugin-search-ui": "0.146.0-core-styles.
|
|
43
|
-
"@blaze-cms/plugin-structured-data-fe": "0.
|
|
44
|
-
"@blaze-cms/react-page-builder": "0.146.0-core-styles.
|
|
45
|
-
"@blaze-cms/setup-ui": "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": "^
|
|
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": "
|
|
61
|
+
"next": "14.1.0",
|
|
62
62
|
"prop-types": "^15.7.2",
|
|
63
|
-
"react": "^
|
|
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": "
|
|
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
|
-
|
|
16
|
-
|
|
17
|
-
|
|
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,
|
package/src/helpers/check-url.js
CHANGED
|
@@ -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
|
-
|
|
93
|
-
|
|
94
|
-
}
|
|
95
|
-
|
|
96
|
-
|
|
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.
|
|
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';
|
package/src/pages/Resolver.js
CHANGED
|
@@ -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}
|
package/src/server/index.js
CHANGED
|
@@ -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(
|
|
7
|
-
|
|
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
|
|
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
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
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);
|
|
@@ -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
|
-
|
|
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,
|
|
240
|
+
redirectResultCheck(result, true);
|
|
239
241
|
apolloQueryCheck(apolloClient, parentChildAsPath);
|
|
240
242
|
});
|
|
241
243
|
|