@sitecore-jss/sitecore-jss-nextjs 21.7.0-canary.43 → 21.7.0-canary.45
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.
|
@@ -68,15 +68,24 @@ class RedirectsMiddleware extends middleware_1.MiddlewareBase {
|
|
|
68
68
|
url.locale = req.nextUrl.locale;
|
|
69
69
|
}
|
|
70
70
|
else {
|
|
71
|
+
const source = `${url.pathname}${url.search}`;
|
|
71
72
|
url.search = existsRedirect.isQueryStringPreserved ? url.search : '';
|
|
72
73
|
const urlFirstPart = existsRedirect.target.split('/')[1];
|
|
73
74
|
if (this.locales.includes(urlFirstPart)) {
|
|
74
75
|
url.locale = urlFirstPart;
|
|
75
76
|
existsRedirect.target = existsRedirect.target.replace(`/${urlFirstPart}`, '');
|
|
76
77
|
}
|
|
77
|
-
|
|
78
|
+
const target = source
|
|
78
79
|
.replace((0, regex_parser_1.default)(existsRedirect.pattern), existsRedirect.target)
|
|
79
|
-
.replace(/^\/\//, '/')
|
|
80
|
+
.replace(/^\/\//, '/')
|
|
81
|
+
.split('?');
|
|
82
|
+
url.pathname = target[0];
|
|
83
|
+
if (target[1]) {
|
|
84
|
+
const newParams = new URLSearchParams(target[1]);
|
|
85
|
+
for (const [key, val] of newParams.entries()) {
|
|
86
|
+
url.searchParams.append(key, val);
|
|
87
|
+
}
|
|
88
|
+
}
|
|
80
89
|
}
|
|
81
90
|
const redirectUrl = decodeURIComponent(url.href);
|
|
82
91
|
/** return Response redirect with http code of redirect type **/
|
|
@@ -150,6 +159,7 @@ class RedirectsMiddleware extends middleware_1.MiddlewareBase {
|
|
|
150
159
|
.replace(/^\/|\/$/g, '')
|
|
151
160
|
.replace(/^\^\/|\/\$$/g, '')
|
|
152
161
|
.replace(/^\^|\$$/g, '')
|
|
162
|
+
.replace(/(?<!\\)\?/g, '\\?')
|
|
153
163
|
.replace(/\$\/gi$/g, '')}[\/]?$/gi`;
|
|
154
164
|
return (((0, regex_parser_1.default)(redirect.pattern).test(tragetURL) ||
|
|
155
165
|
(0, regex_parser_1.default)(redirect.pattern).test(`${tragetURL}${targetQS}`) ||
|
|
@@ -62,15 +62,24 @@ export class RedirectsMiddleware extends MiddlewareBase {
|
|
|
62
62
|
url.locale = req.nextUrl.locale;
|
|
63
63
|
}
|
|
64
64
|
else {
|
|
65
|
+
const source = `${url.pathname}${url.search}`;
|
|
65
66
|
url.search = existsRedirect.isQueryStringPreserved ? url.search : '';
|
|
66
67
|
const urlFirstPart = existsRedirect.target.split('/')[1];
|
|
67
68
|
if (this.locales.includes(urlFirstPart)) {
|
|
68
69
|
url.locale = urlFirstPart;
|
|
69
70
|
existsRedirect.target = existsRedirect.target.replace(`/${urlFirstPart}`, '');
|
|
70
71
|
}
|
|
71
|
-
|
|
72
|
+
const target = source
|
|
72
73
|
.replace(regexParser(existsRedirect.pattern), existsRedirect.target)
|
|
73
|
-
.replace(/^\/\//, '/')
|
|
74
|
+
.replace(/^\/\//, '/')
|
|
75
|
+
.split('?');
|
|
76
|
+
url.pathname = target[0];
|
|
77
|
+
if (target[1]) {
|
|
78
|
+
const newParams = new URLSearchParams(target[1]);
|
|
79
|
+
for (const [key, val] of newParams.entries()) {
|
|
80
|
+
url.searchParams.append(key, val);
|
|
81
|
+
}
|
|
82
|
+
}
|
|
74
83
|
}
|
|
75
84
|
const redirectUrl = decodeURIComponent(url.href);
|
|
76
85
|
/** return Response redirect with http code of redirect type **/
|
|
@@ -144,6 +153,7 @@ export class RedirectsMiddleware extends MiddlewareBase {
|
|
|
144
153
|
.replace(/^\/|\/$/g, '')
|
|
145
154
|
.replace(/^\^\/|\/\$$/g, '')
|
|
146
155
|
.replace(/^\^|\$$/g, '')
|
|
156
|
+
.replace(/(?<!\\)\?/g, '\\?')
|
|
147
157
|
.replace(/\$\/gi$/g, '')}[\/]?$/gi`;
|
|
148
158
|
return ((regexParser(redirect.pattern).test(tragetURL) ||
|
|
149
159
|
regexParser(redirect.pattern).test(`${tragetURL}${targetQS}`) ||
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@sitecore-jss/sitecore-jss-nextjs",
|
|
3
|
-
"version": "21.7.0-canary.
|
|
3
|
+
"version": "21.7.0-canary.45",
|
|
4
4
|
"main": "dist/cjs/index.js",
|
|
5
5
|
"module": "dist/esm/index.js",
|
|
6
6
|
"sideEffects": false,
|
|
@@ -72,9 +72,9 @@
|
|
|
72
72
|
"react-dom": "^18.2.0"
|
|
73
73
|
},
|
|
74
74
|
"dependencies": {
|
|
75
|
-
"@sitecore-jss/sitecore-jss": "^21.7.0-canary.
|
|
76
|
-
"@sitecore-jss/sitecore-jss-dev-tools": "^21.7.0-canary.
|
|
77
|
-
"@sitecore-jss/sitecore-jss-react": "^21.7.0-canary.
|
|
75
|
+
"@sitecore-jss/sitecore-jss": "^21.7.0-canary.45",
|
|
76
|
+
"@sitecore-jss/sitecore-jss-dev-tools": "^21.7.0-canary.45",
|
|
77
|
+
"@sitecore-jss/sitecore-jss-react": "^21.7.0-canary.45",
|
|
78
78
|
"@vercel/kv": "^0.2.1",
|
|
79
79
|
"node-html-parser": "^6.1.4",
|
|
80
80
|
"prop-types": "^15.8.1",
|
|
@@ -83,7 +83,7 @@
|
|
|
83
83
|
},
|
|
84
84
|
"description": "",
|
|
85
85
|
"types": "types/index.d.ts",
|
|
86
|
-
"gitHead": "
|
|
86
|
+
"gitHead": "79e2de42a17b8cd295bf05ba7d72147f5e8c5667",
|
|
87
87
|
"files": [
|
|
88
88
|
"dist",
|
|
89
89
|
"types",
|