@blaze-cms/nextjs-tools 0.146.0-node18-tooltips.13 → 0.146.0-node18-core-styles-tooltips.20
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 +71 -14
- package/README.md +7 -8
- package/example.env +1 -1
- package/lib/helpers/check-url.js +1 -1
- package/lib/helpers/check-url.js.map +1 -1
- package/lib-es/helpers/check-url.js +1 -1
- package/lib-es/helpers/check-url.js.map +1 -1
- package/package.json +18 -18
- package/src/helpers/check-url.js +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
All notable changes to this project will be documented in this file.
|
|
4
4
|
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
|
|
5
5
|
|
|
6
|
-
# [0.146.0-node18-tooltips.
|
|
6
|
+
# [0.146.0-node18-core-styles-tooltips.20](https://github.com/thebyte9/blaze/compare/v0.146.0-node18-core-styles-tooltips.19...v0.146.0-node18-core-styles-tooltips.20) (2025-10-03)
|
|
7
7
|
|
|
8
8
|
**Note:** Version bump only for package @blaze-cms/nextjs-tools
|
|
9
9
|
|
|
@@ -11,7 +11,7 @@ See [Conventional Commits](https://conventionalcommits.org) for commit guideline
|
|
|
11
11
|
|
|
12
12
|
|
|
13
13
|
|
|
14
|
-
# [0.146.0-node18-tooltips.
|
|
14
|
+
# [0.146.0-node18-core-styles-tooltips.19](https://github.com/thebyte9/blaze/compare/v0.146.0-node18-core-styles-tooltips.18...v0.146.0-node18-core-styles-tooltips.19) (2025-10-01)
|
|
15
15
|
|
|
16
16
|
**Note:** Version bump only for package @blaze-cms/nextjs-tools
|
|
17
17
|
|
|
@@ -19,7 +19,7 @@ See [Conventional Commits](https://conventionalcommits.org) for commit guideline
|
|
|
19
19
|
|
|
20
20
|
|
|
21
21
|
|
|
22
|
-
# [0.146.0-node18-tooltips.
|
|
22
|
+
# [0.146.0-node18-core-styles-tooltips.18](https://github.com/thebyte9/blaze/compare/v0.146.0-node18-core-styles-tooltips.17...v0.146.0-node18-core-styles-tooltips.18) (2025-09-29)
|
|
23
23
|
|
|
24
24
|
**Note:** Version bump only for package @blaze-cms/nextjs-tools
|
|
25
25
|
|
|
@@ -27,7 +27,7 @@ See [Conventional Commits](https://conventionalcommits.org) for commit guideline
|
|
|
27
27
|
|
|
28
28
|
|
|
29
29
|
|
|
30
|
-
# [0.146.0-node18-tooltips.
|
|
30
|
+
# [0.146.0-node18-core-styles-tooltips.15](https://github.com/thebyte9/blaze/compare/v0.146.0-node18-core-styles-tooltips.14...v0.146.0-node18-core-styles-tooltips.15) (2025-09-23)
|
|
31
31
|
|
|
32
32
|
**Note:** Version bump only for package @blaze-cms/nextjs-tools
|
|
33
33
|
|
|
@@ -35,7 +35,7 @@ See [Conventional Commits](https://conventionalcommits.org) for commit guideline
|
|
|
35
35
|
|
|
36
36
|
|
|
37
37
|
|
|
38
|
-
# [0.146.0-node18-tooltips.
|
|
38
|
+
# [0.146.0-node18-core-styles-tooltips.14](https://github.com/thebyte9/blaze/compare/v0.146.0-node18-core-styles-tooltips.13...v0.146.0-node18-core-styles-tooltips.14) (2025-09-18)
|
|
39
39
|
|
|
40
40
|
|
|
41
41
|
### Bug Fixes
|
|
@@ -46,7 +46,7 @@ See [Conventional Commits](https://conventionalcommits.org) for commit guideline
|
|
|
46
46
|
|
|
47
47
|
|
|
48
48
|
|
|
49
|
-
# [0.146.0-node18-tooltips.
|
|
49
|
+
# [0.146.0-node18-core-styles-tooltips.13](https://github.com/thebyte9/blaze/compare/v0.146.0-node18-core-styles-tooltips.12...v0.146.0-node18-core-styles-tooltips.13) (2025-09-15)
|
|
50
50
|
|
|
51
51
|
**Note:** Version bump only for package @blaze-cms/nextjs-tools
|
|
52
52
|
|
|
@@ -54,7 +54,7 @@ See [Conventional Commits](https://conventionalcommits.org) for commit guideline
|
|
|
54
54
|
|
|
55
55
|
|
|
56
56
|
|
|
57
|
-
# [0.146.0-node18-tooltips.
|
|
57
|
+
# [0.146.0-node18-core-styles-tooltips.12](https://github.com/thebyte9/blaze/compare/v0.146.0-node18-core-styles-tooltips.11...v0.146.0-node18-core-styles-tooltips.12) (2025-08-27)
|
|
58
58
|
|
|
59
59
|
**Note:** Version bump only for package @blaze-cms/nextjs-tools
|
|
60
60
|
|
|
@@ -62,24 +62,84 @@ See [Conventional Commits](https://conventionalcommits.org) for commit guideline
|
|
|
62
62
|
|
|
63
63
|
|
|
64
64
|
|
|
65
|
-
# [0.146.0-node18-tooltips.
|
|
65
|
+
# [0.146.0-node18-core-styles-tooltips.11](https://github.com/thebyte9/blaze/compare/v0.146.0-node18-core-styles-tooltips.10...v0.146.0-node18-core-styles-tooltips.11) (2025-08-27)
|
|
66
|
+
|
|
67
|
+
|
|
68
|
+
### Features
|
|
69
|
+
|
|
70
|
+
* add support for custom 404 page using custom error 404 slug and fallback rendering ([#4839](https://github.com/thebyte9/blaze/issues/4839)) ([67554a3](https://github.com/thebyte9/blaze/commit/67554a3febc2871d73bd127753edf3b918a1a0b7))
|
|
71
|
+
* chart component ([#4846](https://github.com/thebyte9/blaze/issues/4846)) ([f74bd5a](https://github.com/thebyte9/blaze/commit/f74bd5aecc6078e725f92c523d8da0916a612d88))
|
|
72
|
+
|
|
73
|
+
|
|
74
|
+
|
|
75
|
+
|
|
76
|
+
|
|
77
|
+
# [0.146.0-node18-core-styles-tooltips.8](https://github.com/thebyte9/blaze/compare/v0.146.0-node18-core-styles-tooltips.7...v0.146.0-node18-core-styles-tooltips.8) (2025-07-25)
|
|
78
|
+
|
|
79
|
+
|
|
80
|
+
### Bug Fixes
|
|
81
|
+
|
|
82
|
+
* restore favion loading in the frontend ([#4851](https://github.com/thebyte9/blaze/issues/4851)) ([f1c31bb](https://github.com/thebyte9/blaze/commit/f1c31bb2213f79b1d4b6b1ae6e5d5bd2b150fdf8))
|
|
83
|
+
|
|
84
|
+
|
|
85
|
+
|
|
86
|
+
|
|
87
|
+
|
|
88
|
+
# [0.146.0-node18-core-styles-tooltips.5](https://github.com/thebyte9/blaze/compare/v0.146.0-node18-core-styles-tooltips.4...v0.146.0-node18-core-styles-tooltips.5) (2025-07-18)
|
|
89
|
+
|
|
90
|
+
**Note:** Version bump only for package @blaze-cms/nextjs-tools
|
|
91
|
+
|
|
92
|
+
|
|
93
|
+
|
|
94
|
+
|
|
95
|
+
|
|
96
|
+
# [0.146.0-node18-core-styles-tooltips.4](https://github.com/thebyte9/blaze/compare/v0.146.0-node18-core-styles-tooltips.3...v0.146.0-node18-core-styles-tooltips.4) (2025-07-10)
|
|
97
|
+
|
|
98
|
+
|
|
99
|
+
### Bug Fixes
|
|
100
|
+
|
|
101
|
+
* respond to live blog item size changes for laze loaded image, live blog title and global light box fix ([#4730](https://github.com/thebyte9/blaze/issues/4730)) ([5dd38d8](https://github.com/thebyte9/blaze/commit/5dd38d8d9e5983c55d3053d440eb7ab618688920))
|
|
102
|
+
|
|
103
|
+
|
|
104
|
+
|
|
105
|
+
|
|
106
|
+
|
|
107
|
+
# [0.146.0-node18-core-styles-tooltips.2](https://github.com/thebyte9/blaze/compare/v0.146.0-node18-core-styles-tooltips.1...v0.146.0-node18-core-styles-tooltips.2) (2025-06-20)
|
|
108
|
+
|
|
109
|
+
**Note:** Version bump only for package @blaze-cms/nextjs-tools
|
|
110
|
+
|
|
111
|
+
|
|
112
|
+
|
|
113
|
+
|
|
114
|
+
|
|
115
|
+
# [0.146.0-node18-core-styles-tooltips.1](https://github.com/thebyte9/blaze/compare/v0.146.0-node18-core-styles-tooltips.0...v0.146.0-node18-core-styles-tooltips.1) (2025-06-20)
|
|
116
|
+
|
|
117
|
+
|
|
118
|
+
### Features
|
|
119
|
+
|
|
120
|
+
* added frontend links for editor mode ([#4801](https://github.com/thebyte9/blaze/issues/4801)) ([d5de370](https://github.com/thebyte9/blaze/commit/d5de370203abf467fcc3819d06c7375f4a6c1eb9))
|
|
121
|
+
|
|
122
|
+
|
|
123
|
+
|
|
124
|
+
|
|
125
|
+
|
|
126
|
+
# [0.146.0-node18-core-styles-tooltips.0](https://github.com/thebyte9/blaze/compare/v0.145.0...v0.146.0-node18-core-styles-tooltips.0) (2025-06-18)
|
|
66
127
|
|
|
67
128
|
|
|
68
129
|
### Bug Fixes
|
|
69
130
|
|
|
131
|
+
* adds default root selector to readme ([cfb5095](https://github.com/thebyte9/blaze/commit/cfb50956d95df485fe4486f632d32400b46806f7))
|
|
70
132
|
* bumped apollo versions ([b371dc7](https://github.com/thebyte9/blaze/commit/b371dc7e7bbe814a0cc4d57af2b959ab5e1b1bfd))
|
|
71
133
|
* fixed breaking tests, updated next to 14 ([fecb0e1](https://github.com/thebyte9/blaze/commit/fecb0e1d822bd69ebbaa084072a219f0fddd23f1))
|
|
72
134
|
* fixed more tests ([46a2fb9](https://github.com/thebyte9/blaze/commit/46a2fb9467f9f3c9cf320c9caf36c66503cc1f49))
|
|
73
135
|
* fixed remaining failing tests ([8a5963f](https://github.com/thebyte9/blaze/commit/8a5963ff8a0bf615a2ced9fb77b8986a9b05d80c))
|
|
136
|
+
* fixes readme layout ([9dbdd8e](https://github.com/thebyte9/blaze/commit/9dbdd8ee96cb4a716e1e42c224939ac22ac6af0d))
|
|
74
137
|
* lint errors for reegex ([daaf750](https://github.com/thebyte9/blaze/commit/daaf7506d22f9578072c71f5557d0b6bf6185018))
|
|
75
138
|
* linting fix for reading return values from promise executor functions ([7edb563](https://github.com/thebyte9/blaze/commit/7edb563a4cbfa37188f26c1ae709ffe8ed837d69))
|
|
76
139
|
* linting fixed automatically ([73135b9](https://github.com/thebyte9/blaze/commit/73135b9b8b0d5407e2e1dfba42ab2381f290607f))
|
|
77
140
|
* only do parent redirect when there are graphql errors ([#4697](https://github.com/thebyte9/blaze/issues/4697)) ([1ec63ba](https://github.com/thebyte9/blaze/commit/1ec63ba95c21c11d41721f07346945742d7237ae))
|
|
78
141
|
* prevent 404 error when no data is returned from and improve redi… ([#4688](https://github.com/thebyte9/blaze/issues/4688)) ([3a5af3d](https://github.com/thebyte9/blaze/commit/3a5af3ddf65d67456971d2d75525235c30965633))
|
|
79
|
-
* respond to live blog item size changes for laze loaded image, live blog title and global light box fix ([#4730](https://github.com/thebyte9/blaze/issues/4730)) ([5dd38d8](https://github.com/thebyte9/blaze/commit/5dd38d8d9e5983c55d3053d440eb7ab618688920))
|
|
80
|
-
* restore favion loading in the frontend ([#4851](https://github.com/thebyte9/blaze/issues/4851)) ([f1c31bb](https://github.com/thebyte9/blaze/commit/f1c31bb2213f79b1d4b6b1ae6e5d5bd2b150fdf8))
|
|
81
142
|
* set blank cache-control header to override nextjs default of 0 ([#4783](https://github.com/thebyte9/blaze/issues/4783)) ([2f1653e](https://github.com/thebyte9/blaze/commit/2f1653ed3756a90575c48f8a2253776958c6c0ff))
|
|
82
|
-
* show pagebuilder tabs when no components added ([#4844](https://github.com/thebyte9/blaze/issues/4844)) ([2cbb24d](https://github.com/thebyte9/blaze/commit/2cbb24df95b38d4c8f4575814daadebd74ba04d4))
|
|
83
143
|
* udpated yarn lock ([0cd4fa4](https://github.com/thebyte9/blaze/commit/0cd4fa4a185fca4b80b57e472badb771dd649ec2))
|
|
84
144
|
* updated with dev ([90f545f](https://github.com/thebyte9/blaze/commit/90f545f1beabb35e26ba6fb2b45a7a0dfd072927))
|
|
85
145
|
* updated with dev ([729bb6e](https://github.com/thebyte9/blaze/commit/729bb6ee7e87946081d51564a4ab45538f7be1e7))
|
|
@@ -90,10 +150,7 @@ See [Conventional Commits](https://conventionalcommits.org) for commit guideline
|
|
|
90
150
|
|
|
91
151
|
### Features
|
|
92
152
|
|
|
93
|
-
* add support for custom 404 page using custom error 404 slug and fallback rendering ([#4839](https://github.com/thebyte9/blaze/issues/4839)) ([67554a3](https://github.com/thebyte9/blaze/commit/67554a3febc2871d73bd127753edf3b918a1a0b7))
|
|
94
|
-
* added frontend links for editor mode ([#4801](https://github.com/thebyte9/blaze/issues/4801)) ([d5de370](https://github.com/thebyte9/blaze/commit/d5de370203abf467fcc3819d06c7375f4a6c1eb9))
|
|
95
153
|
* allow . (dot) character in route regex ([#4552](https://github.com/thebyte9/blaze/issues/4552)) ([9be0fe0](https://github.com/thebyte9/blaze/commit/9be0fe0dd0dac2e0891c2d965a20c6b2e02165cc))
|
|
96
|
-
* chart component ([#4846](https://github.com/thebyte9/blaze/issues/4846)) ([f74bd5a](https://github.com/thebyte9/blaze/commit/f74bd5aecc6078e725f92c523d8da0916a612d88))
|
|
97
154
|
* debug sidebar now shows on error if enabled ([#4667](https://github.com/thebyte9/blaze/issues/4667)) ([01d43e1](https://github.com/thebyte9/blaze/commit/01d43e19c160980cfc8259c1a951ab70ebe70eb0))
|
|
98
155
|
* open frontend debug toolbar with a url param ([#4771](https://github.com/thebyte9/blaze/issues/4771)) ([37b8ea5](https://github.com/thebyte9/blaze/commit/37b8ea59a5ed4be0912465717adeb079fd6b3a89))
|
|
99
156
|
* updated react to 18 ([9335f84](https://github.com/thebyte9/blaze/commit/9335f8432b376494501abb9c3deef1ddaa9b35a8))
|
package/README.md
CHANGED
|
@@ -90,16 +90,15 @@ If is possible to create a custom error page by adding a page with the slug "cus
|
|
|
90
90
|
## Environment variables
|
|
91
91
|
|
|
92
92
|
| Name | Description | Type | Default |
|
|
93
|
-
|
|
93
|
+
|---|---|---|---|
|
|
94
94
|
| BLAZE_FRONTEND_HOST | Frontend host (used to identify host) | String | |
|
|
95
|
-
| BLAZE_ROUTE_REGEX | Override default route regex | /^\/[a-z0-9
|
|
95
|
+
| BLAZE_ROUTE_REGEX | Override default route regex | Regex | /^\/[a-z0-9€_\/]+(?:[-\/\.]{1,2}[a-z0-9\/€_\/]+)*$|^\/$/ |
|
|
96
96
|
| BLAZE_CACHE_CONTROL_HEADER | Cache-Control header to set on page requests | String | "" |
|
|
97
|
-
| BLAZE_STATIC_ROUTE_STORE_KEY | Override store for static file routes | default |
|
|
98
|
-
| BLAZE_ROUTE_PATTERN_SITEMAP | Override sitemap route | /sitemap.xml |
|
|
97
|
+
| BLAZE_STATIC_ROUTE_STORE_KEY | Override store for static file routes | String | default |
|
|
98
|
+
| BLAZE_ROUTE_PATTERN_SITEMAP | Override sitemap route | String | /sitemap.xml |
|
|
99
99
|
| BLAZE_CONTENT_SITEMAP_URL_PREFIX | Prefix for sitemap URL, used in frontend static route e.g. /sitemap/sitemap-0.xml. This needs to match the value set in the API app. | String | |
|
|
100
|
-
| BLAZE_ROOT_SELECTOR_CLASSES_LIMIT | The number of root-selector classes to display.
|
|
101
|
-
| BLAZE_BUILD_ENV_PREFIX_REGEX | '\|' separated list of allowed environment variable prefixes. Any environment variable that matches this prefix pattern will be dynamically added to the next environment config and will be available in code for use. If the environment variable has a "BUILD_" prefix, then this prefix will be removed from the next environment variable name before assigning it. i.e. BUILD_THIRD_PARTY_ENV will become THIRD_PARTY_ENV in the build. Prefixes BLAZE\|GOOGLE\|JWPLAYER\|DFP are added for backward compatibility and will be deprecated. We recommend to use new and change existing environment variables with "BUILD_" prefix. | BLAZE\|GOOGLE\|JWPLAYER\|DFP\|BUILD |
|
|
102
|
-
| BLAZE_CONTENT_SITEMAP_URL_PREFIX | Prefix for sitemap URL, used in frontend static route e.g. /sitemap/sitemap-0.xml. This needs to match value set in API app. | String | |
|
|
100
|
+
| BLAZE_ROOT_SELECTOR_CLASSES_LIMIT | The number of root-selector classes to display. If the variable is not set, it defaults to 1, displaying only the highest-level parent class. | String | 1 |
|
|
101
|
+
| BLAZE_BUILD_ENV_PREFIX_REGEX | '\|' separated list of allowed environment variable prefixes. Any environment variable that matches this prefix pattern will be dynamically added to the next environment config and will be available in code for use. If the environment variable has a "BUILD_" prefix, then this prefix will be removed from the next environment variable name before assigning it. i.e. BUILD_THIRD_PARTY_ENV will become THIRD_PARTY_ENV in the build. Prefixes BLAZE\|GOOGLE\|JWPLAYER\|DFP are added for backward compatibility and will be deprecated. We recommend to use new and change existing environment variables with "BUILD_" prefix. | String | BLAZE\|GOOGLE\|JWPLAYER\|DFP\|BUILD |
|
|
103
102
|
| BLAZE_DISABLE_REDIRECT_WITH_QUERY | Do not add query string to redirects | String | |
|
|
104
103
|
|
|
105
104
|
## Events emitted
|
|
@@ -206,7 +205,7 @@ When checking new code or build configs make sure to check the [following things
|
|
|
206
205
|
|
|
207
206
|
## Root selector classes
|
|
208
207
|
|
|
209
|
-
To make styling of sections of a site simpler, it is possible to enable setting root selector classes at the top of the Resolver page structure that are generated based on the url hierarchy.
|
|
208
|
+
To make styling of sections of a site simpler, it is possible to enable setting root selector classes at the top of the Resolver page structure that are generated based on the url hierarchy. If the variable is not set, it defaults to 1, displaying only the highest-level parent class.
|
|
210
209
|
|
|
211
210
|
For example the following url, `/parent/child/article-123` might be broken into the following classes
|
|
212
211
|
|
package/example.env
CHANGED
|
@@ -3,6 +3,6 @@ BLAZE_FRONTEND_HOST=thisisblaze.com
|
|
|
3
3
|
BLAZE_ROUTE_PATTERN_SITEMAP="/sitemap.xml"
|
|
4
4
|
BLAZE_CONTENT_SITEMAP_URL_PREFIX="sitemap"
|
|
5
5
|
#BLAZE_ROUTE_REGEX="^\/[a-z0-9€_\/]+(?:[-\/]{1,2}[a-z0-9\/€_\/]+)*$|^\/$"
|
|
6
|
-
BLAZE_ROOT_SELECTOR_CLASSES_LIMIT="
|
|
6
|
+
BLAZE_ROOT_SELECTOR_CLASSES_LIMIT="1"
|
|
7
7
|
BLAZE_CACHE_CONTROL_HEADER="max-age=0"
|
|
8
8
|
BLAZE_DISABLE_REDIRECT_WITH_QUERY=""
|
package/lib/helpers/check-url.js
CHANGED
|
@@ -34,7 +34,7 @@ var _getRootSelectorClasses = _interopRequireDefault(require("./get-root-selecto
|
|
|
34
34
|
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
35
35
|
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { (0, _defineProperty2["default"])(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
36
36
|
var getRootClassesLimit = function getRootClassesLimit() {
|
|
37
|
-
return Number(process.env.BLAZE_ROOT_SELECTOR_CLASSES_LIMIT);
|
|
37
|
+
return Number(process.env.BLAZE_ROOT_SELECTOR_CLASSES_LIMIT || 1);
|
|
38
38
|
};
|
|
39
39
|
var checkUrl = /*#__PURE__*/function () {
|
|
40
40
|
var _ref = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee(props) {
|
|
@@ -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","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","_ref4","_callee3","args","_args$errorCheckCode","errorCheckCode","_yield$apolloClient$q","_yield$apolloClient$q2","_yield$apolloClient$q3","_yield$apolloClient$q4","_yield$apolloClient$q5","itemId","itemEntity","urlTo","_yield$apolloClient$q6","_callee3$","_context3","ROUTE_REGEX","test","Error","checkUrlQuery","variables","data","setCustomCacheControlHeaders","handleRedirect","events","emit","message","statusCode","getUnpublishedEntityName","t0","handleUrlError","_x4","handleError","err","error","networkError","writeHead","write","end","graphQLErrors","NOT_FOUND_STATUS_CODE","errorCode","_ref5","errorMessage","customError","redirectUrl","BLAZE_DISABLE_REDIRECT_WITH_QUERY","queryString","split","doRedirect","_ref6","_ref6$cacheControlMax","cacheControlMaxAge","Location","href","redirecting","ERROR_URLS","custom404","parentPATH","checkParent","_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 ROUTE_REGEX,\n ERROR_URLS\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 args => {\n const { asPath, url, apolloClient, res, blazeApp, errorCheckCode = false } = args;\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 setCustomCacheControlHeaders(pageData, res);\n\n if (urlTo && (urlTo !== url || errorCheckCode)) {\n return handleRedirect({ errorCheckCode, url, urlTo, asPath, res });\n }\n const rootSelectorClasses = getRootSelectorClasses(url, getRootClassesLimit());\n\n if (errorCheckCode) {\n blazeApp.events.emit('monitor:log', { message: `Serving custom ${errorCheckCode} page` });\n if (res) res.statusCode = errorCheckCode;\n }\n\n return {\n pageData,\n rootSelectorClasses,\n itemId,\n itemEntity: getUnpublishedEntityName(itemEntity)\n };\n } catch (err) {\n return handleUrlError(err, args);\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 handleRedirect({ errorCheckCode, url, urlTo, asPath, res }) {\n if (errorCheckCode) {\n const errorMessage = `Cannot redirect ${url}`;\n const customError = new Error(errorMessage);\n customError.graphQLErrors = [errorMessage];\n throw customError;\n }\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\nfunction setCustomCacheControlHeaders(pageData, res) {\n const { cacheControlMaxAge = null } = pageData || {};\n\n if (res && cacheControlMaxAge !== null && cacheControlMaxAge >= 0) {\n res.setHeader('Cache-Control', `max-age=${cacheControlMaxAge}`);\n }\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\nfunction handleUrlError(err, args) {\n const { asPath, res, handle404Error, blazeApp, errorCheckCode } = args;\n if (!err.graphQLErrors || !err.graphQLErrors.length) {\n return handleError(err, res, handle404Error, blazeApp);\n }\n\n if (!errorCheckCode) {\n return doUrlCheck({\n ...args,\n url: ERROR_URLS.custom404,\n errorCheckCode: NOT_FOUND_STATUS_CODE\n });\n }\n\n const parentPATH = checkParent(asPath);\n if (handle404Error && parentPATH) {\n return doRedirect(res, parentPATH);\n }\n\n return handleError(err, res, handle404Error, blazeApp);\n}\n\nexport default checkUrl;\n"],"mappings":"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","ignoreList":[]}
|
|
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","_ref4","_callee3","args","_args$errorCheckCode","errorCheckCode","_yield$apolloClient$q","_yield$apolloClient$q2","_yield$apolloClient$q3","_yield$apolloClient$q4","_yield$apolloClient$q5","itemId","itemEntity","urlTo","_yield$apolloClient$q6","_callee3$","_context3","ROUTE_REGEX","test","Error","checkUrlQuery","variables","data","setCustomCacheControlHeaders","handleRedirect","events","emit","message","statusCode","getUnpublishedEntityName","t0","handleUrlError","_x4","handleError","err","error","networkError","writeHead","write","end","graphQLErrors","NOT_FOUND_STATUS_CODE","errorCode","_ref5","errorMessage","customError","redirectUrl","BLAZE_DISABLE_REDIRECT_WITH_QUERY","queryString","split","doRedirect","_ref6","_ref6$cacheControlMax","cacheControlMaxAge","Location","href","redirecting","ERROR_URLS","custom404","parentPATH","checkParent","_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 ROUTE_REGEX,\n ERROR_URLS\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 args => {\n const { asPath, url, apolloClient, res, blazeApp, errorCheckCode = false } = args;\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 setCustomCacheControlHeaders(pageData, res);\n\n if (urlTo && (urlTo !== url || errorCheckCode)) {\n return handleRedirect({ errorCheckCode, url, urlTo, asPath, res });\n }\n const rootSelectorClasses = getRootSelectorClasses(url, getRootClassesLimit());\n\n if (errorCheckCode) {\n blazeApp.events.emit('monitor:log', { message: `Serving custom ${errorCheckCode} page` });\n if (res) res.statusCode = errorCheckCode;\n }\n\n return {\n pageData,\n rootSelectorClasses,\n itemId,\n itemEntity: getUnpublishedEntityName(itemEntity)\n };\n } catch (err) {\n return handleUrlError(err, args);\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 handleRedirect({ errorCheckCode, url, urlTo, asPath, res }) {\n if (errorCheckCode) {\n const errorMessage = `Cannot redirect ${url}`;\n const customError = new Error(errorMessage);\n customError.graphQLErrors = [errorMessage];\n throw customError;\n }\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\nfunction setCustomCacheControlHeaders(pageData, res) {\n const { cacheControlMaxAge = null } = pageData || {};\n\n if (res && cacheControlMaxAge !== null && cacheControlMaxAge >= 0) {\n res.setHeader('Cache-Control', `max-age=${cacheControlMaxAge}`);\n }\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\nfunction handleUrlError(err, args) {\n const { asPath, res, handle404Error, blazeApp, errorCheckCode } = args;\n if (!err.graphQLErrors || !err.graphQLErrors.length) {\n return handleError(err, res, handle404Error, blazeApp);\n }\n\n if (!errorCheckCode) {\n return doUrlCheck({\n ...args,\n url: ERROR_URLS.custom404,\n errorCheckCode: NOT_FOUND_STATUS_CODE\n });\n }\n\n const parentPATH = checkParent(asPath);\n if (handle404Error && parentPATH) {\n return doRedirect(res, parentPATH);\n }\n\n return handleError(err, res, handle404Error, blazeApp);\n}\n\nexport default checkUrl;\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -11,7 +11,7 @@ import checkPreviewUrl from './check-preview-url';
|
|
|
11
11
|
import handleStaticRoutes from './handle-static-routes';
|
|
12
12
|
import getPageData from './get-page-data';
|
|
13
13
|
import getRootSelectorClasses from './get-root-selector-classes';
|
|
14
|
-
const getRootClassesLimit = () => Number(process.env.BLAZE_ROOT_SELECTOR_CLASSES_LIMIT);
|
|
14
|
+
const getRootClassesLimit = () => Number(process.env.BLAZE_ROOT_SELECTOR_CLASSES_LIMIT || 1);
|
|
15
15
|
const checkUrl = async props => {
|
|
16
16
|
const {
|
|
17
17
|
asPath,
|
|
@@ -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","ROUTE_REGEX","ERROR_URLS","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","args","errorCheckCode","test","Error","data","itemId","itemEntity","urlTo","variables","setCustomCacheControlHeaders","handleRedirect","events","emit","message","statusCode","err","handleUrlError","handleError","error","networkError","writeHead","write","end","graphQLErrors","errorCode","errorMessage","customError","redirectUrl","BLAZE_DISABLE_REDIRECT_WITH_QUERY","queryString","split","doRedirect","cacheControlMaxAge","Location","href","redirecting","custom404","parentPATH"],"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 ERROR_URLS\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 args => {\n const { asPath, url, apolloClient, res, blazeApp, errorCheckCode = false } = args;\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 setCustomCacheControlHeaders(pageData, res);\n\n if (urlTo && (urlTo !== url || errorCheckCode)) {\n return handleRedirect({ errorCheckCode, url, urlTo, asPath, res });\n }\n const rootSelectorClasses = getRootSelectorClasses(url, getRootClassesLimit());\n\n if (errorCheckCode) {\n blazeApp.events.emit('monitor:log', { message: `Serving custom ${errorCheckCode} page` });\n if (res) res.statusCode = errorCheckCode;\n }\n\n return {\n pageData,\n rootSelectorClasses,\n itemId,\n itemEntity: getUnpublishedEntityName(itemEntity)\n };\n } catch (err) {\n return handleUrlError(err, args);\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 handleRedirect({ errorCheckCode, url, urlTo, asPath, res }) {\n if (errorCheckCode) {\n const errorMessage = `Cannot redirect ${url}`;\n const customError = new Error(errorMessage);\n customError.graphQLErrors = [errorMessage];\n throw customError;\n }\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\nfunction setCustomCacheControlHeaders(pageData, res) {\n const { cacheControlMaxAge = null } = pageData || {};\n\n if (res && cacheControlMaxAge !== null && cacheControlMaxAge >= 0) {\n res.setHeader('Cache-Control', `max-age=${cacheControlMaxAge}`);\n }\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\nfunction handleUrlError(err, args) {\n const { asPath, res, handle404Error, blazeApp, errorCheckCode } = args;\n if (!err.graphQLErrors || !err.graphQLErrors.length) {\n return handleError(err, res, handle404Error, blazeApp);\n }\n\n if (!errorCheckCode) {\n return doUrlCheck({\n ...args,\n url: ERROR_URLS.custom404,\n errorCheckCode: NOT_FOUND_STATUS_CODE\n });\n }\n\n const parentPATH = checkParent(asPath);\n if (handle404Error && parentPATH) {\n return doRedirect(res, parentPATH);\n }\n\n return handleError(err, res, handle404Error, blazeApp);\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","ERROR_URLS","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","args","errorCheckCode","test","Error","data","itemId","itemEntity","urlTo","variables","setCustomCacheControlHeaders","handleRedirect","events","emit","message","statusCode","err","handleUrlError","handleError","error","networkError","writeHead","write","end","graphQLErrors","errorCode","errorMessage","customError","redirectUrl","BLAZE_DISABLE_REDIRECT_WITH_QUERY","queryString","split","doRedirect","cacheControlMaxAge","Location","href","redirecting","custom404","parentPATH"],"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 ERROR_URLS\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 args => {\n const { asPath, url, apolloClient, res, blazeApp, errorCheckCode = false } = args;\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 setCustomCacheControlHeaders(pageData, res);\n\n if (urlTo && (urlTo !== url || errorCheckCode)) {\n return handleRedirect({ errorCheckCode, url, urlTo, asPath, res });\n }\n const rootSelectorClasses = getRootSelectorClasses(url, getRootClassesLimit());\n\n if (errorCheckCode) {\n blazeApp.events.emit('monitor:log', { message: `Serving custom ${errorCheckCode} page` });\n if (res) res.statusCode = errorCheckCode;\n }\n\n return {\n pageData,\n rootSelectorClasses,\n itemId,\n itemEntity: getUnpublishedEntityName(itemEntity)\n };\n } catch (err) {\n return handleUrlError(err, args);\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 handleRedirect({ errorCheckCode, url, urlTo, asPath, res }) {\n if (errorCheckCode) {\n const errorMessage = `Cannot redirect ${url}`;\n const customError = new Error(errorMessage);\n customError.graphQLErrors = [errorMessage];\n throw customError;\n }\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\nfunction setCustomCacheControlHeaders(pageData, res) {\n const { cacheControlMaxAge = null } = pageData || {};\n\n if (res && cacheControlMaxAge !== null && cacheControlMaxAge >= 0) {\n res.setHeader('Cache-Control', `max-age=${cacheControlMaxAge}`);\n }\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\nfunction handleUrlError(err, args) {\n const { asPath, res, handle404Error, blazeApp, errorCheckCode } = args;\n if (!err.graphQLErrors || !err.graphQLErrors.length) {\n return handleError(err, res, handle404Error, blazeApp);\n }\n\n if (!errorCheckCode) {\n return doUrlCheck({\n ...args,\n url: ERROR_URLS.custom404,\n errorCheckCode: NOT_FOUND_STATUS_CODE\n });\n }\n\n const parentPATH = checkParent(asPath);\n if (handle404Error && parentPATH) {\n return doRedirect(res, parentPATH);\n }\n\n return handleError(err, res, handle404Error, blazeApp);\n}\n\nexport default checkUrl;\n"],"mappings":"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","ignoreList":[]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@blaze-cms/nextjs-tools",
|
|
3
|
-
"version": "0.146.0-node18-tooltips.
|
|
3
|
+
"version": "0.146.0-node18-core-styles-tooltips.20",
|
|
4
4
|
"description": "Blaze nextjs tools",
|
|
5
5
|
"main": "lib/index.js",
|
|
6
6
|
"module": "lib-es/index.js",
|
|
@@ -28,22 +28,22 @@
|
|
|
28
28
|
"license": "GPL-3.0",
|
|
29
29
|
"dependencies": {
|
|
30
30
|
"@apollo/client": "^3.9.2",
|
|
31
|
-
"@blaze-cms/core-auth-ui": "0.146.0-node18-tooltips.
|
|
32
|
-
"@blaze-cms/core-errors": "0.146.0-node18-tooltips.
|
|
33
|
-
"@blaze-cms/core-errors-ui": "0.146.0-node18-tooltips.
|
|
34
|
-
"@blaze-cms/core-ui": "0.146.0-node18-tooltips.
|
|
35
|
-
"@blaze-cms/nextjs-components": "0.146.0-node18-tooltips.
|
|
36
|
-
"@blaze-cms/plugin-auth-fe": "0.146.0-node18-tooltips.
|
|
37
|
-
"@blaze-cms/plugin-auth-local-fe": "0.146.0-node18-tooltips.
|
|
38
|
-
"@blaze-cms/plugin-chart": "0.146.0-node18-tooltips.
|
|
39
|
-
"@blaze-cms/plugin-google-maps-fe": "0.146.0-node18-tooltips.
|
|
40
|
-
"@blaze-cms/plugin-gtm-fe": "0.146.0-node18-tooltips.
|
|
41
|
-
"@blaze-cms/plugin-page-builder-fe": "0.146.0-node18-tooltips.
|
|
42
|
-
"@blaze-cms/plugin-preview-fe": "0.146.0-node18-tooltips.
|
|
43
|
-
"@blaze-cms/plugin-search-ui": "0.146.0-node18-tooltips.
|
|
44
|
-
"@blaze-cms/plugin-structured-data-fe": "0.146.0-node18-tooltips.
|
|
45
|
-
"@blaze-cms/react-page-builder": "0.146.0-node18-tooltips.
|
|
46
|
-
"@blaze-cms/setup-ui": "0.146.0-node18-tooltips.
|
|
31
|
+
"@blaze-cms/core-auth-ui": "0.146.0-node18-core-styles-tooltips.15",
|
|
32
|
+
"@blaze-cms/core-errors": "0.146.0-node18-core-styles-tooltips.3",
|
|
33
|
+
"@blaze-cms/core-errors-ui": "0.146.0-node18-core-styles-tooltips.3",
|
|
34
|
+
"@blaze-cms/core-ui": "0.146.0-node18-core-styles-tooltips.19",
|
|
35
|
+
"@blaze-cms/nextjs-components": "0.146.0-node18-core-styles-tooltips.3",
|
|
36
|
+
"@blaze-cms/plugin-auth-fe": "0.146.0-node18-core-styles-tooltips.19",
|
|
37
|
+
"@blaze-cms/plugin-auth-local-fe": "0.146.0-node18-core-styles-tooltips.19",
|
|
38
|
+
"@blaze-cms/plugin-chart": "0.146.0-node18-core-styles-tooltips.18",
|
|
39
|
+
"@blaze-cms/plugin-google-maps-fe": "0.146.0-node18-core-styles-tooltips.20",
|
|
40
|
+
"@blaze-cms/plugin-gtm-fe": "0.146.0-node18-core-styles-tooltips.20",
|
|
41
|
+
"@blaze-cms/plugin-page-builder-fe": "0.146.0-node18-core-styles-tooltips.20",
|
|
42
|
+
"@blaze-cms/plugin-preview-fe": "0.146.0-node18-core-styles-tooltips.19",
|
|
43
|
+
"@blaze-cms/plugin-search-ui": "0.146.0-node18-core-styles-tooltips.19",
|
|
44
|
+
"@blaze-cms/plugin-structured-data-fe": "0.146.0-node18-core-styles-tooltips.3",
|
|
45
|
+
"@blaze-cms/react-page-builder": "0.146.0-node18-core-styles-tooltips.20",
|
|
46
|
+
"@blaze-cms/setup-ui": "0.146.0-node18-core-styles-tooltips.3",
|
|
47
47
|
"autoprefixer": "^10.2.3",
|
|
48
48
|
"core-js": "^3.2.1",
|
|
49
49
|
"cross-fetch": "^3.0.2",
|
|
@@ -70,5 +70,5 @@
|
|
|
70
70
|
"lib/*",
|
|
71
71
|
"lib-es/*"
|
|
72
72
|
],
|
|
73
|
-
"gitHead": "
|
|
73
|
+
"gitHead": "9cc20b1a43c13d866f03c6829f626813c5851dd4"
|
|
74
74
|
}
|
package/src/helpers/check-url.js
CHANGED
|
@@ -17,7 +17,7 @@ import handleStaticRoutes from './handle-static-routes';
|
|
|
17
17
|
import getPageData from './get-page-data';
|
|
18
18
|
import getRootSelectorClasses from './get-root-selector-classes';
|
|
19
19
|
|
|
20
|
-
const getRootClassesLimit = () => Number(process.env.BLAZE_ROOT_SELECTOR_CLASSES_LIMIT);
|
|
20
|
+
const getRootClassesLimit = () => Number(process.env.BLAZE_ROOT_SELECTOR_CLASSES_LIMIT || 1);
|
|
21
21
|
|
|
22
22
|
const checkUrl = async props => {
|
|
23
23
|
const { asPath, apolloClient, res, req, query, blazeApp, disableSsr } = props;
|