@blaze-cms/nextjs-tools 0.139.0-alpha.4 → 0.139.0-alpha.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +11 -0
- package/build/next.base.config.js +2 -1
- package/lib/constants.js +3 -1
- package/lib/constants.js.map +1 -1
- package/lib/helpers/check-url.js +13 -12
- package/lib/helpers/check-url.js.map +1 -1
- package/lib-es/constants.js +3 -1
- package/lib-es/constants.js.map +1 -1
- package/lib-es/helpers/check-url.js +2 -1
- package/lib-es/helpers/check-url.js.map +1 -1
- package/package.json +2 -2
- package/src/constants.js +3 -1
- package/src/helpers/check-url.js +12 -1
- package/tests/unit/src/__snapshots__/constants.test.js.snap +1 -0
- package/tests/unit/src/helpers/check-url.test.js +21 -1
package/CHANGELOG.md
CHANGED
|
@@ -3,6 +3,17 @@
|
|
|
3
3
|
All notable changes to this project will be documented in this file.
|
|
4
4
|
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
|
|
5
5
|
|
|
6
|
+
# [0.139.0-alpha.5](https://github.com/thebyte9/blaze/compare/v0.139.0-alpha.4...v0.139.0-alpha.5) (2024-01-25)
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
### Features
|
|
10
|
+
|
|
11
|
+
* set x frame options and disable nextjs powered by header ([#4180](https://github.com/thebyte9/blaze/issues/4180)) ([c1d3def](https://github.com/thebyte9/blaze/commit/c1d3def81e2fb2d4de591017e74c91ae2234c4dd))
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
|
|
6
17
|
# [0.139.0-alpha.4](https://github.com/thebyte9/blaze/compare/v0.139.0-alpha.3...v0.139.0-alpha.4) (2024-01-19)
|
|
7
18
|
|
|
8
19
|
**Note:** Version bump only for package @blaze-cms/nextjs-tools
|
|
@@ -20,7 +20,8 @@ const nextConfig = {
|
|
|
20
20
|
BLAZE_SENTRY_ATTACH_STRACKTRACE: process.env.BLAZE_SENTRY_ATTACH_STRACKTRACE,
|
|
21
21
|
BLAZE_SENTRY_DSN: process.env.BLAZE_SENTRY_DSN,
|
|
22
22
|
BLAZE_DATADOG_APM_ACTIVE: process.env.BLAZE_DATADOG_APM_ACTIVE,
|
|
23
|
-
BLAZE_ROUTE_REGEX: process.env.BLAZE_ROUTE_REGEX
|
|
23
|
+
BLAZE_ROUTE_REGEX: process.env.BLAZE_ROUTE_REGEX,
|
|
24
|
+
BLAZE_X_FRAME_OPTIONS: process.env.BLAZE_X_FRAME_OPTIONS
|
|
24
25
|
},
|
|
25
26
|
output: {
|
|
26
27
|
clean: true
|
package/lib/constants.js
CHANGED
|
@@ -4,6 +4,7 @@ require("core-js/modules/es.regexp.constructor.js");
|
|
|
4
4
|
require("core-js/modules/es.regexp.exec.js");
|
|
5
5
|
require("core-js/modules/es.regexp.to-string.js");
|
|
6
6
|
var ACTIVE_META_TAGS = ['description', 'canonical'];
|
|
7
|
+
var BLAZE_X_FRAME_OPTIONS_DEFAULT = 'SAMEORIGIN';
|
|
7
8
|
var META_TAGS_LOOKUP = {
|
|
8
9
|
description: {
|
|
9
10
|
apiKey: 'metaDescription',
|
|
@@ -90,6 +91,7 @@ module.exports = {
|
|
|
90
91
|
STATIC_FILE_FORWARD_HEADERS: STATIC_FILE_FORWARD_HEADERS,
|
|
91
92
|
ROOT_SELECTOR_CLASS_PREFIX: ROOT_SELECTOR_CLASS_PREFIX,
|
|
92
93
|
ROOT_SELECTOR_SEPARATOR: ROOT_SELECTOR_SEPARATOR,
|
|
93
|
-
RESOLVER_CONTAINER_CLASS: RESOLVER_CONTAINER_CLASS
|
|
94
|
+
RESOLVER_CONTAINER_CLASS: RESOLVER_CONTAINER_CLASS,
|
|
95
|
+
BLAZE_X_FRAME_OPTIONS_DEFAULT: BLAZE_X_FRAME_OPTIONS_DEFAULT
|
|
94
96
|
};
|
|
95
97
|
//# sourceMappingURL=constants.js.map
|
package/lib/constants.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.js","names":["ACTIVE_META_TAGS","META_TAGS_LOOKUP","description","apiKey","htmlTagName","tagKeyName","contentDataKeyName","canonical","PB_TYPE_IMAGE","PB_TYPE_TEXTBLOCK","PB_TYPE_CAROUSEL","SEARCH_FILTER","COLON","DOUBLE_SLASH","HTTPS","DEFAULT_ROUTE_REGEX","ROUTE_REGEX","process","env","BLAZE_ROUTE_REGEX","RegExp","PREVIEW_REGEX","PREVIEW_MODE","GTM_STRING","DEBUG_LOGO","SRC","ALT","PUBLISHED_","RESPONSE_404","SITEMAP_STORE_KEY","ROUTE_PATTERN_SITEMAP","BLAZE_ROUTE_PATTERN_SITEMAP","sitemapFilePrefix","BLAZE_CONTENT_SITEMAP_URL_PREFIX","ROUTE_PATTERN_SITEMAP_FILE_REGEX","concat","ROUTE_PATTERN_ROBOTS_TXT","BLAZE_STATIC_ROUTE_STORE_KEY","STATIC_FILE_FORWARD_HEADERS","APPLE_TAGS","href","rel","sizes","NOT_FOUND_STATUS_CODE","ROOT_SELECTOR_CLASS_PREFIX","ROOT_SELECTOR_SEPARATOR","RESOLVER_CONTAINER_CLASS","module","exports"],"sources":["../src/constants.js"],"sourcesContent":["const ACTIVE_META_TAGS = ['description', 'canonical'];\n\nconst META_TAGS_LOOKUP = {\n description: {\n apiKey: 'metaDescription',\n htmlTagName: 'meta',\n tagKeyName: 'name',\n contentDataKeyName: 'content'\n },\n canonical: {\n apiKey: 'canonicalUrl',\n htmlTagName: 'link',\n tagKeyName: 'rel',\n contentDataKeyName: 'href'\n }\n};\n\nconst PB_TYPE_IMAGE = 'image';\nconst PB_TYPE_TEXTBLOCK = 'textblock';\nconst PB_TYPE_CAROUSEL = 'carousel';\nconst SEARCH_FILTER = 'searchfilter';\nconst COLON = ':';\nconst DOUBLE_SLASH = '//';\nconst HTTPS = 'https://';\n\nconst DEFAULT_ROUTE_REGEX = /^\\/[a-z0-9€_\\/]+(?:[-\\/]{1,2}[a-z0-9\\/€_\\/]+)*$|^\\/$/i;\nconst ROUTE_REGEX = process.env.BLAZE_ROUTE_REGEX\n ? new RegExp(process.env.BLAZE_ROUTE_REGEX)\n : DEFAULT_ROUTE_REGEX;\nconst PREVIEW_REGEX = /^(\\/_preview)/;\nconst PREVIEW_MODE = 'Preview Mode';\nconst GTM_STRING = 'gtm';\n\nconst DEBUG_LOGO = {\n SRC: 'https://images.thisisblaze.com/logo-small-27-40.png',\n ALT: 'blaze-logo'\n};\n\nconst PUBLISHED_ = 'published_';\n\nconst RESPONSE_404 = '404 Not Found\\n';\n\nconst SITEMAP_STORE_KEY = 'default_sitemap';\nconst ROUTE_PATTERN_SITEMAP = process.env.BLAZE_ROUTE_PATTERN_SITEMAP || '/sitemap.xml';\nconst sitemapFilePrefix = process.env.BLAZE_CONTENT_SITEMAP_URL_PREFIX || 'sitemap';\nconst ROUTE_PATTERN_SITEMAP_FILE_REGEX = new RegExp(`/${sitemapFilePrefix}/.*\\.xml`);\nconst ROUTE_PATTERN_ROBOTS_TXT = '/robots.txt';\nconst BLAZE_STATIC_ROUTE_STORE_KEY = 'default';\n\nconst STATIC_FILE_FORWARD_HEADERS = ['content-length', 'last-modified', 'etag'];\n\nconst APPLE_TAGS = [\n { href: '/static/icons/touch-icon-iphone.png', rel: 'apple-touch-icon' },\n { href: '/static/icons/touch-icon-ipad.png', rel: 'apple-touch-icon', sizes: '152x152' },\n { href: '/static/icons/touch-icon-iphone-retina.png', rel: 'apple-touch-icon', sizes: '180x180' },\n { href: '/static/icons/touch-icon-ipad-retina.png', rel: 'apple-touch-icon', sizes: '167x167' }\n];\n\nconst NOT_FOUND_STATUS_CODE = 404;\n\nconst ROOT_SELECTOR_CLASS_PREFIX = 'root-selector';\nconst ROOT_SELECTOR_SEPARATOR = '--';\nconst RESOLVER_CONTAINER_CLASS = 'resolver-container';\n\nmodule.exports = {\n APPLE_TAGS,\n ACTIVE_META_TAGS,\n COLON,\n DOUBLE_SLASH,\n GTM_STRING,\n HTTPS,\n META_TAGS_LOOKUP,\n SEARCH_FILTER,\n PB_TYPE_IMAGE,\n PB_TYPE_TEXTBLOCK,\n PB_TYPE_CAROUSEL,\n PREVIEW_MODE,\n ROUTE_REGEX,\n PREVIEW_REGEX,\n DEBUG_LOGO,\n PUBLISHED_,\n RESPONSE_404,\n NOT_FOUND_STATUS_CODE,\n SITEMAP_STORE_KEY,\n ROUTE_PATTERN_SITEMAP,\n ROUTE_PATTERN_SITEMAP_FILE_REGEX,\n ROUTE_PATTERN_ROBOTS_TXT,\n BLAZE_STATIC_ROUTE_STORE_KEY,\n STATIC_FILE_FORWARD_HEADERS,\n ROOT_SELECTOR_CLASS_PREFIX,\n ROOT_SELECTOR_SEPARATOR,\n RESOLVER_CONTAINER_CLASS\n};\n"],"mappings":";;;;;AAAA,IAAMA,gBAAgB,GAAG,CAAC,aAAa,EAAE,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"constants.js","names":["ACTIVE_META_TAGS","BLAZE_X_FRAME_OPTIONS_DEFAULT","META_TAGS_LOOKUP","description","apiKey","htmlTagName","tagKeyName","contentDataKeyName","canonical","PB_TYPE_IMAGE","PB_TYPE_TEXTBLOCK","PB_TYPE_CAROUSEL","SEARCH_FILTER","COLON","DOUBLE_SLASH","HTTPS","DEFAULT_ROUTE_REGEX","ROUTE_REGEX","process","env","BLAZE_ROUTE_REGEX","RegExp","PREVIEW_REGEX","PREVIEW_MODE","GTM_STRING","DEBUG_LOGO","SRC","ALT","PUBLISHED_","RESPONSE_404","SITEMAP_STORE_KEY","ROUTE_PATTERN_SITEMAP","BLAZE_ROUTE_PATTERN_SITEMAP","sitemapFilePrefix","BLAZE_CONTENT_SITEMAP_URL_PREFIX","ROUTE_PATTERN_SITEMAP_FILE_REGEX","concat","ROUTE_PATTERN_ROBOTS_TXT","BLAZE_STATIC_ROUTE_STORE_KEY","STATIC_FILE_FORWARD_HEADERS","APPLE_TAGS","href","rel","sizes","NOT_FOUND_STATUS_CODE","ROOT_SELECTOR_CLASS_PREFIX","ROOT_SELECTOR_SEPARATOR","RESOLVER_CONTAINER_CLASS","module","exports"],"sources":["../src/constants.js"],"sourcesContent":["const ACTIVE_META_TAGS = ['description', 'canonical'];\nconst BLAZE_X_FRAME_OPTIONS_DEFAULT = 'SAMEORIGIN';\n\nconst META_TAGS_LOOKUP = {\n description: {\n apiKey: 'metaDescription',\n htmlTagName: 'meta',\n tagKeyName: 'name',\n contentDataKeyName: 'content'\n },\n canonical: {\n apiKey: 'canonicalUrl',\n htmlTagName: 'link',\n tagKeyName: 'rel',\n contentDataKeyName: 'href'\n }\n};\n\nconst PB_TYPE_IMAGE = 'image';\nconst PB_TYPE_TEXTBLOCK = 'textblock';\nconst PB_TYPE_CAROUSEL = 'carousel';\nconst SEARCH_FILTER = 'searchfilter';\nconst COLON = ':';\nconst DOUBLE_SLASH = '//';\nconst HTTPS = 'https://';\n\nconst DEFAULT_ROUTE_REGEX = /^\\/[a-z0-9€_\\/]+(?:[-\\/]{1,2}[a-z0-9\\/€_\\/]+)*$|^\\/$/i;\nconst ROUTE_REGEX = process.env.BLAZE_ROUTE_REGEX\n ? new RegExp(process.env.BLAZE_ROUTE_REGEX)\n : DEFAULT_ROUTE_REGEX;\nconst PREVIEW_REGEX = /^(\\/_preview)/;\nconst PREVIEW_MODE = 'Preview Mode';\nconst GTM_STRING = 'gtm';\n\nconst DEBUG_LOGO = {\n SRC: 'https://images.thisisblaze.com/logo-small-27-40.png',\n ALT: 'blaze-logo'\n};\n\nconst PUBLISHED_ = 'published_';\n\nconst RESPONSE_404 = '404 Not Found\\n';\n\nconst SITEMAP_STORE_KEY = 'default_sitemap';\nconst ROUTE_PATTERN_SITEMAP = process.env.BLAZE_ROUTE_PATTERN_SITEMAP || '/sitemap.xml';\nconst sitemapFilePrefix = process.env.BLAZE_CONTENT_SITEMAP_URL_PREFIX || 'sitemap';\nconst ROUTE_PATTERN_SITEMAP_FILE_REGEX = new RegExp(`/${sitemapFilePrefix}/.*\\.xml`);\nconst ROUTE_PATTERN_ROBOTS_TXT = '/robots.txt';\nconst BLAZE_STATIC_ROUTE_STORE_KEY = 'default';\n\nconst STATIC_FILE_FORWARD_HEADERS = ['content-length', 'last-modified', 'etag'];\n\nconst APPLE_TAGS = [\n { href: '/static/icons/touch-icon-iphone.png', rel: 'apple-touch-icon' },\n { href: '/static/icons/touch-icon-ipad.png', rel: 'apple-touch-icon', sizes: '152x152' },\n { href: '/static/icons/touch-icon-iphone-retina.png', rel: 'apple-touch-icon', sizes: '180x180' },\n { href: '/static/icons/touch-icon-ipad-retina.png', rel: 'apple-touch-icon', sizes: '167x167' }\n];\n\nconst NOT_FOUND_STATUS_CODE = 404;\n\nconst ROOT_SELECTOR_CLASS_PREFIX = 'root-selector';\nconst ROOT_SELECTOR_SEPARATOR = '--';\nconst RESOLVER_CONTAINER_CLASS = 'resolver-container';\n\nmodule.exports = {\n APPLE_TAGS,\n ACTIVE_META_TAGS,\n COLON,\n DOUBLE_SLASH,\n GTM_STRING,\n HTTPS,\n META_TAGS_LOOKUP,\n SEARCH_FILTER,\n PB_TYPE_IMAGE,\n PB_TYPE_TEXTBLOCK,\n PB_TYPE_CAROUSEL,\n PREVIEW_MODE,\n ROUTE_REGEX,\n PREVIEW_REGEX,\n DEBUG_LOGO,\n PUBLISHED_,\n RESPONSE_404,\n NOT_FOUND_STATUS_CODE,\n SITEMAP_STORE_KEY,\n ROUTE_PATTERN_SITEMAP,\n ROUTE_PATTERN_SITEMAP_FILE_REGEX,\n ROUTE_PATTERN_ROBOTS_TXT,\n BLAZE_STATIC_ROUTE_STORE_KEY,\n STATIC_FILE_FORWARD_HEADERS,\n ROOT_SELECTOR_CLASS_PREFIX,\n ROOT_SELECTOR_SEPARATOR,\n RESOLVER_CONTAINER_CLASS,\n BLAZE_X_FRAME_OPTIONS_DEFAULT\n};\n"],"mappings":"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"}
|
package/lib/helpers/check-url.js
CHANGED
|
@@ -53,56 +53,57 @@ var checkUrl = /*#__PURE__*/function () {
|
|
|
53
53
|
});
|
|
54
54
|
case 5:
|
|
55
55
|
if (!res) {
|
|
56
|
-
_context.next =
|
|
56
|
+
_context.next = 11;
|
|
57
57
|
break;
|
|
58
58
|
}
|
|
59
59
|
handler = _handleStaticRoutes["default"].getHandler(asPath);
|
|
60
|
+
res.setHeader('X-Frame-Options', process.env.BLAZE_X_FRAME_OPTIONS || _constants.BLAZE_X_FRAME_OPTIONS_DEFAULT);
|
|
60
61
|
if (!res.getHeader('Cache-Control')) {
|
|
61
62
|
res.setHeader('Cache-Control', process.env.BLAZE_CACHE_CONTROL_HEADER || '');
|
|
62
63
|
}
|
|
63
64
|
if (!handler) {
|
|
64
|
-
_context.next =
|
|
65
|
+
_context.next = 11;
|
|
65
66
|
break;
|
|
66
67
|
}
|
|
67
68
|
return _context.abrupt("return", handler(props));
|
|
68
|
-
case
|
|
69
|
+
case 11:
|
|
69
70
|
previewData = (0, _checkPreviewUrl["default"])(url, query);
|
|
70
71
|
if (!(!previewData && disableSsr)) {
|
|
71
|
-
_context.next =
|
|
72
|
+
_context.next = 14;
|
|
72
73
|
break;
|
|
73
74
|
}
|
|
74
75
|
return _context.abrupt("return", {
|
|
75
76
|
disableSsr: true
|
|
76
77
|
});
|
|
77
|
-
case
|
|
78
|
-
_context.next =
|
|
78
|
+
case 14:
|
|
79
|
+
_context.next = 16;
|
|
79
80
|
return (0, _coreAuthUi.checkAccessToken)(apolloClient, _objectSpread(_objectSpread({}, props), {}, {
|
|
80
81
|
disableSsr: !Object.keys(apolloClient.cache.extract()).length // empty cache means SSR was disabled
|
|
81
82
|
}));
|
|
82
|
-
case
|
|
83
|
+
case 16:
|
|
83
84
|
if (!previewData) {
|
|
84
|
-
_context.next =
|
|
85
|
+
_context.next = 18;
|
|
85
86
|
break;
|
|
86
87
|
}
|
|
87
88
|
return _context.abrupt("return", getPreviewData(previewData, apolloClient));
|
|
88
|
-
case
|
|
89
|
+
case 18:
|
|
89
90
|
urlCheckOptions = {
|
|
90
91
|
asPath: asPath,
|
|
91
92
|
url: url,
|
|
92
93
|
apolloClient: apolloClient,
|
|
93
94
|
res: res
|
|
94
95
|
};
|
|
95
|
-
_context.next =
|
|
96
|
+
_context.next = 21;
|
|
96
97
|
return doUrlCheck(_objectSpread(_objectSpread({}, urlCheckOptions), {}, {
|
|
97
98
|
handle404Error: true,
|
|
98
99
|
blazeApp: blazeApp
|
|
99
100
|
}));
|
|
100
|
-
case
|
|
101
|
+
case 21:
|
|
101
102
|
result = _context.sent;
|
|
102
103
|
return _context.abrupt("return", _objectSpread(_objectSpread({}, result), {}, {
|
|
103
104
|
fullUrl: fullUrl
|
|
104
105
|
}) || {});
|
|
105
|
-
case
|
|
106
|
+
case 23:
|
|
106
107
|
case "end":
|
|
107
108
|
return _context.stop();
|
|
108
109
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"check-url.js","names":["_queryString","require","_reactPageBuilder","_coreAuthUi","_constants","_query","_checkParent","_interopRequireDefault","_checkPreviewUrl","_handleStaticRoutes","_getPageData","_getRootSelectorClasses","ownKeys","e","r","t","Object","keys","getOwnPropertySymbols","o","filter","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty2","getOwnPropertyDescriptors","defineProperties","defineProperty","getRootClassesLimit","Number","process","env","BLAZE_ROOT_SELECTOR_CLASSES_LIMIT","checkUrl","_ref","_asyncToGenerator2","_regenerator","mark","_callee","props","asPath","apolloClient","res","req","query","blazeApp","disableSsr","fullUrl","_parseUrl","url","handler","previewData","urlCheckOptions","result","wrap","_callee$","_context","prev","next","getFullUrl","parseUrl","BLAZE_STATUS_URL","abrupt","isStatusPage","handleStaticRoutes","getHandler","getHeader","setHeader","BLAZE_CACHE_CONTROL_HEADER","checkPreviewUrl","checkAccessToken","cache","extract","getPreviewData","doUrlCheck","handle404Error","sent","stop","_x","_ref2","_callee2","_result$pageData","_result$pageData2","rootSelectorClasses","_callee2$","_context2","getPageData","pageData","getRootSelectorClasses","isPreview","_x2","_x3","getHost","_ref3","_ref3$headers","headers","BLAZE_FRONTEND_HOST","host","concat","HTTPS","_window","window","_window$location","location","protocol","hostname","port","urlPort","COLON","DOUBLE_SLASH","_ref5","_callee3","_ref4","_yield$apolloClient$q","_yield$apolloClient$q2","itemId","itemEntity","urlTo","_yield$apolloClient$q3","_ref6","_ref6$cacheControlMax","cacheControlMaxAge","redirectUrl","queryString","parentPATH","_callee3$","_context3","checkUrlQuery","variables","data","BLAZE_DISABLE_REDIRECT_WITH_QUERY","split","writeHead","Location","end","href","getUnpublishedEntityName","t0","checkParent","handleError","_x4","err","events","emit","error","networkError","write","graphQLErrors","statusCode","NOT_FOUND_STATUS_CODE","errorCode","_default","exports"],"sources":["../../src/helpers/check-url.js"],"sourcesContent":["import { parseUrl } from 'query-string';\nimport { getUnpublishedEntityName } from '@blaze-cms/react-page-builder';\nimport { checkAccessToken } from '@blaze-cms/core-auth-ui';\nimport { HTTPS, DOUBLE_SLASH, COLON, NOT_FOUND_STATUS_CODE } from '../constants';\nimport { checkUrlQuery } from '../application/query';\nimport checkParent from './check-parent';\nimport checkPreviewUrl from './check-preview-url';\nimport handleStaticRoutes from './handle-static-routes';\nimport getPageData from './get-page-data';\nimport getRootSelectorClasses from './get-root-selector-classes';\n\nconst getRootClassesLimit = () => Number(process.env.BLAZE_ROOT_SELECTOR_CLASSES_LIMIT);\n\nconst checkUrl = async props => {\n const { asPath, apolloClient, res, req, query, blazeApp, disableSsr } = props;\n const fullUrl = getFullUrl(req, asPath);\n const { url } = parseUrl(asPath);\n\n if (process.env.BLAZE_STATUS_URL && url === process.env.BLAZE_STATUS_URL) {\n return { isStatusPage: true };\n }\n\n if (res) {\n const handler = handleStaticRoutes.getHandler(asPath);\n\n if (!res.getHeader('Cache-Control')) {\n res.setHeader('Cache-Control', process.env.BLAZE_CACHE_CONTROL_HEADER || '');\n }\n\n if (handler) {\n return handler(props);\n }\n }\n\n const previewData = checkPreviewUrl(url, query);\n\n if (!previewData && disableSsr) return { disableSsr: true };\n\n await checkAccessToken(apolloClient, {\n ...props,\n disableSsr: !Object.keys(apolloClient.cache.extract()).length // empty cache means SSR was disabled\n });\n\n if (previewData) return getPreviewData(previewData, apolloClient);\n const urlCheckOptions = { asPath, url, apolloClient, res };\n const result = await doUrlCheck({\n ...urlCheckOptions,\n handle404Error: true,\n blazeApp\n });\n return { ...result, fullUrl } || {};\n};\n\nconst getPreviewData = async (previewData, apolloClient) => {\n const result = await getPageData({ ...previewData, apolloClient });\n const { pageData: { url } = {} } = result;\n const rootSelectorClasses = getRootSelectorClasses(url, getRootClassesLimit());\n return { ...previewData, rootSelectorClasses, ...result, isPreview: true };\n};\n\nconst getHost = ({ headers = {} }) =>\n process.env.BLAZE_FRONTEND_HOST ||\n headers['x-request-host'] ||\n headers['x-forwarded-host'] ||\n headers.host;\n\nconst getFullUrl = (req, asPath) => {\n if (req) {\n return `${HTTPS}${getHost(req)}${asPath}`;\n }\n const {\n location: { protocol, hostname, port }\n } = window;\n const urlPort = port ? `${COLON}${port}` : '';\n\n return `${protocol}${DOUBLE_SLASH}${hostname}${urlPort}${asPath}`;\n};\n\nconst doUrlCheck = async ({ asPath, url, apolloClient, res, handle404Error, blazeApp }) => {\n try {\n const {\n data: {\n checkUrl: { itemId, itemEntity, urlTo, pageData = {} }\n }\n } = await apolloClient.query({\n query: checkUrlQuery,\n variables: {\n url\n }\n });\n\n const { cacheControlMaxAge = null } = pageData || {}; // pageData can be null when there is no page\n if (res && cacheControlMaxAge !== null && cacheControlMaxAge >= 0) {\n res.setHeader('Cache-Control', `max-age=${cacheControlMaxAge}`);\n }\n\n if (urlTo && urlTo !== url) {\n let redirectUrl = urlTo;\n if (process.env.BLAZE_DISABLE_REDIRECT_WITH_QUERY !== 'true') {\n const queryString = asPath.split('?')[1];\n redirectUrl = queryString ? `${urlTo}?${queryString}` : urlTo;\n }\n\n if (res) {\n res.writeHead(301, { Location: redirectUrl });\n res.end();\n } else {\n window.location.href = redirectUrl;\n }\n return {};\n }\n const rootSelectorClasses = getRootSelectorClasses(url, getRootClassesLimit());\n return {\n pageData,\n rootSelectorClasses,\n itemId,\n itemEntity: getUnpublishedEntityName(itemEntity)\n };\n } catch (err) {\n const parentPATH = checkParent(url);\n if (handle404Error && parentPATH && res) {\n res.writeHead(301, { Location: parentPATH });\n res.end();\n } else {\n return handleError(err, res, handle404Error, blazeApp);\n }\n\n return handle404Error ? {} : null;\n }\n};\n\nconst handleError = (err, res, handle404Error, blazeApp) => {\n blazeApp.events.emit('monitor:log', { error: err });\n\n if (!res) return {};\n if (err.networkError) {\n res.writeHead(500, { 'Content-Type': 'text/plain' });\n res.write('500 Internal Server Error\\n');\n res.end();\n } else if (handle404Error && err.graphQLErrors && err.graphQLErrors.length) {\n res.statusCode = NOT_FOUND_STATUS_CODE;\n return { errorCode: NOT_FOUND_STATUS_CODE };\n }\n\n return {};\n};\nexport default checkUrl;\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"check-url.js","names":["_queryString","require","_reactPageBuilder","_coreAuthUi","_constants","_query","_checkParent","_interopRequireDefault","_checkPreviewUrl","_handleStaticRoutes","_getPageData","_getRootSelectorClasses","ownKeys","e","r","t","Object","keys","getOwnPropertySymbols","o","filter","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty2","getOwnPropertyDescriptors","defineProperties","defineProperty","getRootClassesLimit","Number","process","env","BLAZE_ROOT_SELECTOR_CLASSES_LIMIT","checkUrl","_ref","_asyncToGenerator2","_regenerator","mark","_callee","props","asPath","apolloClient","res","req","query","blazeApp","disableSsr","fullUrl","_parseUrl","url","handler","previewData","urlCheckOptions","result","wrap","_callee$","_context","prev","next","getFullUrl","parseUrl","BLAZE_STATUS_URL","abrupt","isStatusPage","handleStaticRoutes","getHandler","setHeader","BLAZE_X_FRAME_OPTIONS","BLAZE_X_FRAME_OPTIONS_DEFAULT","getHeader","BLAZE_CACHE_CONTROL_HEADER","checkPreviewUrl","checkAccessToken","cache","extract","getPreviewData","doUrlCheck","handle404Error","sent","stop","_x","_ref2","_callee2","_result$pageData","_result$pageData2","rootSelectorClasses","_callee2$","_context2","getPageData","pageData","getRootSelectorClasses","isPreview","_x2","_x3","getHost","_ref3","_ref3$headers","headers","BLAZE_FRONTEND_HOST","host","concat","HTTPS","_window","window","_window$location","location","protocol","hostname","port","urlPort","COLON","DOUBLE_SLASH","_ref5","_callee3","_ref4","_yield$apolloClient$q","_yield$apolloClient$q2","itemId","itemEntity","urlTo","_yield$apolloClient$q3","_ref6","_ref6$cacheControlMax","cacheControlMaxAge","redirectUrl","queryString","parentPATH","_callee3$","_context3","checkUrlQuery","variables","data","BLAZE_DISABLE_REDIRECT_WITH_QUERY","split","writeHead","Location","end","href","getUnpublishedEntityName","t0","checkParent","handleError","_x4","err","events","emit","error","networkError","write","graphQLErrors","statusCode","NOT_FOUND_STATUS_CODE","errorCode","_default","exports"],"sources":["../../src/helpers/check-url.js"],"sourcesContent":["import { parseUrl } from 'query-string';\nimport { getUnpublishedEntityName } from '@blaze-cms/react-page-builder';\nimport { checkAccessToken } from '@blaze-cms/core-auth-ui';\nimport {\n HTTPS,\n DOUBLE_SLASH,\n COLON,\n NOT_FOUND_STATUS_CODE,\n BLAZE_X_FRAME_OPTIONS_DEFAULT\n} from '../constants';\nimport { checkUrlQuery } from '../application/query';\nimport checkParent from './check-parent';\nimport checkPreviewUrl from './check-preview-url';\nimport handleStaticRoutes from './handle-static-routes';\nimport getPageData from './get-page-data';\nimport getRootSelectorClasses from './get-root-selector-classes';\n\nconst getRootClassesLimit = () => Number(process.env.BLAZE_ROOT_SELECTOR_CLASSES_LIMIT);\n\nconst checkUrl = async props => {\n const { asPath, apolloClient, res, req, query, blazeApp, disableSsr } = props;\n const fullUrl = getFullUrl(req, asPath);\n const { url } = parseUrl(asPath);\n\n if (process.env.BLAZE_STATUS_URL && url === process.env.BLAZE_STATUS_URL) {\n return { isStatusPage: true };\n }\n\n if (res) {\n const handler = handleStaticRoutes.getHandler(asPath);\n\n res.setHeader(\n 'X-Frame-Options',\n process.env.BLAZE_X_FRAME_OPTIONS || BLAZE_X_FRAME_OPTIONS_DEFAULT\n );\n\n if (!res.getHeader('Cache-Control')) {\n res.setHeader('Cache-Control', process.env.BLAZE_CACHE_CONTROL_HEADER || '');\n }\n\n if (handler) {\n return handler(props);\n }\n }\n\n const previewData = checkPreviewUrl(url, query);\n\n if (!previewData && disableSsr) return { disableSsr: true };\n\n await checkAccessToken(apolloClient, {\n ...props,\n disableSsr: !Object.keys(apolloClient.cache.extract()).length // empty cache means SSR was disabled\n });\n\n if (previewData) return getPreviewData(previewData, apolloClient);\n const urlCheckOptions = { asPath, url, apolloClient, res };\n const result = await doUrlCheck({\n ...urlCheckOptions,\n handle404Error: true,\n blazeApp\n });\n return { ...result, fullUrl } || {};\n};\n\nconst getPreviewData = async (previewData, apolloClient) => {\n const result = await getPageData({ ...previewData, apolloClient });\n const { pageData: { url } = {} } = result;\n const rootSelectorClasses = getRootSelectorClasses(url, getRootClassesLimit());\n return { ...previewData, rootSelectorClasses, ...result, isPreview: true };\n};\n\nconst getHost = ({ headers = {} }) =>\n process.env.BLAZE_FRONTEND_HOST ||\n headers['x-request-host'] ||\n headers['x-forwarded-host'] ||\n headers.host;\n\nconst getFullUrl = (req, asPath) => {\n if (req) {\n return `${HTTPS}${getHost(req)}${asPath}`;\n }\n const {\n location: { protocol, hostname, port }\n } = window;\n const urlPort = port ? `${COLON}${port}` : '';\n\n return `${protocol}${DOUBLE_SLASH}${hostname}${urlPort}${asPath}`;\n};\n\nconst doUrlCheck = async ({ asPath, url, apolloClient, res, handle404Error, blazeApp }) => {\n try {\n const {\n data: {\n checkUrl: { itemId, itemEntity, urlTo, pageData = {} }\n }\n } = await apolloClient.query({\n query: checkUrlQuery,\n variables: {\n url\n }\n });\n\n const { cacheControlMaxAge = null } = pageData || {}; // pageData can be null when there is no page\n if (res && cacheControlMaxAge !== null && cacheControlMaxAge >= 0) {\n res.setHeader('Cache-Control', `max-age=${cacheControlMaxAge}`);\n }\n\n if (urlTo && urlTo !== url) {\n let redirectUrl = urlTo;\n if (process.env.BLAZE_DISABLE_REDIRECT_WITH_QUERY !== 'true') {\n const queryString = asPath.split('?')[1];\n redirectUrl = queryString ? `${urlTo}?${queryString}` : urlTo;\n }\n\n if (res) {\n res.writeHead(301, { Location: redirectUrl });\n res.end();\n } else {\n window.location.href = redirectUrl;\n }\n return {};\n }\n const rootSelectorClasses = getRootSelectorClasses(url, getRootClassesLimit());\n return {\n pageData,\n rootSelectorClasses,\n itemId,\n itemEntity: getUnpublishedEntityName(itemEntity)\n };\n } catch (err) {\n const parentPATH = checkParent(url);\n if (handle404Error && parentPATH && res) {\n res.writeHead(301, { Location: parentPATH });\n res.end();\n } else {\n return handleError(err, res, handle404Error, blazeApp);\n }\n\n return handle404Error ? {} : null;\n }\n};\n\nconst handleError = (err, res, handle404Error, blazeApp) => {\n blazeApp.events.emit('monitor:log', { error: err });\n\n if (!res) return {};\n if (err.networkError) {\n res.writeHead(500, { 'Content-Type': 'text/plain' });\n res.write('500 Internal Server Error\\n');\n res.end();\n } else if (handle404Error && err.graphQLErrors && err.graphQLErrors.length) {\n res.statusCode = NOT_FOUND_STATUS_CODE;\n return { errorCode: NOT_FOUND_STATUS_CODE };\n }\n\n return {};\n};\nexport default checkUrl;\n"],"mappings":"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"}
|
package/lib-es/constants.js
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
const ACTIVE_META_TAGS = ['description', 'canonical'];
|
|
2
|
+
const BLAZE_X_FRAME_OPTIONS_DEFAULT = 'SAMEORIGIN';
|
|
2
3
|
const META_TAGS_LOOKUP = {
|
|
3
4
|
description: {
|
|
4
5
|
apiKey: 'metaDescription',
|
|
@@ -85,6 +86,7 @@ module.exports = {
|
|
|
85
86
|
STATIC_FILE_FORWARD_HEADERS,
|
|
86
87
|
ROOT_SELECTOR_CLASS_PREFIX,
|
|
87
88
|
ROOT_SELECTOR_SEPARATOR,
|
|
88
|
-
RESOLVER_CONTAINER_CLASS
|
|
89
|
+
RESOLVER_CONTAINER_CLASS,
|
|
90
|
+
BLAZE_X_FRAME_OPTIONS_DEFAULT
|
|
89
91
|
};
|
|
90
92
|
//# sourceMappingURL=constants.js.map
|
package/lib-es/constants.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.js","names":["ACTIVE_META_TAGS","META_TAGS_LOOKUP","description","apiKey","htmlTagName","tagKeyName","contentDataKeyName","canonical","PB_TYPE_IMAGE","PB_TYPE_TEXTBLOCK","PB_TYPE_CAROUSEL","SEARCH_FILTER","COLON","DOUBLE_SLASH","HTTPS","DEFAULT_ROUTE_REGEX","ROUTE_REGEX","process","env","BLAZE_ROUTE_REGEX","RegExp","PREVIEW_REGEX","PREVIEW_MODE","GTM_STRING","DEBUG_LOGO","SRC","ALT","PUBLISHED_","RESPONSE_404","SITEMAP_STORE_KEY","ROUTE_PATTERN_SITEMAP","BLAZE_ROUTE_PATTERN_SITEMAP","sitemapFilePrefix","BLAZE_CONTENT_SITEMAP_URL_PREFIX","ROUTE_PATTERN_SITEMAP_FILE_REGEX","ROUTE_PATTERN_ROBOTS_TXT","BLAZE_STATIC_ROUTE_STORE_KEY","STATIC_FILE_FORWARD_HEADERS","APPLE_TAGS","href","rel","sizes","NOT_FOUND_STATUS_CODE","ROOT_SELECTOR_CLASS_PREFIX","ROOT_SELECTOR_SEPARATOR","RESOLVER_CONTAINER_CLASS","module","exports"],"sources":["../src/constants.js"],"sourcesContent":["const ACTIVE_META_TAGS = ['description', 'canonical'];\n\nconst META_TAGS_LOOKUP = {\n description: {\n apiKey: 'metaDescription',\n htmlTagName: 'meta',\n tagKeyName: 'name',\n contentDataKeyName: 'content'\n },\n canonical: {\n apiKey: 'canonicalUrl',\n htmlTagName: 'link',\n tagKeyName: 'rel',\n contentDataKeyName: 'href'\n }\n};\n\nconst PB_TYPE_IMAGE = 'image';\nconst PB_TYPE_TEXTBLOCK = 'textblock';\nconst PB_TYPE_CAROUSEL = 'carousel';\nconst SEARCH_FILTER = 'searchfilter';\nconst COLON = ':';\nconst DOUBLE_SLASH = '//';\nconst HTTPS = 'https://';\n\nconst DEFAULT_ROUTE_REGEX = /^\\/[a-z0-9€_\\/]+(?:[-\\/]{1,2}[a-z0-9\\/€_\\/]+)*$|^\\/$/i;\nconst ROUTE_REGEX = process.env.BLAZE_ROUTE_REGEX\n ? new RegExp(process.env.BLAZE_ROUTE_REGEX)\n : DEFAULT_ROUTE_REGEX;\nconst PREVIEW_REGEX = /^(\\/_preview)/;\nconst PREVIEW_MODE = 'Preview Mode';\nconst GTM_STRING = 'gtm';\n\nconst DEBUG_LOGO = {\n SRC: 'https://images.thisisblaze.com/logo-small-27-40.png',\n ALT: 'blaze-logo'\n};\n\nconst PUBLISHED_ = 'published_';\n\nconst RESPONSE_404 = '404 Not Found\\n';\n\nconst SITEMAP_STORE_KEY = 'default_sitemap';\nconst ROUTE_PATTERN_SITEMAP = process.env.BLAZE_ROUTE_PATTERN_SITEMAP || '/sitemap.xml';\nconst sitemapFilePrefix = process.env.BLAZE_CONTENT_SITEMAP_URL_PREFIX || 'sitemap';\nconst ROUTE_PATTERN_SITEMAP_FILE_REGEX = new RegExp(`/${sitemapFilePrefix}/.*\\.xml`);\nconst ROUTE_PATTERN_ROBOTS_TXT = '/robots.txt';\nconst BLAZE_STATIC_ROUTE_STORE_KEY = 'default';\n\nconst STATIC_FILE_FORWARD_HEADERS = ['content-length', 'last-modified', 'etag'];\n\nconst APPLE_TAGS = [\n { href: '/static/icons/touch-icon-iphone.png', rel: 'apple-touch-icon' },\n { href: '/static/icons/touch-icon-ipad.png', rel: 'apple-touch-icon', sizes: '152x152' },\n { href: '/static/icons/touch-icon-iphone-retina.png', rel: 'apple-touch-icon', sizes: '180x180' },\n { href: '/static/icons/touch-icon-ipad-retina.png', rel: 'apple-touch-icon', sizes: '167x167' }\n];\n\nconst NOT_FOUND_STATUS_CODE = 404;\n\nconst ROOT_SELECTOR_CLASS_PREFIX = 'root-selector';\nconst ROOT_SELECTOR_SEPARATOR = '--';\nconst RESOLVER_CONTAINER_CLASS = 'resolver-container';\n\nmodule.exports = {\n APPLE_TAGS,\n ACTIVE_META_TAGS,\n COLON,\n DOUBLE_SLASH,\n GTM_STRING,\n HTTPS,\n META_TAGS_LOOKUP,\n SEARCH_FILTER,\n PB_TYPE_IMAGE,\n PB_TYPE_TEXTBLOCK,\n PB_TYPE_CAROUSEL,\n PREVIEW_MODE,\n ROUTE_REGEX,\n PREVIEW_REGEX,\n DEBUG_LOGO,\n PUBLISHED_,\n RESPONSE_404,\n NOT_FOUND_STATUS_CODE,\n SITEMAP_STORE_KEY,\n ROUTE_PATTERN_SITEMAP,\n ROUTE_PATTERN_SITEMAP_FILE_REGEX,\n ROUTE_PATTERN_ROBOTS_TXT,\n BLAZE_STATIC_ROUTE_STORE_KEY,\n STATIC_FILE_FORWARD_HEADERS,\n ROOT_SELECTOR_CLASS_PREFIX,\n ROOT_SELECTOR_SEPARATOR,\n RESOLVER_CONTAINER_CLASS\n};\n"],"mappings":"AAAA,MAAMA,gBAAgB,GAAG,CAAC,aAAa,EAAE,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"constants.js","names":["ACTIVE_META_TAGS","BLAZE_X_FRAME_OPTIONS_DEFAULT","META_TAGS_LOOKUP","description","apiKey","htmlTagName","tagKeyName","contentDataKeyName","canonical","PB_TYPE_IMAGE","PB_TYPE_TEXTBLOCK","PB_TYPE_CAROUSEL","SEARCH_FILTER","COLON","DOUBLE_SLASH","HTTPS","DEFAULT_ROUTE_REGEX","ROUTE_REGEX","process","env","BLAZE_ROUTE_REGEX","RegExp","PREVIEW_REGEX","PREVIEW_MODE","GTM_STRING","DEBUG_LOGO","SRC","ALT","PUBLISHED_","RESPONSE_404","SITEMAP_STORE_KEY","ROUTE_PATTERN_SITEMAP","BLAZE_ROUTE_PATTERN_SITEMAP","sitemapFilePrefix","BLAZE_CONTENT_SITEMAP_URL_PREFIX","ROUTE_PATTERN_SITEMAP_FILE_REGEX","ROUTE_PATTERN_ROBOTS_TXT","BLAZE_STATIC_ROUTE_STORE_KEY","STATIC_FILE_FORWARD_HEADERS","APPLE_TAGS","href","rel","sizes","NOT_FOUND_STATUS_CODE","ROOT_SELECTOR_CLASS_PREFIX","ROOT_SELECTOR_SEPARATOR","RESOLVER_CONTAINER_CLASS","module","exports"],"sources":["../src/constants.js"],"sourcesContent":["const ACTIVE_META_TAGS = ['description', 'canonical'];\nconst BLAZE_X_FRAME_OPTIONS_DEFAULT = 'SAMEORIGIN';\n\nconst META_TAGS_LOOKUP = {\n description: {\n apiKey: 'metaDescription',\n htmlTagName: 'meta',\n tagKeyName: 'name',\n contentDataKeyName: 'content'\n },\n canonical: {\n apiKey: 'canonicalUrl',\n htmlTagName: 'link',\n tagKeyName: 'rel',\n contentDataKeyName: 'href'\n }\n};\n\nconst PB_TYPE_IMAGE = 'image';\nconst PB_TYPE_TEXTBLOCK = 'textblock';\nconst PB_TYPE_CAROUSEL = 'carousel';\nconst SEARCH_FILTER = 'searchfilter';\nconst COLON = ':';\nconst DOUBLE_SLASH = '//';\nconst HTTPS = 'https://';\n\nconst DEFAULT_ROUTE_REGEX = /^\\/[a-z0-9€_\\/]+(?:[-\\/]{1,2}[a-z0-9\\/€_\\/]+)*$|^\\/$/i;\nconst ROUTE_REGEX = process.env.BLAZE_ROUTE_REGEX\n ? new RegExp(process.env.BLAZE_ROUTE_REGEX)\n : DEFAULT_ROUTE_REGEX;\nconst PREVIEW_REGEX = /^(\\/_preview)/;\nconst PREVIEW_MODE = 'Preview Mode';\nconst GTM_STRING = 'gtm';\n\nconst DEBUG_LOGO = {\n SRC: 'https://images.thisisblaze.com/logo-small-27-40.png',\n ALT: 'blaze-logo'\n};\n\nconst PUBLISHED_ = 'published_';\n\nconst RESPONSE_404 = '404 Not Found\\n';\n\nconst SITEMAP_STORE_KEY = 'default_sitemap';\nconst ROUTE_PATTERN_SITEMAP = process.env.BLAZE_ROUTE_PATTERN_SITEMAP || '/sitemap.xml';\nconst sitemapFilePrefix = process.env.BLAZE_CONTENT_SITEMAP_URL_PREFIX || 'sitemap';\nconst ROUTE_PATTERN_SITEMAP_FILE_REGEX = new RegExp(`/${sitemapFilePrefix}/.*\\.xml`);\nconst ROUTE_PATTERN_ROBOTS_TXT = '/robots.txt';\nconst BLAZE_STATIC_ROUTE_STORE_KEY = 'default';\n\nconst STATIC_FILE_FORWARD_HEADERS = ['content-length', 'last-modified', 'etag'];\n\nconst APPLE_TAGS = [\n { href: '/static/icons/touch-icon-iphone.png', rel: 'apple-touch-icon' },\n { href: '/static/icons/touch-icon-ipad.png', rel: 'apple-touch-icon', sizes: '152x152' },\n { href: '/static/icons/touch-icon-iphone-retina.png', rel: 'apple-touch-icon', sizes: '180x180' },\n { href: '/static/icons/touch-icon-ipad-retina.png', rel: 'apple-touch-icon', sizes: '167x167' }\n];\n\nconst NOT_FOUND_STATUS_CODE = 404;\n\nconst ROOT_SELECTOR_CLASS_PREFIX = 'root-selector';\nconst ROOT_SELECTOR_SEPARATOR = '--';\nconst RESOLVER_CONTAINER_CLASS = 'resolver-container';\n\nmodule.exports = {\n APPLE_TAGS,\n ACTIVE_META_TAGS,\n COLON,\n DOUBLE_SLASH,\n GTM_STRING,\n HTTPS,\n META_TAGS_LOOKUP,\n SEARCH_FILTER,\n PB_TYPE_IMAGE,\n PB_TYPE_TEXTBLOCK,\n PB_TYPE_CAROUSEL,\n PREVIEW_MODE,\n ROUTE_REGEX,\n PREVIEW_REGEX,\n DEBUG_LOGO,\n PUBLISHED_,\n RESPONSE_404,\n NOT_FOUND_STATUS_CODE,\n SITEMAP_STORE_KEY,\n ROUTE_PATTERN_SITEMAP,\n ROUTE_PATTERN_SITEMAP_FILE_REGEX,\n ROUTE_PATTERN_ROBOTS_TXT,\n BLAZE_STATIC_ROUTE_STORE_KEY,\n STATIC_FILE_FORWARD_HEADERS,\n ROOT_SELECTOR_CLASS_PREFIX,\n ROOT_SELECTOR_SEPARATOR,\n RESOLVER_CONTAINER_CLASS,\n BLAZE_X_FRAME_OPTIONS_DEFAULT\n};\n"],"mappings":"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"}
|
|
@@ -4,7 +4,7 @@ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t =
|
|
|
4
4
|
import { parseUrl } from 'query-string';
|
|
5
5
|
import { getUnpublishedEntityName } from '@blaze-cms/react-page-builder';
|
|
6
6
|
import { checkAccessToken } from '@blaze-cms/core-auth-ui';
|
|
7
|
-
import { HTTPS, DOUBLE_SLASH, COLON, NOT_FOUND_STATUS_CODE } from '../constants';
|
|
7
|
+
import { HTTPS, DOUBLE_SLASH, COLON, NOT_FOUND_STATUS_CODE, BLAZE_X_FRAME_OPTIONS_DEFAULT } from '../constants';
|
|
8
8
|
import { checkUrlQuery } from '../application/query';
|
|
9
9
|
import checkParent from './check-parent';
|
|
10
10
|
import checkPreviewUrl from './check-preview-url';
|
|
@@ -33,6 +33,7 @@ const checkUrl = async props => {
|
|
|
33
33
|
}
|
|
34
34
|
if (res) {
|
|
35
35
|
const handler = handleStaticRoutes.getHandler(asPath);
|
|
36
|
+
res.setHeader('X-Frame-Options', process.env.BLAZE_X_FRAME_OPTIONS || BLAZE_X_FRAME_OPTIONS_DEFAULT);
|
|
36
37
|
if (!res.getHeader('Cache-Control')) {
|
|
37
38
|
res.setHeader('Cache-Control', process.env.BLAZE_CACHE_CONTROL_HEADER || '');
|
|
38
39
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"check-url.js","names":["parseUrl","getUnpublishedEntityName","checkAccessToken","HTTPS","DOUBLE_SLASH","COLON","NOT_FOUND_STATUS_CODE","checkUrlQuery","checkParent","checkPreviewUrl","handleStaticRoutes","getPageData","getRootSelectorClasses","getRootClassesLimit","Number","process","env","BLAZE_ROOT_SELECTOR_CLASSES_LIMIT","checkUrl","props","asPath","apolloClient","res","req","query","blazeApp","disableSsr","fullUrl","getFullUrl","url","BLAZE_STATUS_URL","isStatusPage","handler","getHandler","getHeader","setHeader","BLAZE_CACHE_CONTROL_HEADER","previewData","_objectSpread","Object","keys","cache","extract","length","getPreviewData","urlCheckOptions","result","doUrlCheck","handle404Error","pageData","rootSelectorClasses","isPreview","getHost","headers","BLAZE_FRONTEND_HOST","host","location","protocol","hostname","port","window","urlPort","data","itemId","itemEntity","urlTo","variables","cacheControlMaxAge","redirectUrl","BLAZE_DISABLE_REDIRECT_WITH_QUERY","queryString","split","writeHead","Location","end","href","err","parentPATH","handleError","events","emit","error","networkError","write","graphQLErrors","statusCode","errorCode"],"sources":["../../src/helpers/check-url.js"],"sourcesContent":["import { parseUrl } from 'query-string';\nimport { getUnpublishedEntityName } from '@blaze-cms/react-page-builder';\nimport { checkAccessToken } from '@blaze-cms/core-auth-ui';\nimport { HTTPS, DOUBLE_SLASH, COLON, NOT_FOUND_STATUS_CODE } from '../constants';\nimport { checkUrlQuery } from '../application/query';\nimport checkParent from './check-parent';\nimport checkPreviewUrl from './check-preview-url';\nimport handleStaticRoutes from './handle-static-routes';\nimport getPageData from './get-page-data';\nimport getRootSelectorClasses from './get-root-selector-classes';\n\nconst getRootClassesLimit = () => Number(process.env.BLAZE_ROOT_SELECTOR_CLASSES_LIMIT);\n\nconst checkUrl = async props => {\n const { asPath, apolloClient, res, req, query, blazeApp, disableSsr } = props;\n const fullUrl = getFullUrl(req, asPath);\n const { url } = parseUrl(asPath);\n\n if (process.env.BLAZE_STATUS_URL && url === process.env.BLAZE_STATUS_URL) {\n return { isStatusPage: true };\n }\n\n if (res) {\n const handler = handleStaticRoutes.getHandler(asPath);\n\n if (!res.getHeader('Cache-Control')) {\n res.setHeader('Cache-Control', process.env.BLAZE_CACHE_CONTROL_HEADER || '');\n }\n\n if (handler) {\n return handler(props);\n }\n }\n\n const previewData = checkPreviewUrl(url, query);\n\n if (!previewData && disableSsr) return { disableSsr: true };\n\n await checkAccessToken(apolloClient, {\n ...props,\n disableSsr: !Object.keys(apolloClient.cache.extract()).length // empty cache means SSR was disabled\n });\n\n if (previewData) return getPreviewData(previewData, apolloClient);\n const urlCheckOptions = { asPath, url, apolloClient, res };\n const result = await doUrlCheck({\n ...urlCheckOptions,\n handle404Error: true,\n blazeApp\n });\n return { ...result, fullUrl } || {};\n};\n\nconst getPreviewData = async (previewData, apolloClient) => {\n const result = await getPageData({ ...previewData, apolloClient });\n const { pageData: { url } = {} } = result;\n const rootSelectorClasses = getRootSelectorClasses(url, getRootClassesLimit());\n return { ...previewData, rootSelectorClasses, ...result, isPreview: true };\n};\n\nconst getHost = ({ headers = {} }) =>\n process.env.BLAZE_FRONTEND_HOST ||\n headers['x-request-host'] ||\n headers['x-forwarded-host'] ||\n headers.host;\n\nconst getFullUrl = (req, asPath) => {\n if (req) {\n return `${HTTPS}${getHost(req)}${asPath}`;\n }\n const {\n location: { protocol, hostname, port }\n } = window;\n const urlPort = port ? `${COLON}${port}` : '';\n\n return `${protocol}${DOUBLE_SLASH}${hostname}${urlPort}${asPath}`;\n};\n\nconst doUrlCheck = async ({ asPath, url, apolloClient, res, handle404Error, blazeApp }) => {\n try {\n const {\n data: {\n checkUrl: { itemId, itemEntity, urlTo, pageData = {} }\n }\n } = await apolloClient.query({\n query: checkUrlQuery,\n variables: {\n url\n }\n });\n\n const { cacheControlMaxAge = null } = pageData || {}; // pageData can be null when there is no page\n if (res && cacheControlMaxAge !== null && cacheControlMaxAge >= 0) {\n res.setHeader('Cache-Control', `max-age=${cacheControlMaxAge}`);\n }\n\n if (urlTo && urlTo !== url) {\n let redirectUrl = urlTo;\n if (process.env.BLAZE_DISABLE_REDIRECT_WITH_QUERY !== 'true') {\n const queryString = asPath.split('?')[1];\n redirectUrl = queryString ? `${urlTo}?${queryString}` : urlTo;\n }\n\n if (res) {\n res.writeHead(301, { Location: redirectUrl });\n res.end();\n } else {\n window.location.href = redirectUrl;\n }\n return {};\n }\n const rootSelectorClasses = getRootSelectorClasses(url, getRootClassesLimit());\n return {\n pageData,\n rootSelectorClasses,\n itemId,\n itemEntity: getUnpublishedEntityName(itemEntity)\n };\n } catch (err) {\n const parentPATH = checkParent(url);\n if (handle404Error && parentPATH && res) {\n res.writeHead(301, { Location: parentPATH });\n res.end();\n } else {\n return handleError(err, res, handle404Error, blazeApp);\n }\n\n return handle404Error ? {} : null;\n }\n};\n\nconst handleError = (err, res, handle404Error, blazeApp) => {\n blazeApp.events.emit('monitor:log', { error: err });\n\n if (!res) return {};\n if (err.networkError) {\n res.writeHead(500, { 'Content-Type': 'text/plain' });\n res.write('500 Internal Server Error\\n');\n res.end();\n } else if (handle404Error && err.graphQLErrors && err.graphQLErrors.length) {\n res.statusCode = NOT_FOUND_STATUS_CODE;\n return { errorCode: NOT_FOUND_STATUS_CODE };\n }\n\n return {};\n};\nexport default checkUrl;\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"check-url.js","names":["parseUrl","getUnpublishedEntityName","checkAccessToken","HTTPS","DOUBLE_SLASH","COLON","NOT_FOUND_STATUS_CODE","BLAZE_X_FRAME_OPTIONS_DEFAULT","checkUrlQuery","checkParent","checkPreviewUrl","handleStaticRoutes","getPageData","getRootSelectorClasses","getRootClassesLimit","Number","process","env","BLAZE_ROOT_SELECTOR_CLASSES_LIMIT","checkUrl","props","asPath","apolloClient","res","req","query","blazeApp","disableSsr","fullUrl","getFullUrl","url","BLAZE_STATUS_URL","isStatusPage","handler","getHandler","setHeader","BLAZE_X_FRAME_OPTIONS","getHeader","BLAZE_CACHE_CONTROL_HEADER","previewData","_objectSpread","Object","keys","cache","extract","length","getPreviewData","urlCheckOptions","result","doUrlCheck","handle404Error","pageData","rootSelectorClasses","isPreview","getHost","headers","BLAZE_FRONTEND_HOST","host","location","protocol","hostname","port","window","urlPort","data","itemId","itemEntity","urlTo","variables","cacheControlMaxAge","redirectUrl","BLAZE_DISABLE_REDIRECT_WITH_QUERY","queryString","split","writeHead","Location","end","href","err","parentPATH","handleError","events","emit","error","networkError","write","graphQLErrors","statusCode","errorCode"],"sources":["../../src/helpers/check-url.js"],"sourcesContent":["import { parseUrl } from 'query-string';\nimport { getUnpublishedEntityName } from '@blaze-cms/react-page-builder';\nimport { checkAccessToken } from '@blaze-cms/core-auth-ui';\nimport {\n HTTPS,\n DOUBLE_SLASH,\n COLON,\n NOT_FOUND_STATUS_CODE,\n BLAZE_X_FRAME_OPTIONS_DEFAULT\n} from '../constants';\nimport { checkUrlQuery } from '../application/query';\nimport checkParent from './check-parent';\nimport checkPreviewUrl from './check-preview-url';\nimport handleStaticRoutes from './handle-static-routes';\nimport getPageData from './get-page-data';\nimport getRootSelectorClasses from './get-root-selector-classes';\n\nconst getRootClassesLimit = () => Number(process.env.BLAZE_ROOT_SELECTOR_CLASSES_LIMIT);\n\nconst checkUrl = async props => {\n const { asPath, apolloClient, res, req, query, blazeApp, disableSsr } = props;\n const fullUrl = getFullUrl(req, asPath);\n const { url } = parseUrl(asPath);\n\n if (process.env.BLAZE_STATUS_URL && url === process.env.BLAZE_STATUS_URL) {\n return { isStatusPage: true };\n }\n\n if (res) {\n const handler = handleStaticRoutes.getHandler(asPath);\n\n res.setHeader(\n 'X-Frame-Options',\n process.env.BLAZE_X_FRAME_OPTIONS || BLAZE_X_FRAME_OPTIONS_DEFAULT\n );\n\n if (!res.getHeader('Cache-Control')) {\n res.setHeader('Cache-Control', process.env.BLAZE_CACHE_CONTROL_HEADER || '');\n }\n\n if (handler) {\n return handler(props);\n }\n }\n\n const previewData = checkPreviewUrl(url, query);\n\n if (!previewData && disableSsr) return { disableSsr: true };\n\n await checkAccessToken(apolloClient, {\n ...props,\n disableSsr: !Object.keys(apolloClient.cache.extract()).length // empty cache means SSR was disabled\n });\n\n if (previewData) return getPreviewData(previewData, apolloClient);\n const urlCheckOptions = { asPath, url, apolloClient, res };\n const result = await doUrlCheck({\n ...urlCheckOptions,\n handle404Error: true,\n blazeApp\n });\n return { ...result, fullUrl } || {};\n};\n\nconst getPreviewData = async (previewData, apolloClient) => {\n const result = await getPageData({ ...previewData, apolloClient });\n const { pageData: { url } = {} } = result;\n const rootSelectorClasses = getRootSelectorClasses(url, getRootClassesLimit());\n return { ...previewData, rootSelectorClasses, ...result, isPreview: true };\n};\n\nconst getHost = ({ headers = {} }) =>\n process.env.BLAZE_FRONTEND_HOST ||\n headers['x-request-host'] ||\n headers['x-forwarded-host'] ||\n headers.host;\n\nconst getFullUrl = (req, asPath) => {\n if (req) {\n return `${HTTPS}${getHost(req)}${asPath}`;\n }\n const {\n location: { protocol, hostname, port }\n } = window;\n const urlPort = port ? `${COLON}${port}` : '';\n\n return `${protocol}${DOUBLE_SLASH}${hostname}${urlPort}${asPath}`;\n};\n\nconst doUrlCheck = async ({ asPath, url, apolloClient, res, handle404Error, blazeApp }) => {\n try {\n const {\n data: {\n checkUrl: { itemId, itemEntity, urlTo, pageData = {} }\n }\n } = await apolloClient.query({\n query: checkUrlQuery,\n variables: {\n url\n }\n });\n\n const { cacheControlMaxAge = null } = pageData || {}; // pageData can be null when there is no page\n if (res && cacheControlMaxAge !== null && cacheControlMaxAge >= 0) {\n res.setHeader('Cache-Control', `max-age=${cacheControlMaxAge}`);\n }\n\n if (urlTo && urlTo !== url) {\n let redirectUrl = urlTo;\n if (process.env.BLAZE_DISABLE_REDIRECT_WITH_QUERY !== 'true') {\n const queryString = asPath.split('?')[1];\n redirectUrl = queryString ? `${urlTo}?${queryString}` : urlTo;\n }\n\n if (res) {\n res.writeHead(301, { Location: redirectUrl });\n res.end();\n } else {\n window.location.href = redirectUrl;\n }\n return {};\n }\n const rootSelectorClasses = getRootSelectorClasses(url, getRootClassesLimit());\n return {\n pageData,\n rootSelectorClasses,\n itemId,\n itemEntity: getUnpublishedEntityName(itemEntity)\n };\n } catch (err) {\n const parentPATH = checkParent(url);\n if (handle404Error && parentPATH && res) {\n res.writeHead(301, { Location: parentPATH });\n res.end();\n } else {\n return handleError(err, res, handle404Error, blazeApp);\n }\n\n return handle404Error ? {} : null;\n }\n};\n\nconst handleError = (err, res, handle404Error, blazeApp) => {\n blazeApp.events.emit('monitor:log', { error: err });\n\n if (!res) return {};\n if (err.networkError) {\n res.writeHead(500, { 'Content-Type': 'text/plain' });\n res.write('500 Internal Server Error\\n');\n res.end();\n } else if (handle404Error && err.graphQLErrors && err.graphQLErrors.length) {\n res.statusCode = NOT_FOUND_STATUS_CODE;\n return { errorCode: NOT_FOUND_STATUS_CODE };\n }\n\n return {};\n};\nexport default checkUrl;\n"],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@blaze-cms/nextjs-tools",
|
|
3
|
-
"version": "0.139.0-alpha.
|
|
3
|
+
"version": "0.139.0-alpha.5",
|
|
4
4
|
"description": "Blaze nextjs tools",
|
|
5
5
|
"main": "lib/index.js",
|
|
6
6
|
"module": "lib-es/index.js",
|
|
@@ -69,5 +69,5 @@
|
|
|
69
69
|
"lib/*",
|
|
70
70
|
"lib-es/*"
|
|
71
71
|
],
|
|
72
|
-
"gitHead": "
|
|
72
|
+
"gitHead": "ddfab9ac3d59438939268c106917b092e4071071"
|
|
73
73
|
}
|
package/src/constants.js
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
const ACTIVE_META_TAGS = ['description', 'canonical'];
|
|
2
|
+
const BLAZE_X_FRAME_OPTIONS_DEFAULT = 'SAMEORIGIN';
|
|
2
3
|
|
|
3
4
|
const META_TAGS_LOOKUP = {
|
|
4
5
|
description: {
|
|
@@ -89,5 +90,6 @@ module.exports = {
|
|
|
89
90
|
STATIC_FILE_FORWARD_HEADERS,
|
|
90
91
|
ROOT_SELECTOR_CLASS_PREFIX,
|
|
91
92
|
ROOT_SELECTOR_SEPARATOR,
|
|
92
|
-
RESOLVER_CONTAINER_CLASS
|
|
93
|
+
RESOLVER_CONTAINER_CLASS,
|
|
94
|
+
BLAZE_X_FRAME_OPTIONS_DEFAULT
|
|
93
95
|
};
|
package/src/helpers/check-url.js
CHANGED
|
@@ -1,7 +1,13 @@
|
|
|
1
1
|
import { parseUrl } from 'query-string';
|
|
2
2
|
import { getUnpublishedEntityName } from '@blaze-cms/react-page-builder';
|
|
3
3
|
import { checkAccessToken } from '@blaze-cms/core-auth-ui';
|
|
4
|
-
import {
|
|
4
|
+
import {
|
|
5
|
+
HTTPS,
|
|
6
|
+
DOUBLE_SLASH,
|
|
7
|
+
COLON,
|
|
8
|
+
NOT_FOUND_STATUS_CODE,
|
|
9
|
+
BLAZE_X_FRAME_OPTIONS_DEFAULT
|
|
10
|
+
} from '../constants';
|
|
5
11
|
import { checkUrlQuery } from '../application/query';
|
|
6
12
|
import checkParent from './check-parent';
|
|
7
13
|
import checkPreviewUrl from './check-preview-url';
|
|
@@ -23,6 +29,11 @@ const checkUrl = async props => {
|
|
|
23
29
|
if (res) {
|
|
24
30
|
const handler = handleStaticRoutes.getHandler(asPath);
|
|
25
31
|
|
|
32
|
+
res.setHeader(
|
|
33
|
+
'X-Frame-Options',
|
|
34
|
+
process.env.BLAZE_X_FRAME_OPTIONS || BLAZE_X_FRAME_OPTIONS_DEFAULT
|
|
35
|
+
);
|
|
36
|
+
|
|
26
37
|
if (!res.getHeader('Cache-Control')) {
|
|
27
38
|
res.setHeader('Cache-Control', process.env.BLAZE_CACHE_CONTROL_HEADER || '');
|
|
28
39
|
}
|
|
@@ -128,7 +128,7 @@ describe('Check url', () => {
|
|
|
128
128
|
handleStaticRoutes.getHandler.mockImplementationOnce(mockHandlerResponse);
|
|
129
129
|
res.getHeader.mockImplementationOnce(() => 'max-age=300');
|
|
130
130
|
await checkUrl(props);
|
|
131
|
-
expect(res.setHeader).not.
|
|
131
|
+
expect(res.setHeader).not.toHaveBeenCalledWith('Cache-Control', 'max-age=300');
|
|
132
132
|
});
|
|
133
133
|
|
|
134
134
|
it('should set empty Cache-Control header', async () => {
|
|
@@ -137,6 +137,26 @@ describe('Check url', () => {
|
|
|
137
137
|
expect(res.setHeader).toHaveBeenCalledWith(cacheControlHeader, '');
|
|
138
138
|
});
|
|
139
139
|
|
|
140
|
+
it('should set X-Frame-Options to default', async () => {
|
|
141
|
+
handleStaticRoutes.getHandler.mockImplementationOnce(mockHandlerResponse);
|
|
142
|
+
const cacheEnvs = {
|
|
143
|
+
BLAZE_X_FRAME_OPTIONS: ''
|
|
144
|
+
};
|
|
145
|
+
setEnvs(cacheEnvs);
|
|
146
|
+
await checkUrl({ ...props });
|
|
147
|
+
expect(res.setHeader).toHaveBeenCalledWith('X-Frame-Options', 'SAMEORIGIN');
|
|
148
|
+
});
|
|
149
|
+
|
|
150
|
+
it('should set X-Frame-Options to custom value', async () => {
|
|
151
|
+
handleStaticRoutes.getHandler.mockImplementationOnce(mockHandlerResponse);
|
|
152
|
+
const cacheEnvs = {
|
|
153
|
+
BLAZE_X_FRAME_OPTIONS: 'DENY'
|
|
154
|
+
};
|
|
155
|
+
setEnvs(cacheEnvs);
|
|
156
|
+
await checkUrl({ ...props });
|
|
157
|
+
expect(res.setHeader).toHaveBeenCalledWith('X-Frame-Options', 'DENY');
|
|
158
|
+
});
|
|
159
|
+
|
|
140
160
|
it('should set Cache-Control header from env', async () => {
|
|
141
161
|
handleStaticRoutes.getHandler.mockImplementationOnce(mockHandlerResponse);
|
|
142
162
|
const cacheEnvs = {
|