next-intl 2.18.0 → 2.19.0

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.
@@ -1,4 +1,4 @@
1
- type LocalePrefix = 'as-needed' | 'always';
1
+ type LocalePrefix = 'as-needed' | 'always' | 'never';
2
2
  type RoutingBaseConfig = {
3
3
  /** A list of all locales that are supported. */
4
4
  locales: Array<string>;
@@ -1,4 +1,4 @@
1
- type LocalePrefix = 'as-needed' | 'always';
1
+ type LocalePrefix = 'as-needed' | 'always' | 'never';
2
2
  type RoutingBaseConfig = {
3
3
  /** A list of all locales that are supported. */
4
4
  locales: Array<string>;
@@ -72,8 +72,9 @@ export default function createMiddleware(config) {
72
72
  if (request.nextUrl.search) {
73
73
  pathWithSearch += request.nextUrl.search;
74
74
  }
75
- if (hasMatchedDefaultLocale &&
76
- configWithDefaults.localePrefix === 'as-needed') {
75
+ if (configWithDefaults.localePrefix === 'never' ||
76
+ (hasMatchedDefaultLocale &&
77
+ configWithDefaults.localePrefix === 'as-needed')) {
77
78
  response = rewrite(pathWithSearch);
78
79
  }
79
80
  else {
@@ -92,7 +93,10 @@ export default function createMiddleware(config) {
92
93
  }
93
94
  if (hasLocalePrefix) {
94
95
  const basePath = pathWithSearch.replace(`/${pathLocale}`, '') || '/';
95
- if (pathLocale === locale) {
96
+ if (configWithDefaults.localePrefix === 'never') {
97
+ response = redirect(basePath);
98
+ }
99
+ else if (pathLocale === locale) {
96
100
  if (hasMatchedDefaultLocale &&
97
101
  configWithDefaults.localePrefix === 'as-needed') {
98
102
  response = redirect(basePath);
@@ -117,9 +121,10 @@ export default function createMiddleware(config) {
117
121
  }
118
122
  }
119
123
  else {
120
- if (hasMatchedDefaultLocale &&
121
- (configWithDefaults.localePrefix === 'as-needed' ||
122
- configWithDefaults.domains)) {
124
+ if (configWithDefaults.localePrefix === 'never' ||
125
+ (hasMatchedDefaultLocale &&
126
+ (configWithDefaults.localePrefix === 'as-needed' ||
127
+ configWithDefaults.domains))) {
123
128
  response = rewrite(`/${locale}${pathWithSearch}`);
124
129
  }
125
130
  else {
@@ -132,7 +137,8 @@ export default function createMiddleware(config) {
132
137
  sameSite: 'strict'
133
138
  });
134
139
  }
135
- if (configWithDefaults.alternateLinks &&
140
+ if (configWithDefaults.localePrefix !== 'never' &&
141
+ configWithDefaults.alternateLinks &&
136
142
  configWithDefaults.locales.length > 1) {
137
143
  response.headers.set('Link', getAlternateLinksHeaderValue(configWithDefaults, request));
138
144
  }
@@ -1 +1 @@
1
- {"version":3,"file":"middleware.js","sourceRoot":"","sources":["../../../src/middleware/middleware.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"middleware.js","sourceRoot":"","sources":["../../../src/middleware/middleware.tsx"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "next-intl",
3
- "version": "2.18.0",
3
+ "version": "2.19.0",
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.",
@@ -67,7 +67,7 @@
67
67
  "dependencies": {
68
68
  "@formatjs/intl-localematcher": "^0.2.32",
69
69
  "negotiator": "^0.6.3",
70
- "use-intl": "^2.18.0"
70
+ "use-intl": "^2.19.0"
71
71
  },
72
72
  "peerDependencies": {
73
73
  "next": "^10.0.0 || ^11.0.0 || ^12.0.0 || ^13.0.0",
@@ -103,5 +103,5 @@
103
103
  "engines": {
104
104
  "node": ">=10"
105
105
  },
106
- "gitHead": "023d23a7a71f5594d8a457c09ea988b56b248239"
106
+ "gitHead": "d6d2f9e5b9b827a92e818b55ddf82e491545f1cd"
107
107
  }
@@ -1,4 +1,4 @@
1
- type LocalePrefix = 'as-needed' | 'always';
1
+ type LocalePrefix = 'as-needed' | 'always' | 'never';
2
2
 
3
3
  type RoutingBaseConfig = {
4
4
  /** A list of all locales that are supported. */
@@ -114,8 +114,9 @@ export default function createMiddleware(config: MiddlewareConfig) {
114
114
  }
115
115
 
116
116
  if (
117
- hasMatchedDefaultLocale &&
118
- configWithDefaults.localePrefix === 'as-needed'
117
+ configWithDefaults.localePrefix === 'never' ||
118
+ (hasMatchedDefaultLocale &&
119
+ configWithDefaults.localePrefix === 'as-needed')
119
120
  ) {
120
121
  response = rewrite(pathWithSearch);
121
122
  } else {
@@ -140,7 +141,9 @@ export default function createMiddleware(config: MiddlewareConfig) {
140
141
  if (hasLocalePrefix) {
141
142
  const basePath = pathWithSearch.replace(`/${pathLocale}`, '') || '/';
142
143
 
143
- if (pathLocale === locale) {
144
+ if (configWithDefaults.localePrefix === 'never') {
145
+ response = redirect(basePath);
146
+ } else if (pathLocale === locale) {
144
147
  if (
145
148
  hasMatchedDefaultLocale &&
146
149
  configWithDefaults.localePrefix === 'as-needed'
@@ -168,9 +171,10 @@ export default function createMiddleware(config: MiddlewareConfig) {
168
171
  }
169
172
  } else {
170
173
  if (
171
- hasMatchedDefaultLocale &&
172
- (configWithDefaults.localePrefix === 'as-needed' ||
173
- configWithDefaults.domains)
174
+ configWithDefaults.localePrefix === 'never' ||
175
+ (hasMatchedDefaultLocale &&
176
+ (configWithDefaults.localePrefix === 'as-needed' ||
177
+ configWithDefaults.domains))
174
178
  ) {
175
179
  response = rewrite(`/${locale}${pathWithSearch}`);
176
180
  } else {
@@ -186,6 +190,7 @@ export default function createMiddleware(config: MiddlewareConfig) {
186
190
  }
187
191
 
188
192
  if (
193
+ configWithDefaults.localePrefix !== 'never' &&
189
194
  configWithDefaults.alternateLinks &&
190
195
  configWithDefaults.locales.length > 1
191
196
  ) {