gt-next 5.2.14 → 5.2.15-alpha.1
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/dist/branches/Plural.d.ts +2 -2
- package/dist/branches/Plural.js +2 -2
- package/dist/middleware-dir/createNextMiddleware.d.ts.map +1 -1
- package/dist/middleware-dir/createNextMiddleware.js +55 -45
- package/dist/middleware-dir/createNextMiddleware.js.map +1 -1
- package/dist/middleware-dir/utils.d.ts +6 -3
- package/dist/middleware-dir/utils.d.ts.map +1 -1
- package/dist/middleware-dir/utils.js +44 -11
- package/dist/middleware-dir/utils.js.map +1 -1
- package/dist/server-dir/buildtime/T.d.ts +3 -3
- package/dist/server-dir/buildtime/T.js +3 -3
- package/dist/server-dir/runtime/_Tx.d.ts +3 -3
- package/dist/server-dir/runtime/_Tx.js +3 -3
- package/package.json +1 -1
|
@@ -8,8 +8,8 @@
|
|
|
8
8
|
* ```jsx
|
|
9
9
|
* <Plural
|
|
10
10
|
* n={n}
|
|
11
|
-
* one={<>There is <Num
|
|
12
|
-
* other={<>There are <Num
|
|
11
|
+
* one={<>There is <Num children={n}/> item.</>}
|
|
12
|
+
* other={<>There are <Num children={n}/> items.</>}
|
|
13
13
|
* />
|
|
14
14
|
* ```
|
|
15
15
|
* In this example, if `n` is 1, it renders `"There is 1 item"`. If `n` is a different number, it renders
|
package/dist/branches/Plural.js
CHANGED
|
@@ -63,8 +63,8 @@ var getI18NConfig_1 = __importDefault(require("../config-dir/getI18NConfig"));
|
|
|
63
63
|
* ```jsx
|
|
64
64
|
* <Plural
|
|
65
65
|
* n={n}
|
|
66
|
-
* one={<>There is <Num
|
|
67
|
-
* other={<>There are <Num
|
|
66
|
+
* one={<>There is <Num children={n}/> item.</>}
|
|
67
|
+
* other={<>There are <Num children={n}/> items.</>}
|
|
68
68
|
* />
|
|
69
69
|
* ```
|
|
70
70
|
* In this example, if `n` is 1, it renders `"There is 1 item"`. If `n` is a different number, it renders
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"createNextMiddleware.d.ts","sourceRoot":"","sources":["../../src/middleware-dir/createNextMiddleware.ts"],"names":[],"mappings":"AAUA,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAKxD,OAAO,EACL,UAAU,EAMX,MAAM,SAAS,CAAC;AAEjB;;;;;;;;;;;GAWG;AACH,MAAM,CAAC,OAAO,UAAU,oBAAoB,CAAC,EAC3C,aAAoB,EACpB,mBAA2B,EAC3B,UAAe,GAChB,GAAE;IACD,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,UAAU,CAAC,EAAE,UAAU,CAAC;CACpB,
|
|
1
|
+
{"version":3,"file":"createNextMiddleware.d.ts","sourceRoot":"","sources":["../../src/middleware-dir/createNextMiddleware.ts"],"names":[],"mappings":"AAUA,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAKxD,OAAO,EACL,UAAU,EAMX,MAAM,SAAS,CAAC;AAEjB;;;;;;;;;;;GAWG;AACH,MAAM,CAAC,OAAO,UAAU,oBAAoB,CAAC,EAC3C,aAAoB,EACpB,mBAA2B,EAC3B,UAAe,GAChB,GAAE;IACD,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,UAAU,CAAC,EAAE,UAAU,CAAC;CACpB,SA0EyB,WAAW,2BAyLzC"}
|
|
@@ -60,7 +60,7 @@ function createNextMiddleware(_a) {
|
|
|
60
60
|
return acc;
|
|
61
61
|
}, {});
|
|
62
62
|
// Create the path mapping
|
|
63
|
-
var
|
|
63
|
+
var _f = (0, utils_1.createPathToSharedPathMap)(pathConfig, prefixDefaultLocale, defaultLocale), pathToSharedPath = _f.pathToSharedPath, defaultLocalePaths = _f.defaultLocalePaths;
|
|
64
64
|
/**
|
|
65
65
|
* Processes the incoming request to determine the user's locale and sets a locale cookie.
|
|
66
66
|
* Optionally redirects the user based on the locale if locale-based routing is enabled.
|
|
@@ -83,7 +83,7 @@ function createNextMiddleware(_a) {
|
|
|
83
83
|
},
|
|
84
84
|
});
|
|
85
85
|
// ---------- LOCALE DETECTION ---------- //
|
|
86
|
-
var _a = (0, utils_1.getLocaleFromRequest)(req, defaultLocale, approvedLocales, localeRouting, gtServicesEnabled), userLocale = _a.userLocale, pathnameLocale = _a.pathnameLocale, unstandardizedPathnameLocale = _a.unstandardizedPathnameLocale, clearResetCookie = _a.clearResetCookie;
|
|
86
|
+
var _a = (0, utils_1.getLocaleFromRequest)(req, defaultLocale, approvedLocales, localeRouting, gtServicesEnabled, prefixDefaultLocale, defaultLocalePaths), userLocale = _a.userLocale, pathnameLocale = _a.pathnameLocale, unstandardizedPathnameLocale = _a.unstandardizedPathnameLocale, clearResetCookie = _a.clearResetCookie;
|
|
87
87
|
res.headers.set(internal_1.localeHeaderName, userLocale);
|
|
88
88
|
res.cookies.set(constants_1.middlewareLocaleRoutingFlagName, localeRouting.toString());
|
|
89
89
|
if (clearResetCookie) {
|
|
@@ -100,6 +100,10 @@ function createNextMiddleware(_a) {
|
|
|
100
100
|
: pathname;
|
|
101
101
|
// Get the shared path for the unprefixed pathname
|
|
102
102
|
var sharedPath = (0, utils_1.getSharedPath)(standardizedPathname, pathToSharedPath);
|
|
103
|
+
// Get shared path with parameters (/en/dashboard/1/custom)
|
|
104
|
+
var sharedPathWithParameters = (0, utils_1.replaceDynamicSegments)(pathnameLocale
|
|
105
|
+
? standardizedPathname
|
|
106
|
+
: "/".concat(userLocale).concat(standardizedPathname), "/".concat(userLocale).concat(sharedPath));
|
|
103
107
|
// Localized path (/en-US/blog, /fr/fr-about, /fr/dashboard/[id]/custom)
|
|
104
108
|
var localizedPath = sharedPath && (0, utils_1.getLocalizedPath)(sharedPath, userLocale, pathConfig);
|
|
105
109
|
// Combine localized path with dynamic parameters (/en-US/blog, /fr/fr-about, /fr/dashboard/1/fr-custom)
|
|
@@ -108,40 +112,44 @@ function createNextMiddleware(_a) {
|
|
|
108
112
|
? standardizedPathname
|
|
109
113
|
: "/".concat(userLocale).concat(standardizedPathname), localizedPath);
|
|
110
114
|
// ---------- ROUTING LOGIC ---------- //
|
|
111
|
-
//
|
|
112
|
-
if (localizedPathWithParameters
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
// REWRITE CASE: proxies a localized path, same locale (/fr/fr-about => /fr/about) (/fr/dashboard/1/fr-custom => /fr/dashboard/1/custom)
|
|
123
|
-
if (localizedPathWithParameters &&
|
|
124
|
-
standardizedPathname === localizedPathWithParameters) {
|
|
125
|
-
// convert to shared path with dynamic parameters
|
|
126
|
-
var rewritePath = (0, utils_1.replaceDynamicSegments)(localizedPathWithParameters, "/".concat(userLocale).concat(sharedPath));
|
|
127
|
-
var rewriteUrl = new URL(rewritePath, originalUrl);
|
|
128
|
-
rewriteUrl.search = originalUrl.search;
|
|
129
|
-
headerList.set(internal_1.localeHeaderName, userLocale);
|
|
130
|
-
var response = server_1.NextResponse.rewrite(rewriteUrl, {
|
|
131
|
-
headers: headerList,
|
|
132
|
-
});
|
|
115
|
+
// CASE: no localized path exists
|
|
116
|
+
if (!localizedPathWithParameters) {
|
|
117
|
+
// BASE CASE: no localized path exists, so no change
|
|
118
|
+
if (pathnameLocale && pathnameLocale === unstandardizedPathnameLocale) {
|
|
119
|
+
return res;
|
|
120
|
+
}
|
|
121
|
+
// REDIRECT CASE: no/invalide pathnameLocale, add a default locale prefix
|
|
122
|
+
var redirectPath = "/".concat(userLocale).concat(pathname);
|
|
123
|
+
var redirectUrl = new URL(redirectPath, originalUrl);
|
|
124
|
+
redirectUrl.search = originalUrl.search;
|
|
125
|
+
var response = server_1.NextResponse.redirect(redirectUrl);
|
|
133
126
|
response.headers.set(internal_1.localeHeaderName, userLocale);
|
|
134
127
|
response.cookies.set(constants_1.middlewareLocaleRoutingFlagName, 'true');
|
|
135
|
-
if (clearResetCookie) {
|
|
136
|
-
response.cookies.delete(constants_1.middlewareLocaleResetFlagName);
|
|
137
|
-
}
|
|
138
128
|
return response;
|
|
139
129
|
}
|
|
140
|
-
//
|
|
130
|
+
// CASE: remove default locale prefix
|
|
141
131
|
if (!pathnameLocale &&
|
|
142
132
|
!prefixDefaultLocale &&
|
|
143
133
|
(0, generaltranslation_1.isSameDialect)(userLocale, defaultLocale)) {
|
|
144
|
-
|
|
134
|
+
// REDIRECT CASE: displaying wrong path, convert to non-prefixed localized path (/about -> /en-about) (/dashboard/1/custom -> /en-dashboard/1/en-custom)
|
|
135
|
+
if (localizedPathWithParameters !== "/".concat(userLocale).concat(pathname)) {
|
|
136
|
+
// remove locale prefix
|
|
137
|
+
var redirectPath = localizedPathWithParameters.replace(new RegExp("^/".concat(userLocale)), '');
|
|
138
|
+
var redirectUrl = new URL(redirectPath, originalUrl);
|
|
139
|
+
redirectUrl.search = originalUrl.search;
|
|
140
|
+
var response_1 = server_1.NextResponse.redirect(redirectUrl);
|
|
141
|
+
response_1.headers.set(internal_1.localeHeaderName, userLocale);
|
|
142
|
+
response_1.cookies.set(constants_1.middlewareLocaleRoutingFlagName, 'true');
|
|
143
|
+
if (clearResetCookie) {
|
|
144
|
+
response_1.cookies.delete(constants_1.middlewareLocaleResetFlagName);
|
|
145
|
+
}
|
|
146
|
+
return response_1;
|
|
147
|
+
}
|
|
148
|
+
// REWRITE CASE: displaying correct path (/blog -> /en/blog) (/en-dashboard/1/en-custom -> /en/dashboard/1/custom) (/en-about -> /en/about)
|
|
149
|
+
// shared path with dynamic parameters
|
|
150
|
+
var rewritePath = (0, utils_1.replaceDynamicSegments)(pathnameLocale
|
|
151
|
+
? standardizedPathname
|
|
152
|
+
: "/".concat(userLocale).concat(standardizedPathname), "/".concat(userLocale).concat(sharedPath));
|
|
145
153
|
var rewriteUrl = new URL(rewritePath, originalUrl);
|
|
146
154
|
rewriteUrl.search = originalUrl.search;
|
|
147
155
|
var response = server_1.NextResponse.rewrite(rewriteUrl, {
|
|
@@ -154,16 +162,13 @@ function createNextMiddleware(_a) {
|
|
|
154
162
|
}
|
|
155
163
|
return response;
|
|
156
164
|
}
|
|
157
|
-
// REDIRECT CASE:
|
|
158
|
-
//
|
|
159
|
-
//
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
var redirectPath = localizedPathWithParameters
|
|
164
|
-
(pathnameLocale
|
|
165
|
-
? pathname.replace(new RegExp("^/".concat(unstandardizedPathnameLocale)), "/".concat(userLocale))
|
|
166
|
-
: "/".concat(userLocale).concat(pathname));
|
|
165
|
+
// REDIRECT CASE: no localization prefix (invalid path), redirect to a localized path (ie, /blog -> /en-US/blog) (/dashboard -> /fr/fr-dashboard)
|
|
166
|
+
// REDIRECT CASE: locale prefix mismatch userLocale (invalid path), redirect to a localized path (ie, /en-US/blog -> /fr/blog) (/tl/dashboard -> /fil/tl-dashboard)
|
|
167
|
+
// REDIRECT CASE: displayed path doesnt match localized path (invalid path) (/fr/about -> /fr/fr-about) (NOT: /en/fr-about -> /en/en-about, /en/fr-about should 404)
|
|
168
|
+
if (!pathnameLocale ||
|
|
169
|
+
unstandardizedPathnameLocale !== userLocale ||
|
|
170
|
+
localizedPathWithParameters !== standardizedPathname) {
|
|
171
|
+
var redirectPath = localizedPathWithParameters;
|
|
167
172
|
var redirectUrl = new URL(redirectPath, originalUrl);
|
|
168
173
|
redirectUrl.search = originalUrl.search;
|
|
169
174
|
var response = server_1.NextResponse.redirect(redirectUrl);
|
|
@@ -174,11 +179,17 @@ function createNextMiddleware(_a) {
|
|
|
174
179
|
}
|
|
175
180
|
return response;
|
|
176
181
|
}
|
|
177
|
-
//
|
|
178
|
-
if (localizedPathWithParameters
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
+
// REWRITE CASE: displaying correct path at localized path, which is the same as the shared path (/fil/blog => /fil/blog) (/fr/fr-dashboard/1/fr-custom => /fr/dashboard/1/custom)
|
|
183
|
+
if (standardizedPathname === localizedPathWithParameters && // we are displaying the correct path
|
|
184
|
+
standardizedPathname !== sharedPathWithParameters // no rewrite needed if it's already the shared path
|
|
185
|
+
) {
|
|
186
|
+
// convert to shared path with dynamic parameters
|
|
187
|
+
var rewritePath = sharedPathWithParameters;
|
|
188
|
+
var rewriteUrl = new URL(rewritePath, originalUrl);
|
|
189
|
+
rewriteUrl.search = originalUrl.search;
|
|
190
|
+
var response = server_1.NextResponse.rewrite(rewriteUrl, {
|
|
191
|
+
headers: headerList,
|
|
192
|
+
});
|
|
182
193
|
response.headers.set(internal_1.localeHeaderName, userLocale);
|
|
183
194
|
response.cookies.set(constants_1.middlewareLocaleRoutingFlagName, 'true');
|
|
184
195
|
if (clearResetCookie) {
|
|
@@ -187,7 +198,6 @@ function createNextMiddleware(_a) {
|
|
|
187
198
|
return response;
|
|
188
199
|
}
|
|
189
200
|
// BASE CASE
|
|
190
|
-
return res;
|
|
191
201
|
}
|
|
192
202
|
return res;
|
|
193
203
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"createNextMiddleware.js","sourceRoot":"","sources":["../../src/middleware-dir/createNextMiddleware.ts"],"names":[],"mappings":";;AAoCA,
|
|
1
|
+
{"version":3,"file":"createNextMiddleware.js","sourceRoot":"","sources":["../../src/middleware-dir/createNextMiddleware.ts"],"names":[],"mappings":"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"}
|
|
@@ -23,8 +23,11 @@ export declare function getLocalizedPath(sharedPath: string, locale: string, pat
|
|
|
23
23
|
/**
|
|
24
24
|
* Creates a map of localized paths to shared paths using regex patterns
|
|
25
25
|
*/
|
|
26
|
-
export declare function createPathToSharedPathMap(pathConfig: PathConfig): {
|
|
27
|
-
|
|
26
|
+
export declare function createPathToSharedPathMap(pathConfig: PathConfig, prefixDefaultLocale: boolean, defaultLocale: string): {
|
|
27
|
+
pathToSharedPath: {
|
|
28
|
+
[key: string]: string;
|
|
29
|
+
};
|
|
30
|
+
defaultLocalePaths: string[];
|
|
28
31
|
};
|
|
29
32
|
/**
|
|
30
33
|
* Gets the shared path from a given pathname, handling both static and dynamic paths
|
|
@@ -35,7 +38,7 @@ export declare function getSharedPath(pathname: string, pathToSharedPath: {
|
|
|
35
38
|
/**
|
|
36
39
|
* Gets the locale from the request using various sources
|
|
37
40
|
*/
|
|
38
|
-
export declare function getLocaleFromRequest(req: NextRequest, defaultLocale: string, approvedLocales: string[], localeRouting: boolean, gtServicesEnabled: boolean): {
|
|
41
|
+
export declare function getLocaleFromRequest(req: NextRequest, defaultLocale: string, approvedLocales: string[], localeRouting: boolean, gtServicesEnabled: boolean, prefixDefaultLocale: boolean, defaultLocalePaths: string[]): {
|
|
39
42
|
userLocale: string;
|
|
40
43
|
pathnameLocale: string | undefined;
|
|
41
44
|
unstandardizedPathnameLocale: string | null | undefined;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/middleware-dir/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAS1C,MAAM,MAAM,UAAU,GAAG;IACvB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE,CAAC;CACnD,CAAC;AAEF;;GAEG;AACH,wBAAgB,aAAa,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAG7D;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAClC,YAAY,EAAE,MAAM,EACpB,IAAI,EAAE,MAAM,GACX,MAAM,EAAE,CAcV;AAED;;GAEG;AACH,wBAAgB,sBAAsB,CACpC,IAAI,EAAE,MAAM,EACZ,YAAY,EAAE,MAAM,GACnB,MAAM,CASR;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAC9B,UAAU,EAAE,MAAM,EAClB,MAAM,EAAE,MAAM,EACd,UAAU,EAAE,UAAU,GACrB,MAAM,GAAG,SAAS,CAapB;AAED;;GAEG;AACH,wBAAgB,yBAAyB,
|
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/middleware-dir/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAS1C,MAAM,MAAM,UAAU,GAAG;IACvB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE,CAAC;CACnD,CAAC;AAEF;;GAEG;AACH,wBAAgB,aAAa,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAG7D;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAClC,YAAY,EAAE,MAAM,EACpB,IAAI,EAAE,MAAM,GACX,MAAM,EAAE,CAcV;AAED;;GAEG;AACH,wBAAgB,sBAAsB,CACpC,IAAI,EAAE,MAAM,EACZ,YAAY,EAAE,MAAM,GACnB,MAAM,CASR;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAC9B,UAAU,EAAE,MAAM,EAClB,MAAM,EAAE,MAAM,EACd,UAAU,EAAE,UAAU,GACrB,MAAM,GAAG,SAAS,CAapB;AAED;;GAEG;AACH,wBAAgB,yBAAyB,CACvC,UAAU,EAAE,UAAU,EACtB,mBAAmB,EAAE,OAAO,EAC5B,aAAa,EAAE,MAAM,GACpB;IACD,gBAAgB,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE,CAAC;IAC5C,kBAAkB,EAAE,MAAM,EAAE,CAAC;CAC9B,CA+BA;AAED;;GAEG;AACH,wBAAgB,aAAa,CAC3B,QAAQ,EAAE,MAAM,EAChB,gBAAgB,EAAE;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;CAAE,GAC1C,MAAM,GAAG,SAAS,CA2BpB;AA4BD;;GAEG;AACH,wBAAgB,oBAAoB,CAClC,GAAG,EAAE,WAAW,EAChB,aAAa,EAAE,MAAM,EACrB,eAAe,EAAE,MAAM,EAAE,EACzB,aAAa,EAAE,OAAO,EACtB,iBAAiB,EAAE,OAAO,EAC1B,mBAAmB,EAAE,OAAO,EAC5B,kBAAkB,EAAE,MAAM,EAAE,GAC3B;IACD,UAAU,EAAE,MAAM,CAAC;IACnB,cAAc,EAAE,MAAM,GAAG,SAAS,CAAC;IACnC,4BAA4B,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC;IACxD,gBAAgB,EAAE,OAAO,CAAC;CAC3B,CA+EA"}
|
|
@@ -65,28 +65,33 @@ function getLocalizedPath(sharedPath, locale, pathConfig) {
|
|
|
65
65
|
/**
|
|
66
66
|
* Creates a map of localized paths to shared paths using regex patterns
|
|
67
67
|
*/
|
|
68
|
-
function createPathToSharedPathMap(pathConfig) {
|
|
68
|
+
function createPathToSharedPathMap(pathConfig, prefixDefaultLocale, defaultLocale) {
|
|
69
69
|
return Object.entries(pathConfig).reduce(function (acc, _a) {
|
|
70
|
-
var sharedPath = _a[0],
|
|
70
|
+
var sharedPath = _a[0], localizedPaths = _a[1];
|
|
71
|
+
var pathToSharedPath = acc.pathToSharedPath, defaultLocalePaths = acc.defaultLocalePaths;
|
|
71
72
|
// Add the shared path itself, converting to regex pattern if it has dynamic segments
|
|
72
73
|
if (sharedPath.includes('[')) {
|
|
73
74
|
var pattern = sharedPath.replace(/\[([^\]]+)\]/g, '[^/]+');
|
|
74
|
-
|
|
75
|
+
pathToSharedPath[pattern] = sharedPath;
|
|
75
76
|
}
|
|
76
77
|
else {
|
|
77
|
-
|
|
78
|
+
pathToSharedPath[sharedPath] = sharedPath;
|
|
78
79
|
}
|
|
79
|
-
if (typeof
|
|
80
|
-
Object.entries(
|
|
80
|
+
if (typeof localizedPaths === 'object') {
|
|
81
|
+
Object.entries(localizedPaths).forEach(function (_a) {
|
|
81
82
|
var locale = _a[0], localizedPath = _a[1];
|
|
82
83
|
// Convert the localized path to a regex pattern
|
|
83
84
|
// Replace [param] with [^/]+ to match any non-slash characters
|
|
84
85
|
var pattern = localizedPath.replace(/\[([^\]]+)\]/g, '[^/]+');
|
|
85
|
-
|
|
86
|
+
pathToSharedPath["/".concat(locale).concat(pattern)] = sharedPath;
|
|
87
|
+
if (!prefixDefaultLocale && locale === defaultLocale) {
|
|
88
|
+
pathToSharedPath[pattern] = sharedPath;
|
|
89
|
+
defaultLocalePaths.push(pattern);
|
|
90
|
+
}
|
|
86
91
|
});
|
|
87
92
|
}
|
|
88
93
|
return acc;
|
|
89
|
-
}, {});
|
|
94
|
+
}, { pathToSharedPath: {}, defaultLocalePaths: [] });
|
|
90
95
|
}
|
|
91
96
|
/**
|
|
92
97
|
* Gets the shared path from a given pathname, handling both static and dynamic paths
|
|
@@ -96,7 +101,7 @@ function getSharedPath(pathname, pathToSharedPath) {
|
|
|
96
101
|
if (pathToSharedPath[pathname]) {
|
|
97
102
|
return pathToSharedPath[pathname];
|
|
98
103
|
}
|
|
99
|
-
//
|
|
104
|
+
// Without locale prefix
|
|
100
105
|
var pathnameWithoutLocale = pathname.replace(/^\/[^/]+/, '');
|
|
101
106
|
if (pathToSharedPath[pathnameWithoutLocale]) {
|
|
102
107
|
return pathToSharedPath[pathnameWithoutLocale];
|
|
@@ -118,17 +123,38 @@ function getSharedPath(pathname, pathToSharedPath) {
|
|
|
118
123
|
}
|
|
119
124
|
return candidateSharedPath;
|
|
120
125
|
}
|
|
126
|
+
/**
|
|
127
|
+
*
|
|
128
|
+
* @returns
|
|
129
|
+
*/
|
|
130
|
+
function inDefaultLocalePaths(pathname, defaultLocalePaths) {
|
|
131
|
+
// Try exact match first
|
|
132
|
+
if (defaultLocalePaths.includes(pathname)) {
|
|
133
|
+
return true;
|
|
134
|
+
}
|
|
135
|
+
// Try regex pattern match
|
|
136
|
+
for (var _i = 0, defaultLocalePaths_1 = defaultLocalePaths; _i < defaultLocalePaths_1.length; _i++) {
|
|
137
|
+
var path = defaultLocalePaths_1[_i];
|
|
138
|
+
if (path.includes('/[^/]+')) {
|
|
139
|
+
var regex = new RegExp("^".concat(path.replace(/\//g, '\\/'), "$"));
|
|
140
|
+
if (regex.test(pathname)) {
|
|
141
|
+
return true;
|
|
142
|
+
}
|
|
143
|
+
}
|
|
144
|
+
}
|
|
145
|
+
return false;
|
|
146
|
+
}
|
|
121
147
|
/**
|
|
122
148
|
* Gets the locale from the request using various sources
|
|
123
149
|
*/
|
|
124
|
-
function getLocaleFromRequest(req, defaultLocale, approvedLocales, localeRouting, gtServicesEnabled) {
|
|
150
|
+
function getLocaleFromRequest(req, defaultLocale, approvedLocales, localeRouting, gtServicesEnabled, prefixDefaultLocale, defaultLocalePaths) {
|
|
125
151
|
var _a, _b;
|
|
126
152
|
var headerList = new Headers(req.headers);
|
|
127
153
|
var candidates = [];
|
|
128
154
|
var clearResetCookie = false;
|
|
155
|
+
var pathname = req.nextUrl.pathname;
|
|
129
156
|
// Check pathname locales
|
|
130
157
|
var pathnameLocale, unstandardizedPathnameLocale;
|
|
131
|
-
var pathname = req.nextUrl.pathname;
|
|
132
158
|
if (localeRouting) {
|
|
133
159
|
unstandardizedPathnameLocale = extractLocale(pathname);
|
|
134
160
|
var extractedLocale = gtServicesEnabled
|
|
@@ -139,6 +165,13 @@ function getLocaleFromRequest(req, defaultLocale, approvedLocales, localeRouting
|
|
|
139
165
|
candidates.push(pathnameLocale);
|
|
140
166
|
}
|
|
141
167
|
}
|
|
168
|
+
// Check pathname for a customized unprefixed default locale path (e.g. /en-about , /en-dashboard/1/en-custom)
|
|
169
|
+
if (localeRouting &&
|
|
170
|
+
!prefixDefaultLocale &&
|
|
171
|
+
!pathnameLocale &&
|
|
172
|
+
inDefaultLocalePaths(pathname, defaultLocalePaths)) {
|
|
173
|
+
candidates.push(defaultLocale); // will override other candidates
|
|
174
|
+
}
|
|
142
175
|
// Check cookie locale
|
|
143
176
|
var cookieLocale = req.cookies.get(internal_1.localeCookieName);
|
|
144
177
|
if ((cookieLocale === null || cookieLocale === void 0 ? void 0 : cookieLocale.value) && (0, generaltranslation_1.isValidLocale)(cookieLocale === null || cookieLocale === void 0 ? void 0 : cookieLocale.value)) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/middleware-dir/utils.ts"],"names":[],"mappings":";;AAgBA,sCAGC;AAKD,oDAiBC;AAKD,wDAYC;AAKD,4CAiBC;AAKD,
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/middleware-dir/utils.ts"],"names":[],"mappings":"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"}
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
* ```jsx
|
|
6
6
|
* // Basic usage:
|
|
7
7
|
* <T id="welcome_message">
|
|
8
|
-
* Hello, <Var
|
|
8
|
+
* Hello, <Var>{name}</Var>!
|
|
9
9
|
* </T>
|
|
10
10
|
* ```
|
|
11
11
|
*
|
|
@@ -13,8 +13,8 @@
|
|
|
13
13
|
* ```jsx
|
|
14
14
|
* // Translating a plural
|
|
15
15
|
* <T id="item_count">
|
|
16
|
-
* <Plural n={3} singular={<>You have <Num
|
|
17
|
-
* You have <Num
|
|
16
|
+
* <Plural n={3} singular={<>You have <Num children={n}/> item.</>}>
|
|
17
|
+
* You have <Num children={n}/> items.
|
|
18
18
|
* </Plural>
|
|
19
19
|
* </T>
|
|
20
20
|
* ```
|
|
@@ -75,7 +75,7 @@ function Resolver(_a) {
|
|
|
75
75
|
* ```jsx
|
|
76
76
|
* // Basic usage:
|
|
77
77
|
* <T id="welcome_message">
|
|
78
|
-
* Hello, <Var
|
|
78
|
+
* Hello, <Var>{name}</Var>!
|
|
79
79
|
* </T>
|
|
80
80
|
* ```
|
|
81
81
|
*
|
|
@@ -83,8 +83,8 @@ function Resolver(_a) {
|
|
|
83
83
|
* ```jsx
|
|
84
84
|
* // Translating a plural
|
|
85
85
|
* <T id="item_count">
|
|
86
|
-
* <Plural n={3} singular={<>You have <Num
|
|
87
|
-
* You have <Num
|
|
86
|
+
* <Plural n={3} singular={<>You have <Num children={n}/> item.</>}>
|
|
87
|
+
* You have <Num children={n}/> items.
|
|
88
88
|
* </Plural>
|
|
89
89
|
* </T>
|
|
90
90
|
* ```
|
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
* ```jsx
|
|
7
7
|
* // Basic usage:
|
|
8
8
|
* <Tx id="welcome_message">
|
|
9
|
-
* Hello, <Var
|
|
9
|
+
* Hello, <Var>{name}</Var>!
|
|
10
10
|
* </Tx>
|
|
11
11
|
* ```
|
|
12
12
|
*
|
|
@@ -14,8 +14,8 @@
|
|
|
14
14
|
* ```jsx
|
|
15
15
|
* // Translating a plural
|
|
16
16
|
* <T id="item_count">
|
|
17
|
-
* <Plural n={3} singular={<>You have <Num
|
|
18
|
-
* You have <Num
|
|
17
|
+
* <Plural n={3} singular={<>You have <Num children={n}/> item.</>}>
|
|
18
|
+
* You have <Num children={n}/> items.
|
|
19
19
|
* </Plural>
|
|
20
20
|
* </T>
|
|
21
21
|
* ```
|
|
@@ -76,7 +76,7 @@ function Resolver(_a) {
|
|
|
76
76
|
* ```jsx
|
|
77
77
|
* // Basic usage:
|
|
78
78
|
* <Tx id="welcome_message">
|
|
79
|
-
* Hello, <Var
|
|
79
|
+
* Hello, <Var>{name}</Var>!
|
|
80
80
|
* </Tx>
|
|
81
81
|
* ```
|
|
82
82
|
*
|
|
@@ -84,8 +84,8 @@ function Resolver(_a) {
|
|
|
84
84
|
* ```jsx
|
|
85
85
|
* // Translating a plural
|
|
86
86
|
* <T id="item_count">
|
|
87
|
-
* <Plural n={3} singular={<>You have <Num
|
|
88
|
-
* You have <Num
|
|
87
|
+
* <Plural n={3} singular={<>You have <Num children={n}/> item.</>}>
|
|
88
|
+
* You have <Num children={n}/> items.
|
|
89
89
|
* </Plural>
|
|
90
90
|
* </T>
|
|
91
91
|
* ```
|