next-intl 2.14.1 → 2.14.3-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/middleware/middleware.d.ts +4 -1
- package/dist/server/index.d.ts +4 -1
- package/dist/src/middleware/middleware.d.ts +4 -1
- package/dist/src/middleware/middleware.js +13 -4
- package/dist/src/middleware/middleware.js.map +1 -1
- package/dist/src/server/index.d.ts +4 -1
- package/package.json +2 -2
- package/src/middleware/middleware.tsx +16 -4
|
@@ -1,3 +1,6 @@
|
|
|
1
1
|
import { NextRequest, NextResponse } from 'next/server';
|
|
2
2
|
import MiddlewareConfig from './NextIntlMiddlewareConfig';
|
|
3
|
-
export default function createMiddleware(config: MiddlewareConfig):
|
|
3
|
+
export default function createMiddleware(config: MiddlewareConfig): {
|
|
4
|
+
(request: NextRequest): NextResponse;
|
|
5
|
+
middleware: any;
|
|
6
|
+
};
|
package/dist/server/index.d.ts
CHANGED
|
@@ -3,4 +3,7 @@
|
|
|
3
3
|
*/
|
|
4
4
|
import MiddlewareConfig from '../middleware/NextIntlMiddlewareConfig';
|
|
5
5
|
/** @deprecated Should be imported as `import createMiddleware from 'next-intl/middleware', not from `next-intl/server`. */
|
|
6
|
-
export declare function createIntlMiddleware(config: MiddlewareConfig):
|
|
6
|
+
export declare function createIntlMiddleware(config: MiddlewareConfig): {
|
|
7
|
+
(request: import("next/server").NextRequest): import("next/server").NextResponse;
|
|
8
|
+
middleware: any;
|
|
9
|
+
};
|
|
@@ -1,3 +1,6 @@
|
|
|
1
1
|
import { NextRequest, NextResponse } from 'next/server';
|
|
2
2
|
import MiddlewareConfig from './NextIntlMiddlewareConfig';
|
|
3
|
-
export default function createMiddleware(config: MiddlewareConfig):
|
|
3
|
+
export default function createMiddleware(config: MiddlewareConfig): {
|
|
4
|
+
(request: NextRequest): NextResponse;
|
|
5
|
+
middleware: any;
|
|
6
|
+
};
|
|
@@ -19,7 +19,7 @@ export default function createMiddleware(config) {
|
|
|
19
19
|
// Currently only in use to enable a seamless upgrade path from the
|
|
20
20
|
// `{createIntlMiddleware} from 'next-intl/server'` API.
|
|
21
21
|
const matcher = config._matcher;
|
|
22
|
-
|
|
22
|
+
function middleware(request) {
|
|
23
23
|
var _a, _b;
|
|
24
24
|
const matches = !matcher ||
|
|
25
25
|
matcher.some((pattern) => request.nextUrl.pathname.match(pattern));
|
|
@@ -34,8 +34,12 @@ export default function createMiddleware(config) {
|
|
|
34
34
|
const domainConfigs = ((_b = configWithDefaults.domains) === null || _b === void 0 ? void 0 : _b.filter((curDomain) => isLocaleSupportedOnDomain(locale, curDomain))) || [];
|
|
35
35
|
const hasUnknownHost = configWithDefaults.domains != null && !domain;
|
|
36
36
|
function getResponseInit() {
|
|
37
|
-
|
|
38
|
-
|
|
37
|
+
const responseInit = {
|
|
38
|
+
request: {
|
|
39
|
+
headers: request.headers
|
|
40
|
+
}
|
|
41
|
+
};
|
|
42
|
+
return responseInit;
|
|
39
43
|
}
|
|
40
44
|
function rewrite(url) {
|
|
41
45
|
return NextResponse.rewrite(new URL(url, request.url), getResponseInit());
|
|
@@ -131,6 +135,11 @@ export default function createMiddleware(config) {
|
|
|
131
135
|
response.headers.set('Link', getAlternateLinksHeaderValue(configWithDefaults, request));
|
|
132
136
|
}
|
|
133
137
|
return response;
|
|
134
|
-
}
|
|
138
|
+
}
|
|
139
|
+
// Next.js is ambiguous if a middleware should be defined as a named
|
|
140
|
+
// or default export. We support both patterns for compatibility.
|
|
141
|
+
// https://github.com/amannn/next-intl/issues/290
|
|
142
|
+
middleware.middleware = middleware;
|
|
143
|
+
return middleware;
|
|
135
144
|
}
|
|
136
145
|
//# sourceMappingURL=middleware.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"middleware.js","sourceRoot":"","sources":["../../../src/middleware/middleware.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAc,YAAY,EAAC,MAAM,aAAa,CAAC;AACtD,OAAO,EAAC,kBAAkB,EAAC,MAAM,qBAAqB,CAAC;AAIvD,OAAO,4BAA4B,MAAM,gCAAgC,CAAC;AAC1E,OAAO,aAAa,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EACL,qBAAqB,EACrB,qBAAqB,EACrB,yBAAyB,EAC1B,MAAM,SAAS,CAAC;AAEjB,MAAM,QAAQ,GAAG,GAAG,CAAC;AAErB,SAAS,aAAa,CAAC,MAAwB;;IAC7C,MAAM,MAAM,GAAiC;QAC3C,GAAG,MAAM;QACT,cAAc,EAAE,MAAA,MAAM,CAAC,cAAc,mCAAI,IAAI;QAC7C,YAAY,EAAE,MAAA,MAAM,CAAC,YAAY,mCAAI,WAAW;QAChD,eAAe,EAAE,MAAA,MAAM,CAAC,eAAe,mCAAI,IAAI;KAChD,CAAC;IAEF,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,MAAM,CAAC,OAAO,UAAU,gBAAgB,CAAC,MAAwB;IAC/D,MAAM,kBAAkB,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC;IAEjD,mEAAmE;IACnE,wDAAwD;IACxD,MAAM,OAAO,GAA+B,MAAc,CAAC,QAAQ,CAAC;IAEpE,
|
|
1
|
+
{"version":3,"file":"middleware.js","sourceRoot":"","sources":["../../../src/middleware/middleware.tsx"],"names":[],"mappings":"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"}
|
|
@@ -3,4 +3,7 @@
|
|
|
3
3
|
*/
|
|
4
4
|
import MiddlewareConfig from '../middleware/NextIntlMiddlewareConfig';
|
|
5
5
|
/** @deprecated Should be imported as `import createMiddleware from 'next-intl/middleware', not from `next-intl/server`. */
|
|
6
|
-
export declare function createIntlMiddleware(config: MiddlewareConfig):
|
|
6
|
+
export declare function createIntlMiddleware(config: MiddlewareConfig): {
|
|
7
|
+
(request: import("next/server").NextRequest): import("next/server").NextResponse;
|
|
8
|
+
middleware: any;
|
|
9
|
+
};
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "next-intl",
|
|
3
|
-
"version": "2.14.1",
|
|
3
|
+
"version": "2.14.3-alpha.1",
|
|
4
4
|
"sideEffects": false,
|
|
5
5
|
"author": "Jan Amann <jan@amann.work>",
|
|
6
6
|
"description": "A minimal, but complete solution for internationalization in Next.js apps.",
|
|
@@ -50,7 +50,7 @@
|
|
|
50
50
|
"dependencies": {
|
|
51
51
|
"@formatjs/intl-localematcher": "^0.2.32",
|
|
52
52
|
"negotiator": "^0.6.3",
|
|
53
|
-
"use-intl": "^2.14.
|
|
53
|
+
"use-intl": "^2.14.2"
|
|
54
54
|
},
|
|
55
55
|
"peerDependencies": {
|
|
56
56
|
"next": "^10.0.0 || ^11.0.0 || ^12.0.0 || ^13.0.0",
|
|
@@ -31,7 +31,7 @@ export default function createMiddleware(config: MiddlewareConfig) {
|
|
|
31
31
|
// `{createIntlMiddleware} from 'next-intl/server'` API.
|
|
32
32
|
const matcher: Array<string> | undefined = (config as any)._matcher;
|
|
33
33
|
|
|
34
|
-
|
|
34
|
+
function middleware(request: NextRequest) {
|
|
35
35
|
const matches =
|
|
36
36
|
!matcher ||
|
|
37
37
|
matcher.some((pattern) => request.nextUrl.pathname.match(pattern));
|
|
@@ -58,8 +58,13 @@ export default function createMiddleware(config: MiddlewareConfig) {
|
|
|
58
58
|
const hasUnknownHost = configWithDefaults.domains != null && !domain;
|
|
59
59
|
|
|
60
60
|
function getResponseInit() {
|
|
61
|
-
|
|
62
|
-
|
|
61
|
+
const responseInit = {
|
|
62
|
+
request: {
|
|
63
|
+
headers: request.headers
|
|
64
|
+
}
|
|
65
|
+
};
|
|
66
|
+
|
|
67
|
+
return responseInit;
|
|
63
68
|
}
|
|
64
69
|
|
|
65
70
|
function rewrite(url: string) {
|
|
@@ -189,5 +194,12 @@ export default function createMiddleware(config: MiddlewareConfig) {
|
|
|
189
194
|
}
|
|
190
195
|
|
|
191
196
|
return response;
|
|
192
|
-
}
|
|
197
|
+
}
|
|
198
|
+
|
|
199
|
+
// Next.js is ambiguous if a middleware should be defined as a named
|
|
200
|
+
// or default export. We support both patterns for compatibility.
|
|
201
|
+
// https://github.com/amannn/next-intl/issues/290
|
|
202
|
+
middleware.middleware = middleware;
|
|
203
|
+
|
|
204
|
+
return middleware;
|
|
193
205
|
}
|