next-intl 3.25.0 → 4.0.0-beta-00a79d4

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.
Files changed (450) hide show
  1. package/config.d.ts +2 -1
  2. package/dist/cjs/development/plugin.cjs +167 -0
  3. package/dist/{development → esm/development}/config.js +1 -5
  4. package/dist/esm/development/index.react-client.js +3 -0
  5. package/dist/esm/development/index.react-server.js +8 -0
  6. package/dist/{development → esm/development}/middleware/getAlternateLinksHeaderValue.js +18 -25
  7. package/dist/esm/development/middleware/middleware.js +155 -0
  8. package/dist/{development → esm/development}/middleware/resolveLocale.js +13 -25
  9. package/dist/esm/development/middleware/syncCookie.js +20 -0
  10. package/dist/{development → esm/development}/middleware/utils.js +24 -54
  11. package/dist/esm/development/middleware.js +1 -0
  12. package/dist/{development → esm/development}/navigation/react-client/createNavigation.js +22 -29
  13. package/dist/esm/development/navigation/react-client/useBasePathname.js +27 -0
  14. package/dist/esm/development/navigation/react-server/createNavigation.js +22 -0
  15. package/dist/esm/development/navigation/react-server/getServerLocale.js +12 -0
  16. package/dist/{development → esm/development}/navigation/shared/BaseLink.js +31 -36
  17. package/dist/{development → esm/development}/navigation/shared/createSharedNavigationFns.js +39 -50
  18. package/dist/{development → esm/development}/navigation/shared/syncLocaleCookie.js +5 -9
  19. package/dist/{development → esm/development}/navigation/shared/utils.js +21 -35
  20. package/dist/esm/development/navigation.react-client.js +1 -0
  21. package/dist/esm/development/navigation.react-server.js +1 -0
  22. package/dist/esm/development/plugin/createMessagesDeclaration.js +61 -0
  23. package/dist/esm/development/plugin/createNextIntlPlugin.js +23 -0
  24. package/dist/esm/development/plugin/getNextConfig.js +82 -0
  25. package/dist/esm/development/plugin/utils.js +11 -0
  26. package/dist/esm/development/plugin.js +1 -0
  27. package/dist/esm/development/react-client/index.js +35 -0
  28. package/dist/esm/development/react-server/NextIntlClientProviderServer.js +31 -0
  29. package/dist/esm/development/react-server/useConfig.js +21 -0
  30. package/dist/esm/development/react-server/useFormatter.js +9 -0
  31. package/dist/esm/development/react-server/useLocale.js +8 -0
  32. package/dist/esm/development/react-server/useMessages.js +9 -0
  33. package/dist/esm/development/react-server/useNow.js +12 -0
  34. package/dist/esm/development/react-server/useTimeZone.js +8 -0
  35. package/dist/esm/development/react-server/useTranslations.js +9 -0
  36. package/dist/esm/development/routing/config.js +28 -0
  37. package/dist/esm/development/routing/defineRouting.js +5 -0
  38. package/dist/esm/development/routing.js +1 -0
  39. package/dist/{development → esm/development}/server/react-client/index.js +5 -16
  40. package/dist/{development → esm/development}/server/react-server/RequestLocale.js +10 -14
  41. package/dist/{development → esm/development}/server/react-server/RequestLocaleCache.js +3 -8
  42. package/dist/esm/development/server/react-server/createRequestConfig.js +2 -0
  43. package/dist/esm/development/server/react-server/getConfig.js +53 -0
  44. package/dist/esm/development/server/react-server/getConfigNow.js +10 -0
  45. package/dist/esm/development/server/react-server/getDefaultNow.js +9 -0
  46. package/dist/esm/development/server/react-server/getFormats.js +10 -0
  47. package/dist/esm/development/server/react-server/getFormatter.js +21 -0
  48. package/dist/esm/development/server/react-server/getLocale.js +10 -0
  49. package/dist/esm/development/server/react-server/getMessages.js +19 -0
  50. package/dist/esm/development/server/react-server/getNow.js +8 -0
  51. package/dist/{development → esm/development}/server/react-server/getRequestConfig.js +1 -5
  52. package/dist/esm/development/server/react-server/getServerFormatter.js +21 -0
  53. package/dist/esm/development/server/react-server/getServerTranslator.js +12 -0
  54. package/dist/esm/development/server/react-server/getTimeZone.js +13 -0
  55. package/dist/{development → esm/development}/server/react-server/getTranslations.js +7 -15
  56. package/dist/esm/development/server.react-client.js +1 -0
  57. package/dist/esm/development/server.react-server.js +8 -0
  58. package/dist/esm/development/shared/NextIntlClientProvider.js +18 -0
  59. package/dist/esm/development/shared/constants.js +4 -0
  60. package/dist/esm/development/shared/use.js +13 -0
  61. package/dist/{development → esm/development}/shared/utils.js +6 -50
  62. package/dist/esm/production/index.react-client.js +1 -0
  63. package/dist/esm/production/middleware/getAlternateLinksHeaderValue.js +1 -0
  64. package/dist/esm/production/middleware/middleware.js +1 -0
  65. package/dist/esm/production/middleware/resolveLocale.js +1 -0
  66. package/dist/esm/production/middleware/syncCookie.js +1 -0
  67. package/dist/esm/production/middleware/utils.js +1 -0
  68. package/dist/esm/production/navigation/react-client/createNavigation.js +1 -0
  69. package/dist/esm/production/navigation/react-client/useBasePathname.js +1 -0
  70. package/dist/esm/production/navigation/react-server/createNavigation.js +1 -0
  71. package/dist/esm/production/navigation/shared/BaseLink.js +2 -0
  72. package/dist/esm/production/navigation/shared/createSharedNavigationFns.js +1 -0
  73. package/dist/esm/production/navigation/shared/syncLocaleCookie.js +1 -0
  74. package/dist/esm/production/navigation/shared/utils.js +1 -0
  75. package/dist/esm/production/navigation.react-client.js +1 -0
  76. package/dist/esm/production/navigation.react-server.js +1 -0
  77. package/dist/esm/production/plugin/createMessagesDeclaration.js +1 -0
  78. package/dist/esm/production/plugin/createNextIntlPlugin.js +1 -0
  79. package/dist/esm/production/plugin/getNextConfig.js +1 -0
  80. package/dist/esm/production/plugin/utils.js +1 -0
  81. package/dist/esm/production/plugin.js +1 -0
  82. package/dist/esm/production/react-client/index.js +1 -0
  83. package/dist/esm/production/react-server/NextIntlClientProviderServer.js +1 -0
  84. package/dist/esm/production/react-server/useConfig.js +1 -0
  85. package/dist/esm/production/react-server/useFormatter.js +1 -0
  86. package/dist/esm/production/react-server/useLocale.js +1 -0
  87. package/dist/esm/production/react-server/useMessages.js +1 -0
  88. package/dist/esm/production/react-server/useNow.js +1 -0
  89. package/dist/esm/production/react-server/useTimeZone.js +1 -0
  90. package/dist/esm/production/react-server/useTranslations.js +1 -0
  91. package/dist/esm/production/routing/config.js +1 -0
  92. package/dist/esm/production/server/react-client/index.js +1 -0
  93. package/dist/esm/production/server/react-server/RequestLocale.js +1 -0
  94. package/dist/esm/production/server/react-server/getConfig.js +1 -0
  95. package/dist/esm/production/server/react-server/getConfigNow.js +1 -0
  96. package/dist/esm/production/server/react-server/getDefaultNow.js +1 -0
  97. package/dist/esm/production/server/react-server/getFormats.js +1 -0
  98. package/dist/esm/production/server/react-server/getFormatter.js +1 -0
  99. package/dist/esm/production/server/react-server/getLocale.js +1 -0
  100. package/dist/esm/production/server/react-server/getMessages.js +1 -0
  101. package/dist/esm/production/server/react-server/getNow.js +1 -0
  102. package/dist/esm/production/server/react-server/getServerFormatter.js +1 -0
  103. package/dist/esm/{server → production/server}/react-server/getTimeZone.js +1 -1
  104. package/dist/esm/production/server/react-server/getTranslations.js +1 -0
  105. package/dist/esm/production/server.react-client.js +1 -0
  106. package/dist/esm/production/server.react-server.js +1 -0
  107. package/dist/esm/production/shared/NextIntlClientProvider.js +2 -0
  108. package/dist/esm/production/shared/constants.js +1 -0
  109. package/dist/esm/production/shared/use.js +1 -0
  110. package/dist/esm/production/shared/utils.js +1 -0
  111. package/dist/types/{src/index.react-client.d.ts → index.react-client.d.ts} +1 -1
  112. package/dist/types/index.react-server.d.ts +1 -0
  113. package/dist/types/{src/middleware → middleware}/getAlternateLinksHeaderValue.d.ts +3 -3
  114. package/dist/types/{src/middleware → middleware}/index.d.ts +1 -1
  115. package/dist/types/middleware/middleware.d.ts +4 -0
  116. package/dist/types/{src/middleware → middleware}/resolveLocale.d.ts +5 -4
  117. package/dist/types/middleware/syncCookie.d.ts +7 -0
  118. package/dist/types/{src/middleware → middleware}/utils.d.ts +4 -3
  119. package/dist/types/middleware.d.ts +1 -0
  120. package/dist/types/{src/navigation → navigation}/react-client/createNavigation.d.ts +58 -57
  121. package/dist/types/navigation/react-client/index.d.ts +2 -0
  122. package/dist/types/{src/navigation → navigation}/react-client/useBasePathname.d.ts +1 -1
  123. package/dist/types/{src/navigation → navigation}/react-server/createNavigation.d.ts +30 -30
  124. package/dist/types/navigation/react-server/index.d.ts +2 -0
  125. package/dist/types/navigation/shared/BaseLink.d.ts +19 -0
  126. package/dist/types/navigation/shared/createSharedNavigationFns.d.ts +386 -0
  127. package/dist/types/{src/navigation → navigation}/shared/syncLocaleCookie.d.ts +3 -2
  128. package/dist/types/{src/navigation → navigation}/shared/utils.d.ts +5 -4
  129. package/dist/types/navigation.react-client.d.ts +1 -0
  130. package/dist/types/navigation.react-server.d.ts +1 -0
  131. package/dist/types/plugin/createMessagesDeclaration.d.ts +1 -0
  132. package/dist/types/plugin/createNextIntlPlugin.d.ts +3 -0
  133. package/dist/types/plugin/getNextConfig.d.ts +3 -0
  134. package/dist/types/plugin/index.d.ts +1 -0
  135. package/dist/types/plugin/types.d.ts +6 -0
  136. package/dist/types/plugin/utils.d.ts +2 -0
  137. package/dist/types/plugin.d.ts +1 -0
  138. package/dist/types/{src/react-client → react-client}/index.d.ts +1 -2
  139. package/dist/types/react-server/NextIntlClientProviderServer.d.ts +5 -0
  140. package/dist/types/react-server/index.d.ts +15 -0
  141. package/dist/types/{src/react-server → react-server}/testUtils.d.ts +1 -1
  142. package/dist/types/{src/react-server → react-server}/useConfig.d.ts +1 -1
  143. package/dist/types/react-server/useFormatter.d.ts +2 -0
  144. package/dist/types/react-server/useLocale.d.ts +2 -0
  145. package/dist/types/react-server/useMessages.d.ts +2 -0
  146. package/dist/types/react-server/useNow.d.ts +2 -0
  147. package/dist/types/react-server/useTimeZone.d.ts +2 -0
  148. package/dist/types/{src/routing → routing}/config.d.ts +2 -4
  149. package/dist/types/{src/routing → routing}/defineRouting.d.ts +2 -2
  150. package/dist/types/routing/index.d.ts +3 -0
  151. package/dist/types/routing.d.ts +1 -0
  152. package/dist/types/{src/server → server}/react-client/index.d.ts +1 -2
  153. package/dist/types/server/react-server/RequestLocaleCache.d.ts +3 -0
  154. package/dist/types/{src/server → server}/react-server/createRequestConfig.d.ts +1 -1
  155. package/dist/types/{src/server → server}/react-server/getConfig.d.ts +2 -3
  156. package/dist/types/server/react-server/getConfigNow.d.ts +4 -0
  157. package/dist/types/server/react-server/getDefaultNow.d.ts +3 -0
  158. package/dist/types/server/react-server/getFormats.d.ts +3 -0
  159. package/dist/types/{src/server → server}/react-server/getFormatter.d.ts +2 -2
  160. package/dist/types/server/react-server/getLocale.d.ts +4 -0
  161. package/dist/types/server/react-server/getMessages.d.ts +6 -0
  162. package/dist/types/server/react-server/getNow.d.ts +4 -0
  163. package/dist/types/{src/server → server}/react-server/getRequestConfig.d.ts +2 -19
  164. package/dist/types/server/react-server/getServerFormatter.d.ts +10 -0
  165. package/dist/types/server/react-server/getServerTranslator.d.ts +4 -0
  166. package/dist/types/server/react-server/getTimeZone.d.ts +4 -0
  167. package/dist/types/server/react-server/getTranslations.d.ts +8 -0
  168. package/dist/types/server/react-server/index.d.ts +11 -0
  169. package/dist/types/server.react-client.d.ts +1 -0
  170. package/dist/types/server.react-server.d.ts +1 -0
  171. package/dist/types/{src/shared → shared}/NextIntlClientProvider.d.ts +5 -4
  172. package/dist/types/shared/constants.d.ts +1 -0
  173. package/dist/types/shared/use.d.ts +3 -0
  174. package/dist/types/{src/shared → shared}/utils.d.ts +3 -9
  175. package/middleware.d.ts +2 -1
  176. package/navigation.d.ts +2 -1
  177. package/package.json +57 -26
  178. package/plugin.d.cts +3 -0
  179. package/plugin.d.ts +3 -7
  180. package/routing.d.ts +2 -1
  181. package/server.d.ts +2 -1
  182. package/dist/config.js +0 -7
  183. package/dist/development/_virtual/_rollupPluginBabelHelpers.js +0 -15
  184. package/dist/development/index.react-client.js +0 -21
  185. package/dist/development/index.react-server.js +0 -28
  186. package/dist/development/middleware/middleware.js +0 -169
  187. package/dist/development/middleware/syncCookie.js +0 -20
  188. package/dist/development/middleware.js +0 -9
  189. package/dist/development/navigation/react-client/ClientLink.js +0 -55
  190. package/dist/development/navigation/react-client/createLocalizedPathnamesNavigation.js +0 -156
  191. package/dist/development/navigation/react-client/createSharedPathnamesNavigation.js +0 -67
  192. package/dist/development/navigation/react-client/redirects.js +0 -32
  193. package/dist/development/navigation/react-client/useBasePathname.js +0 -31
  194. package/dist/development/navigation/react-client/useBaseRouter.js +0 -72
  195. package/dist/development/navigation/react-server/ServerLink.js +0 -32
  196. package/dist/development/navigation/react-server/createLocalizedPathnamesNavigation.js +0 -95
  197. package/dist/development/navigation/react-server/createNavigation.js +0 -30
  198. package/dist/development/navigation/react-server/createSharedPathnamesNavigation.js +0 -56
  199. package/dist/development/navigation/react-server/getServerLocale.js +0 -16
  200. package/dist/development/navigation/react-server/redirects.js +0 -24
  201. package/dist/development/navigation/shared/LegacyBaseLink.js +0 -57
  202. package/dist/development/navigation/shared/redirects.js +0 -25
  203. package/dist/development/navigation.react-client.js +0 -13
  204. package/dist/development/navigation.react-server.js +0 -13
  205. package/dist/development/plugin.js +0 -101
  206. package/dist/development/react-client/index.js +0 -38
  207. package/dist/development/react-client/useLocale.js +0 -28
  208. package/dist/development/react-server/NextIntlClientProviderServer.js +0 -33
  209. package/dist/development/react-server/getTranslator.js +0 -16
  210. package/dist/development/react-server/useConfig.js +0 -25
  211. package/dist/development/react-server/useFormatter.js +0 -18
  212. package/dist/development/react-server/useLocale.js +0 -15
  213. package/dist/development/react-server/useMessages.js +0 -16
  214. package/dist/development/react-server/useNow.js +0 -19
  215. package/dist/development/react-server/useTimeZone.js +0 -15
  216. package/dist/development/react-server/useTranslations.js +0 -17
  217. package/dist/development/routing/config.js +0 -35
  218. package/dist/development/routing/defineRouting.js +0 -9
  219. package/dist/development/routing.js +0 -9
  220. package/dist/development/server/react-server/RequestLocaleLegacy.js +0 -43
  221. package/dist/development/server/react-server/createRequestConfig.js +0 -16
  222. package/dist/development/server/react-server/getConfig.js +0 -73
  223. package/dist/development/server/react-server/getFormatter.js +0 -25
  224. package/dist/development/server/react-server/getLocale.js +0 -14
  225. package/dist/development/server/react-server/getMessages.js +0 -24
  226. package/dist/development/server/react-server/getNow.js +0 -17
  227. package/dist/development/server/react-server/getTimeZone.js +0 -17
  228. package/dist/development/server.react-client.js +0 -17
  229. package/dist/development/server.react-server.js +0 -24
  230. package/dist/development/shared/NextIntlClientProvider.js +0 -30
  231. package/dist/development/shared/constants.js +0 -12
  232. package/dist/esm/_virtual/_rollupPluginBabelHelpers.js +0 -1
  233. package/dist/esm/index.react-client.js +0 -1
  234. package/dist/esm/middleware/getAlternateLinksHeaderValue.js +0 -1
  235. package/dist/esm/middleware/middleware.js +0 -1
  236. package/dist/esm/middleware/resolveLocale.js +0 -1
  237. package/dist/esm/middleware/syncCookie.js +0 -1
  238. package/dist/esm/middleware/utils.js +0 -1
  239. package/dist/esm/navigation/react-client/ClientLink.js +0 -1
  240. package/dist/esm/navigation/react-client/createLocalizedPathnamesNavigation.js +0 -1
  241. package/dist/esm/navigation/react-client/createNavigation.js +0 -1
  242. package/dist/esm/navigation/react-client/createSharedPathnamesNavigation.js +0 -1
  243. package/dist/esm/navigation/react-client/redirects.js +0 -1
  244. package/dist/esm/navigation/react-client/useBasePathname.js +0 -1
  245. package/dist/esm/navigation/react-client/useBaseRouter.js +0 -1
  246. package/dist/esm/navigation/react-server/ServerLink.js +0 -1
  247. package/dist/esm/navigation/react-server/createLocalizedPathnamesNavigation.js +0 -1
  248. package/dist/esm/navigation/react-server/createNavigation.js +0 -1
  249. package/dist/esm/navigation/react-server/createSharedPathnamesNavigation.js +0 -1
  250. package/dist/esm/navigation/react-server/redirects.js +0 -1
  251. package/dist/esm/navigation/shared/BaseLink.js +0 -2
  252. package/dist/esm/navigation/shared/LegacyBaseLink.js +0 -2
  253. package/dist/esm/navigation/shared/createSharedNavigationFns.js +0 -1
  254. package/dist/esm/navigation/shared/redirects.js +0 -1
  255. package/dist/esm/navigation/shared/syncLocaleCookie.js +0 -1
  256. package/dist/esm/navigation/shared/utils.js +0 -1
  257. package/dist/esm/navigation.react-client.js +0 -1
  258. package/dist/esm/navigation.react-server.js +0 -1
  259. package/dist/esm/plugin.js +0 -1
  260. package/dist/esm/react-client/index.js +0 -1
  261. package/dist/esm/react-client/useLocale.js +0 -1
  262. package/dist/esm/react-server/NextIntlClientProviderServer.js +0 -1
  263. package/dist/esm/react-server/useConfig.js +0 -1
  264. package/dist/esm/react-server/useFormatter.js +0 -1
  265. package/dist/esm/react-server/useLocale.js +0 -1
  266. package/dist/esm/react-server/useMessages.js +0 -1
  267. package/dist/esm/react-server/useNow.js +0 -1
  268. package/dist/esm/react-server/useTimeZone.js +0 -1
  269. package/dist/esm/react-server/useTranslations.js +0 -1
  270. package/dist/esm/routing/config.js +0 -1
  271. package/dist/esm/server/react-client/index.js +0 -1
  272. package/dist/esm/server/react-server/RequestLocale.js +0 -1
  273. package/dist/esm/server/react-server/RequestLocaleLegacy.js +0 -1
  274. package/dist/esm/server/react-server/getConfig.js +0 -1
  275. package/dist/esm/server/react-server/getFormatter.js +0 -1
  276. package/dist/esm/server/react-server/getLocale.js +0 -1
  277. package/dist/esm/server/react-server/getMessages.js +0 -1
  278. package/dist/esm/server/react-server/getNow.js +0 -1
  279. package/dist/esm/server/react-server/getTranslations.js +0 -1
  280. package/dist/esm/server.react-client.js +0 -1
  281. package/dist/esm/server.react-server.js +0 -1
  282. package/dist/esm/shared/NextIntlClientProvider.js +0 -2
  283. package/dist/esm/shared/constants.js +0 -1
  284. package/dist/esm/shared/utils.js +0 -1
  285. package/dist/index.react-client.js +0 -7
  286. package/dist/index.react-server.js +0 -7
  287. package/dist/middleware.js +0 -7
  288. package/dist/navigation.react-client.js +0 -7
  289. package/dist/navigation.react-server.js +0 -7
  290. package/dist/plugin.js +0 -7
  291. package/dist/production/_virtual/_rollupPluginBabelHelpers.js +0 -1
  292. package/dist/production/config.js +0 -1
  293. package/dist/production/index.react-client.js +0 -1
  294. package/dist/production/index.react-server.js +0 -1
  295. package/dist/production/middleware/getAlternateLinksHeaderValue.js +0 -1
  296. package/dist/production/middleware/middleware.js +0 -1
  297. package/dist/production/middleware/resolveLocale.js +0 -1
  298. package/dist/production/middleware/syncCookie.js +0 -1
  299. package/dist/production/middleware/utils.js +0 -1
  300. package/dist/production/middleware.js +0 -1
  301. package/dist/production/navigation/react-client/ClientLink.js +0 -1
  302. package/dist/production/navigation/react-client/createLocalizedPathnamesNavigation.js +0 -1
  303. package/dist/production/navigation/react-client/createNavigation.js +0 -1
  304. package/dist/production/navigation/react-client/createSharedPathnamesNavigation.js +0 -1
  305. package/dist/production/navigation/react-client/redirects.js +0 -1
  306. package/dist/production/navigation/react-client/useBasePathname.js +0 -1
  307. package/dist/production/navigation/react-client/useBaseRouter.js +0 -1
  308. package/dist/production/navigation/react-server/ServerLink.js +0 -1
  309. package/dist/production/navigation/react-server/createLocalizedPathnamesNavigation.js +0 -1
  310. package/dist/production/navigation/react-server/createNavigation.js +0 -1
  311. package/dist/production/navigation/react-server/createSharedPathnamesNavigation.js +0 -1
  312. package/dist/production/navigation/react-server/getServerLocale.js +0 -1
  313. package/dist/production/navigation/react-server/redirects.js +0 -1
  314. package/dist/production/navigation/shared/BaseLink.js +0 -2
  315. package/dist/production/navigation/shared/LegacyBaseLink.js +0 -2
  316. package/dist/production/navigation/shared/createSharedNavigationFns.js +0 -1
  317. package/dist/production/navigation/shared/redirects.js +0 -1
  318. package/dist/production/navigation/shared/syncLocaleCookie.js +0 -1
  319. package/dist/production/navigation/shared/utils.js +0 -1
  320. package/dist/production/navigation.react-client.js +0 -1
  321. package/dist/production/navigation.react-server.js +0 -1
  322. package/dist/production/plugin.js +0 -1
  323. package/dist/production/react-client/index.js +0 -1
  324. package/dist/production/react-client/useLocale.js +0 -1
  325. package/dist/production/react-server/NextIntlClientProviderServer.js +0 -1
  326. package/dist/production/react-server/getTranslator.js +0 -1
  327. package/dist/production/react-server/useConfig.js +0 -1
  328. package/dist/production/react-server/useFormatter.js +0 -1
  329. package/dist/production/react-server/useLocale.js +0 -1
  330. package/dist/production/react-server/useMessages.js +0 -1
  331. package/dist/production/react-server/useNow.js +0 -1
  332. package/dist/production/react-server/useTimeZone.js +0 -1
  333. package/dist/production/react-server/useTranslations.js +0 -1
  334. package/dist/production/routing/config.js +0 -1
  335. package/dist/production/routing/defineRouting.js +0 -1
  336. package/dist/production/routing.js +0 -1
  337. package/dist/production/server/react-client/index.js +0 -1
  338. package/dist/production/server/react-server/RequestLocale.js +0 -1
  339. package/dist/production/server/react-server/RequestLocaleCache.js +0 -1
  340. package/dist/production/server/react-server/RequestLocaleLegacy.js +0 -1
  341. package/dist/production/server/react-server/createRequestConfig.js +0 -1
  342. package/dist/production/server/react-server/getConfig.js +0 -1
  343. package/dist/production/server/react-server/getFormatter.js +0 -1
  344. package/dist/production/server/react-server/getLocale.js +0 -1
  345. package/dist/production/server/react-server/getMessages.js +0 -1
  346. package/dist/production/server/react-server/getNow.js +0 -1
  347. package/dist/production/server/react-server/getRequestConfig.js +0 -1
  348. package/dist/production/server/react-server/getTimeZone.js +0 -1
  349. package/dist/production/server/react-server/getTranslations.js +0 -1
  350. package/dist/production/server.react-client.js +0 -1
  351. package/dist/production/server.react-server.js +0 -1
  352. package/dist/production/shared/NextIntlClientProvider.js +0 -2
  353. package/dist/production/shared/constants.js +0 -1
  354. package/dist/production/shared/utils.js +0 -1
  355. package/dist/routing.js +0 -7
  356. package/dist/server.react-client.js +0 -7
  357. package/dist/server.react-server.js +0 -7
  358. package/dist/types/__mocks__/react.d.ts +0 -9
  359. package/dist/types/src/index.react-server.d.ts +0 -1
  360. package/dist/types/src/middleware/getAlternateLinksHeaderValue.test.d.ts +0 -1
  361. package/dist/types/src/middleware/middleware.d.ts +0 -13
  362. package/dist/types/src/middleware/middleware.test.d.ts +0 -1
  363. package/dist/types/src/middleware/resolveLocale.test.d.ts +0 -1
  364. package/dist/types/src/middleware/syncCookie.d.ts +0 -3
  365. package/dist/types/src/middleware/utils.test.d.ts +0 -1
  366. package/dist/types/src/middleware.d.ts +0 -1
  367. package/dist/types/src/navigation/createLocalizedPathnamesNavigation.test.d.ts +0 -1
  368. package/dist/types/src/navigation/createNavigation.test.d.ts +0 -1
  369. package/dist/types/src/navigation/createSharedPathnamesNavigation.test.d.ts +0 -1
  370. package/dist/types/src/navigation/react-client/ClientLink.d.ts +0 -31
  371. package/dist/types/src/navigation/react-client/ClientLink.test.d.ts +0 -1
  372. package/dist/types/src/navigation/react-client/createLocalizedPathnamesNavigation.d.ts +0 -91
  373. package/dist/types/src/navigation/react-client/createLocalizedPathnamesNavigation.test.d.ts +0 -1
  374. package/dist/types/src/navigation/react-client/createNavigation.test.d.ts +0 -1
  375. package/dist/types/src/navigation/react-client/createSharedPathnamesNavigation.d.ts +0 -66
  376. package/dist/types/src/navigation/react-client/createSharedPathnamesNavigation.test.d.ts +0 -1
  377. package/dist/types/src/navigation/react-client/index.d.ts +0 -7
  378. package/dist/types/src/navigation/react-client/redirects.d.ts +0 -10
  379. package/dist/types/src/navigation/react-client/useBasePathname.test.d.ts +0 -1
  380. package/dist/types/src/navigation/react-client/useBaseRouter.d.ts +0 -33
  381. package/dist/types/src/navigation/react-client/useBaseRouter.test.d.ts +0 -1
  382. package/dist/types/src/navigation/react-server/ServerLink.d.ts +0 -9
  383. package/dist/types/src/navigation/react-server/createLocalizedPathnamesNavigation.d.ts +0 -70
  384. package/dist/types/src/navigation/react-server/createNavigation.test.d.ts +0 -1
  385. package/dist/types/src/navigation/react-server/createSharedPathnamesNavigation.d.ts +0 -11
  386. package/dist/types/src/navigation/react-server/index.d.ts +0 -4
  387. package/dist/types/src/navigation/react-server/redirects.d.ts +0 -10
  388. package/dist/types/src/navigation/shared/BaseLink.d.ts +0 -17
  389. package/dist/types/src/navigation/shared/LegacyBaseLink.d.ts +0 -12
  390. package/dist/types/src/navigation/shared/createSharedNavigationFns.d.ts +0 -386
  391. package/dist/types/src/navigation/shared/redirects.d.ts +0 -11
  392. package/dist/types/src/navigation/shared/redirects.test.d.ts +0 -1
  393. package/dist/types/src/navigation/shared/utils.test.d.ts +0 -1
  394. package/dist/types/src/navigation.react-client.d.ts +0 -1
  395. package/dist/types/src/navigation.react-server.d.ts +0 -1
  396. package/dist/types/src/plugin.d.ts +0 -1
  397. package/dist/types/src/react-client/useFormatter.test.d.ts +0 -1
  398. package/dist/types/src/react-client/useLocale.d.ts +0 -1
  399. package/dist/types/src/react-client/useLocale.test.d.ts +0 -1
  400. package/dist/types/src/react-client/useNow.test.d.ts +0 -1
  401. package/dist/types/src/react-client/useTimeZone.test.d.ts +0 -1
  402. package/dist/types/src/react-client/useTranslations.test.d.ts +0 -1
  403. package/dist/types/src/react-server/NextIntlClientProviderServer.d.ts +0 -5
  404. package/dist/types/src/react-server/NextIntlClientProviderServer.test.d.ts +0 -1
  405. package/dist/types/src/react-server/getTranslator.d.ts +0 -51
  406. package/dist/types/src/react-server/index.d.ts +0 -15
  407. package/dist/types/src/react-server/index.test.d.ts +0 -1
  408. package/dist/types/src/react-server/useFormatter.d.ts +0 -2
  409. package/dist/types/src/react-server/useLocale.d.ts +0 -2
  410. package/dist/types/src/react-server/useMessages.d.ts +0 -2
  411. package/dist/types/src/react-server/useNow.d.ts +0 -2
  412. package/dist/types/src/react-server/useTimeZone.d.ts +0 -2
  413. package/dist/types/src/react-server/useTranslations.test.d.ts +0 -1
  414. package/dist/types/src/routing/defineRouting.test.d.ts +0 -1
  415. package/dist/types/src/routing/index.d.ts +0 -3
  416. package/dist/types/src/routing/types.test.d.ts +0 -1
  417. package/dist/types/src/routing.d.ts +0 -1
  418. package/dist/types/src/server/react-client/index.test.d.ts +0 -1
  419. package/dist/types/src/server/react-server/RequestLocaleCache.d.ts +0 -2
  420. package/dist/types/src/server/react-server/RequestLocaleLegacy.d.ts +0 -1
  421. package/dist/types/src/server/react-server/getLocale.d.ts +0 -3
  422. package/dist/types/src/server/react-server/getMessages.d.ts +0 -6
  423. package/dist/types/src/server/react-server/getNow.d.ts +0 -3
  424. package/dist/types/src/server/react-server/getTimeZone.d.ts +0 -3
  425. package/dist/types/src/server/react-server/getTranslations.d.ts +0 -92
  426. package/dist/types/src/server/react-server/index.d.ts +0 -14
  427. package/dist/types/src/server/react-server/index.test.d.ts +0 -1
  428. package/dist/types/src/server.react-client.d.ts +0 -1
  429. package/dist/types/src/server.react-server.d.ts +0 -1
  430. package/dist/types/src/shared/NextIntlClientProvider.test.d.ts +0 -1
  431. package/dist/types/src/shared/constants.d.ts +0 -3
  432. package/dist/types/src/shared/utils.test.d.ts +0 -1
  433. package/dist/types/test/setup.d.ts +0 -1
  434. /package/dist/esm/{config.js → production/config.js} +0 -0
  435. /package/dist/esm/{index.react-server.js → production/index.react-server.js} +0 -0
  436. /package/dist/esm/{middleware.js → production/middleware.js} +0 -0
  437. /package/dist/esm/{navigation → production/navigation}/react-server/getServerLocale.js +0 -0
  438. /package/dist/esm/{routing → production/routing}/defineRouting.js +0 -0
  439. /package/dist/esm/{routing.js → production/routing.js} +0 -0
  440. /package/dist/esm/{server → production/server}/react-server/RequestLocaleCache.js +0 -0
  441. /package/dist/esm/{server → production/server}/react-server/createRequestConfig.js +0 -0
  442. /package/dist/esm/{server → production/server}/react-server/getRequestConfig.js +0 -0
  443. /package/dist/esm/{react-server/getTranslator.js → production/server/react-server/getServerTranslator.js} +0 -0
  444. /package/dist/types/{src/config.d.ts → config.d.ts} +0 -0
  445. /package/dist/types/{src/navigation → navigation}/react-server/getServerLocale.d.ts +0 -0
  446. /package/dist/types/{src/navigation → navigation}/shared/StrictParams.d.ts +0 -0
  447. /package/dist/types/{src/react-server → react-server}/useTranslations.d.ts +0 -0
  448. /package/dist/types/{src/routing → routing}/types.d.ts +0 -0
  449. /package/dist/types/{src/server → server}/react-server/RequestLocale.d.ts +0 -0
  450. /package/dist/types/{src/shared → shared}/types.d.ts +0 -0
@@ -0,0 +1,3 @@
1
+ declare function getFormatsCachedImpl(): Promise<import("use-intl").Formats | undefined>;
2
+ declare const getFormats: typeof getFormatsCachedImpl;
3
+ export default getFormats;
@@ -1,4 +1,4 @@
1
- import { createFormatter } from 'use-intl/core';
1
+ import type { Locale, createFormatter } from 'use-intl/core';
2
2
  /**
3
3
  * Returns a formatter based on the given locale.
4
4
  *
@@ -6,5 +6,5 @@ import { createFormatter } from 'use-intl/core';
6
6
  * you can override it by passing in additional options.
7
7
  */
8
8
  export default function getFormatter(opts?: {
9
- locale?: string;
9
+ locale?: Locale;
10
10
  }): Promise<ReturnType<typeof createFormatter>>;
@@ -0,0 +1,4 @@
1
+ import type { Locale } from 'use-intl';
2
+ declare function getLocaleCachedImpl(): Promise<Locale>;
3
+ declare const getLocaleCached: typeof getLocaleCachedImpl;
4
+ export default getLocaleCached;
@@ -0,0 +1,6 @@
1
+ import type { Locale, useMessages as useMessagesType } from 'use-intl';
2
+ import getConfig from './getConfig.tsx';
3
+ export declare function getMessagesFromConfig(config: Awaited<ReturnType<typeof getConfig>>): ReturnType<typeof useMessagesType>;
4
+ export default function getMessages(opts?: {
5
+ locale?: Locale;
6
+ }): Promise<ReturnType<typeof useMessagesType>>;
@@ -0,0 +1,4 @@
1
+ import type { Locale } from 'use-intl';
2
+ export default function getNow(opts?: {
3
+ locale?: Locale;
4
+ }): Promise<Date>;
@@ -1,28 +1,11 @@
1
1
  import type { IntlConfig } from 'use-intl/core';
2
2
  export type RequestConfig = Omit<IntlConfig, 'locale'> & {
3
3
  /**
4
- * Instead of reading a `requestLocale` from the argument that's passed to the
5
- * function within `getRequestConfig`, you can include a locale as part of the
6
- * returned request configuration.
7
- *
8
- * This can be helpful for the following use cases:
9
- * - Apps that only support a single language
10
- * - Apps where the locale should be read from user settings instead of the pathname
11
- * - Providing a fallback locale in case the locale was not matched by the middleware
4
+ * @see https://next-intl-docs.vercel.app/docs/usage/configuration#i18n-request
12
5
  **/
13
- locale?: IntlConfig['locale'];
6
+ locale: IntlConfig['locale'];
14
7
  };
15
8
  export type GetRequestConfigParams = {
16
- /**
17
- * Deprecated in favor of `requestLocale` (see https://next-intl-docs.vercel.app/blog/next-intl-3-22#await-request-locale).
18
- *
19
- * The locale that was matched by the `[locale]` path segment. Note however
20
- * that this can be overridden in async APIs when the `locale` is explicitly
21
- * passed (e.g. `getTranslations({locale: 'en'})`).
22
- *
23
- * @deprecated
24
- */
25
- locale: string;
26
9
  /**
27
10
  * Typically corresponds to the `[locale]` segment that was matched by the middleware.
28
11
  *
@@ -0,0 +1,10 @@
1
+ import { createFormatter } from 'use-intl/core';
2
+ declare function getFormatterCachedImpl(config: Parameters<typeof createFormatter>[0]): {
3
+ dateTime: (value: Date | number, formatOrOptions?: string | import("use-intl/core").DateTimeFormatOptions) => string;
4
+ number: (value: number | bigint, formatOrOptions?: string | import("use-intl/core").NumberFormatOptions) => string;
5
+ relativeTime: (date: number | Date, nowOrOptions?: import("use-intl/core").RelativeTimeFormatOptions["now"] | import("use-intl/core").RelativeTimeFormatOptions) => string;
6
+ list: <Value extends string | import("react").ReactElement<any, string | import("react").JSXElementConstructor<any>>>(value: Iterable<Value>, formatOrOptions?: string | Intl.ListFormatOptions) => Value extends string ? string : Iterable<import("react").ReactElement>;
7
+ dateTimeRange: (start: Date | number, end: Date | number, formatOrOptions?: string | import("use-intl/core").DateTimeFormatOptions) => string;
8
+ };
9
+ declare const getFormatterCached: typeof getFormatterCachedImpl;
10
+ export default getFormatterCached;
@@ -0,0 +1,4 @@
1
+ import { type Messages, type NamespaceKeys, type NestedKeyOf, createTranslator } from 'use-intl/core';
2
+ declare function getServerTranslatorImpl<NestedKey extends NamespaceKeys<Messages, NestedKeyOf<Messages>> = never>(config: Parameters<typeof createTranslator>[0], namespace?: NestedKey): ReturnType<typeof createTranslator<Messages, NestedKey>>;
3
+ declare const _default: typeof getServerTranslatorImpl;
4
+ export default _default;
@@ -0,0 +1,4 @@
1
+ import type { Locale } from 'use-intl';
2
+ export default function getTimeZone(opts?: {
3
+ locale?: Locale;
4
+ }): Promise<Locale>;
@@ -0,0 +1,8 @@
1
+ import type { Locale, Messages, NamespaceKeys, NestedKeyOf, createTranslator } from 'use-intl/core';
2
+ declare function getTranslations<NestedKey extends NamespaceKeys<Messages, NestedKeyOf<Messages>> = never>(namespace?: NestedKey): Promise<ReturnType<typeof createTranslator<Messages, NestedKey>>>;
3
+ declare function getTranslations<NestedKey extends NamespaceKeys<Messages, NestedKeyOf<Messages>> = never>(opts?: {
4
+ locale: Locale;
5
+ namespace?: NestedKey;
6
+ }): Promise<ReturnType<typeof createTranslator<Messages, NestedKey>>>;
7
+ declare const _default: typeof getTranslations;
8
+ export default _default;
@@ -0,0 +1,11 @@
1
+ /**
2
+ * Server-only APIs available via `next-intl/server`.
3
+ */
4
+ export { default as getRequestConfig, type GetRequestConfigParams, type RequestConfig } from './getRequestConfig.tsx';
5
+ export { default as getFormatter } from './getFormatter.tsx';
6
+ export { default as getNow } from './getNow.tsx';
7
+ export { default as getTimeZone } from './getTimeZone.tsx';
8
+ export { default as getTranslations } from './getTranslations.tsx';
9
+ export { default as getMessages } from './getMessages.tsx';
10
+ export { default as getLocale } from './getLocale.tsx';
11
+ export { setCachedRequestLocale as setRequestLocale } from './RequestLocaleCache.tsx';
@@ -0,0 +1 @@
1
+ export * from './server/react-client/index.tsx';
@@ -0,0 +1 @@
1
+ export * from './server/react-server/index.tsx';
@@ -1,8 +1,9 @@
1
- import React, { ComponentProps } from 'react';
2
- import { IntlProvider } from 'use-intl/_IntlProvider';
1
+ import type { ComponentProps } from 'react';
2
+ import type { Locale } from 'use-intl';
3
+ import { IntlProvider } from 'use-intl/react';
3
4
  type Props = Omit<ComponentProps<typeof IntlProvider>, 'locale'> & {
4
5
  /** This is automatically received when being rendered from a Server Component. In all other cases, e.g. when rendered from a Client Component, a unit test or with the Pages Router, you can pass this prop explicitly. */
5
- locale?: string;
6
+ locale?: Locale;
6
7
  };
7
- export default function NextIntlClientProvider({ locale, ...rest }: Props): React.JSX.Element;
8
+ export default function NextIntlClientProvider({ locale, ...rest }: Props): import("react/jsx-runtime").JSX.Element;
8
9
  export {};
@@ -0,0 +1 @@
1
+ export declare const HEADER_LOCALE_NAME = "X-NEXT-INTL-LOCALE";
@@ -0,0 +1,3 @@
1
+ import * as react from 'react';
2
+ declare const _default: typeof react.use;
3
+ export default _default;
@@ -1,13 +1,7 @@
1
- import { UrlObject } from 'url';
2
- import NextLink from 'next/link';
3
- import { ComponentProps } from 'react';
4
- import { LocalePrefixConfigVerbose, LocalePrefixMode, Locales } from '../routing/types';
5
- type Href = ComponentProps<typeof NextLink>['href'];
1
+ import type { LinkProps } from 'next/link.js';
2
+ import type { LocalePrefixConfigVerbose, LocalePrefixMode, Locales } from '../routing/types.tsx';
3
+ type Href = LinkProps['href'];
6
4
  export declare function isLocalizableHref(href: Href): boolean;
7
- export declare function localizeHref(href: string, locale: string, curLocale: string, curPathname: string, prefix?: string): string;
8
- export declare function localizeHref(href: UrlObject | string, locale: string, curLocale: string, curPathname: string, prefix?: string): UrlObject | string;
9
- export declare function prefixHref(href: string, prefix: string): string;
10
- export declare function prefixHref(href: UrlObject | string, prefix: string): UrlObject | string;
11
5
  export declare function unprefixPathname(pathname: string, prefix: string): string;
12
6
  export declare function prefixPathname(prefix: string, pathname: string): string;
13
7
  export declare function hasPathnamePrefixed(prefix: string | undefined, pathname: string): boolean;
package/middleware.d.ts CHANGED
@@ -1,3 +1,4 @@
1
- import createMiddleware from './dist/types/src/middleware';
1
+ // Needed for projects with `moduleResolution: 'node'`
2
+ import createMiddleware from './dist/types/middleware';
2
3
 
3
4
  export = createMiddleware;
package/navigation.d.ts CHANGED
@@ -1 +1,2 @@
1
- export * from './dist/types/src/navigation.react-client';
1
+ // Needed for projects with `moduleResolution: 'node'`
2
+ export * from './dist/types/navigation.react-client';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "next-intl",
3
- "version": "3.25.0",
3
+ "version": "4.0.0-beta-00a79d4",
4
4
  "sideEffects": false,
5
5
  "author": "Jan Amann <jan@amann.work>",
6
6
  "funding": [
@@ -21,46 +21,69 @@
21
21
  "test": "TZ=Europe/Berlin vitest",
22
22
  "lint": "pnpm run lint:source && pnpm run lint:package",
23
23
  "lint:source": "eslint src test && tsc --noEmit && pnpm run lint:prettier",
24
- "lint:package": "publint && attw --pack",
24
+ "lint:package": "publint && attw --pack --ignore-rules=cjs-resolves-to-esm",
25
25
  "lint:prettier": "prettier src --check",
26
26
  "prepublishOnly": "turbo build && cp ../../README.md .",
27
27
  "postpublish": "git checkout . && rm ./README.md",
28
28
  "size": "size-limit"
29
29
  },
30
- "main": "./dist/index.react-client.js",
31
- "module": "./dist/esm/index.react-client.js",
32
- "typings": "./dist/types/src/index.react-client.d.ts",
30
+ "type": "module",
31
+ "main": "./dist/esm/production/index.react-client.js",
32
+ "typings": "./dist/types/index.react-client.d.ts",
33
33
  "exports": {
34
34
  ".": {
35
- "types": "./dist/types/src/index.react-client.d.ts",
36
- "react-server": "./dist/esm/index.react-server.js",
37
- "default": "./dist/index.react-client.js"
35
+ "types": "./dist/types/index.react-client.d.ts",
36
+ "react-server": {
37
+ "development": "./dist/esm/development/index.react-server.js",
38
+ "default": "./dist/esm/production/index.react-server.js"
39
+ },
40
+ "development": "./dist/esm/development/index.react-client.js",
41
+ "default": "./dist/esm/production/index.react-client.js"
38
42
  },
39
43
  "./server": {
40
- "types": "./server.d.ts",
41
- "react-server": "./dist/esm/server.react-server.js",
42
- "default": "./dist/server.react-client.js"
44
+ "types": "./dist/types/server.react-server.d.ts",
45
+ "react-server": {
46
+ "development": "./dist/esm/development/server.react-server.js",
47
+ "default": "./dist/esm/production/server.react-server.js"
48
+ },
49
+ "development": "./dist/esm/development/server.react-client.js",
50
+ "default": "./dist/esm/production/server.react-client.js"
43
51
  },
44
52
  "./config": {
45
- "types": "./config.d.ts",
46
- "default": "./dist/config.js"
53
+ "types": "./dist/types/config.d.ts",
54
+ "development": "./dist/esm/development/config.js",
55
+ "default": "./dist/esm/production/config.js"
47
56
  },
48
57
  "./middleware": {
49
- "types": "./middleware.d.ts",
50
- "default": "./dist/middleware.js"
58
+ "types": "./dist/types/middleware.d.ts",
59
+ "development": "./dist/esm/development/middleware.js",
60
+ "default": "./dist/esm/production/middleware.js"
51
61
  },
52
62
  "./navigation": {
53
- "types": "./navigation.d.ts",
54
- "react-server": "./dist/esm/navigation.react-server.js",
55
- "default": "./dist/navigation.react-client.js"
63
+ "types": "./dist/types/navigation.react-client.d.ts",
64
+ "react-server": {
65
+ "development": "./dist/esm/development/navigation.react-server.js",
66
+ "default": "./dist/esm/production/navigation.react-server.js"
67
+ },
68
+ "development": "./dist/esm/development/navigation.react-client.js",
69
+ "default": "./dist/esm/production/navigation.react-client.js"
56
70
  },
57
71
  "./routing": {
58
- "types": "./routing.d.ts",
59
- "default": "./dist/routing.js"
72
+ "types": "./dist/types/routing.d.ts",
73
+ "development": "./dist/esm/development/routing.js",
74
+ "default": "./dist/esm/production/routing.js"
60
75
  },
61
76
  "./plugin": {
62
- "types": "./plugin.d.ts",
63
- "default": "./dist/plugin.js"
77
+ "import": {
78
+ "types": "./dist/types/plugin.d.ts",
79
+ "development": "./dist/esm/development/plugin.js",
80
+ "default": "./dist/esm/production/plugin.js"
81
+ },
82
+ "require": {
83
+ "types": "./plugin.d.cts",
84
+ "default": "./dist/cjs/development/plugin.cjs"
85
+ },
86
+ "default": "./dist/esm/production/plugin.js"
64
87
  }
65
88
  },
66
89
  "files": [
@@ -69,6 +92,7 @@
69
92
  "navigation.d.ts",
70
93
  "middleware.d.ts",
71
94
  "plugin.d.ts",
95
+ "plugin.d.cts",
72
96
  "routing.d.ts",
73
97
  "config.d.ts"
74
98
  ],
@@ -87,12 +111,19 @@
87
111
  ],
88
112
  "dependencies": {
89
113
  "@formatjs/intl-localematcher": "^0.5.4",
114
+ "chokidar": "^4.0.1",
90
115
  "negotiator": "^1.0.0",
91
- "use-intl": "^3.25.0"
116
+ "use-intl": "4.0.0-beta-00a79d4"
92
117
  },
93
118
  "peerDependencies": {
94
- "next": "^10.0.0 || ^11.0.0 || ^12.0.0 || ^13.0.0 || ^14.0.0 || ^15.0.0",
95
- "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || >=19.0.0-rc <19.0.0"
119
+ "next": "^13.0.0 || ^14.0.0 || ^15.0.0",
120
+ "react": "^17.0.0 || ^18.0.0 || >=19.0.0-rc <19.0.0",
121
+ "typescript": "^5.0.0"
96
122
  },
97
- "gitHead": "4e3e9151d9b962ec36afcd19e420c49f5b316124"
123
+ "peerDependenciesMeta": {
124
+ "typescript": {
125
+ "optional": true
126
+ }
127
+ },
128
+ "gitHead": "9c05cd576d214480f7459b2351f94cfa9e4aef85"
98
129
  }
package/plugin.d.cts ADDED
@@ -0,0 +1,3 @@
1
+ import createNextIntlPlugin from './dist/types/plugin.ts';
2
+
3
+ export = createNextIntlPlugin;
package/plugin.d.ts CHANGED
@@ -1,8 +1,4 @@
1
- import {NextConfig} from 'next';
1
+ // Needed for projects with `moduleResolution: 'node'`
2
+ import plugin from './dist/types/plugin';
2
3
 
3
- function createNextIntlPlugin(
4
- i18nPath?: string
5
- ): (config?: NextConfig) => NextConfig;
6
-
7
- // Currently only available via CJS
8
- export = createNextIntlPlugin;
4
+ export = plugin;
package/routing.d.ts CHANGED
@@ -1 +1,2 @@
1
- export * from './dist/types/src/routing';
1
+ // Needed for projects with `moduleResolution: 'node'`
2
+ export * from './dist/types/routing';
package/server.d.ts CHANGED
@@ -1 +1,2 @@
1
- export * from './dist/types/src/server/react-server';
1
+ // Needed for projects with `moduleResolution: 'node'`
2
+ export * from './dist/types/server/react-server';
package/dist/config.js DELETED
@@ -1,7 +0,0 @@
1
- 'use strict';
2
-
3
- if (process.env.NODE_ENV === 'production') {
4
- module.exports = require('./production/config.js');
5
- } else {
6
- module.exports = require('./development/config.js');
7
- }
@@ -1,15 +0,0 @@
1
- 'use strict';
2
-
3
- Object.defineProperty(exports, '__esModule', { value: true });
4
-
5
- function _extends() {
6
- return _extends = Object.assign ? Object.assign.bind() : function (n) {
7
- for (var e = 1; e < arguments.length; e++) {
8
- var t = arguments[e];
9
- for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]);
10
- }
11
- return n;
12
- }, _extends.apply(null, arguments);
13
- }
14
-
15
- exports.extends = _extends;
@@ -1,21 +0,0 @@
1
- 'use strict';
2
-
3
- Object.defineProperty(exports, '__esModule', { value: true });
4
-
5
- var index = require('./react-client/index.js');
6
- var useLocale = require('./react-client/useLocale.js');
7
- var NextIntlClientProvider = require('./shared/NextIntlClientProvider.js');
8
- var useIntl = require('use-intl');
9
-
10
-
11
-
12
- exports.useFormatter = index.useFormatter;
13
- exports.useTranslations = index.useTranslations;
14
- exports.useLocale = useLocale.default;
15
- exports.NextIntlClientProvider = NextIntlClientProvider.default;
16
- Object.keys(useIntl).forEach(function (k) {
17
- if (k !== 'default' && !Object.prototype.hasOwnProperty.call(exports, k)) Object.defineProperty(exports, k, {
18
- enumerable: true,
19
- get: function () { return useIntl[k]; }
20
- });
21
- });
@@ -1,28 +0,0 @@
1
- 'use strict';
2
-
3
- Object.defineProperty(exports, '__esModule', { value: true });
4
-
5
- var useLocale = require('./react-server/useLocale.js');
6
- var useTranslations = require('./react-server/useTranslations.js');
7
- var useFormatter = require('./react-server/useFormatter.js');
8
- var useNow = require('./react-server/useNow.js');
9
- var useTimeZone = require('./react-server/useTimeZone.js');
10
- var useMessages = require('./react-server/useMessages.js');
11
- var NextIntlClientProviderServer = require('./react-server/NextIntlClientProviderServer.js');
12
- var core = require('use-intl/core');
13
-
14
-
15
-
16
- exports.useLocale = useLocale.default;
17
- exports.useTranslations = useTranslations.default;
18
- exports.useFormatter = useFormatter.default;
19
- exports.useNow = useNow.default;
20
- exports.useTimeZone = useTimeZone.default;
21
- exports.useMessages = useMessages.default;
22
- exports.NextIntlClientProvider = NextIntlClientProviderServer.default;
23
- Object.keys(core).forEach(function (k) {
24
- if (k !== 'default' && !Object.prototype.hasOwnProperty.call(exports, k)) Object.defineProperty(exports, k, {
25
- enumerable: true,
26
- get: function () { return core[k]; }
27
- });
28
- });
@@ -1,169 +0,0 @@
1
- 'use strict';
2
-
3
- Object.defineProperty(exports, '__esModule', { value: true });
4
-
5
- var server = require('next/server');
6
- var config = require('../routing/config.js');
7
- var constants = require('../shared/constants.js');
8
- var utils$1 = require('../shared/utils.js');
9
- var getAlternateLinksHeaderValue = require('./getAlternateLinksHeaderValue.js');
10
- var resolveLocale = require('./resolveLocale.js');
11
- var syncCookie = require('./syncCookie.js');
12
- var utils = require('./utils.js');
13
-
14
- function createMiddleware(routing, /** @deprecated Should be passed via the first parameter `routing` instead (ideally defined with `defineRouting`) */
15
- options) {
16
- var _options$alternateLin, _options$localeDetect, _options$localeCookie;
17
- const resolvedRouting = config.receiveRoutingConfig({
18
- ...routing,
19
- alternateLinks: (_options$alternateLin = options === null || options === void 0 ? void 0 : options.alternateLinks) !== null && _options$alternateLin !== void 0 ? _options$alternateLin : routing.alternateLinks,
20
- localeDetection: (_options$localeDetect = options === null || options === void 0 ? void 0 : options.localeDetection) !== null && _options$localeDetect !== void 0 ? _options$localeDetect : routing.localeDetection,
21
- localeCookie: (_options$localeCookie = options === null || options === void 0 ? void 0 : options.localeCookie) !== null && _options$localeCookie !== void 0 ? _options$localeCookie : routing.localeCookie
22
- });
23
- return function middleware(request) {
24
- var _resolvedRouting$doma;
25
- let unsafeExternalPathname;
26
- try {
27
- // Resolve potential foreign symbols (e.g. /ja/%E7%B4%84 → /ja/約))
28
- unsafeExternalPathname = decodeURI(request.nextUrl.pathname);
29
- } catch (_unused) {
30
- // In case an invalid pathname is encountered, forward
31
- // it to Next.js which in turn responds with a 400
32
- return server.NextResponse.next();
33
- }
34
-
35
- // Sanitize malicious URIs to prevent open redirect attacks due to
36
- // decodeURI doesn't escape encoded backslashes ('%5C' & '%5c')
37
- const externalPathname = utils.sanitizePathname(unsafeExternalPathname);
38
- const {
39
- domain,
40
- locale
41
- } = resolveLocale.default(resolvedRouting, request.headers, request.cookies, externalPathname);
42
- const hasMatchedDefaultLocale = domain ? domain.defaultLocale === locale : locale === resolvedRouting.defaultLocale;
43
- const domainsConfig = ((_resolvedRouting$doma = resolvedRouting.domains) === null || _resolvedRouting$doma === void 0 ? void 0 : _resolvedRouting$doma.filter(curDomain => utils.isLocaleSupportedOnDomain(locale, curDomain))) || [];
44
- const hasUnknownHost = resolvedRouting.domains != null && !domain;
45
- function rewrite(url) {
46
- const urlObj = new URL(url, request.url);
47
- if (request.nextUrl.basePath) {
48
- urlObj.pathname = utils.applyBasePath(urlObj.pathname, request.nextUrl.basePath);
49
- }
50
- const headers = new Headers(request.headers);
51
- headers.set(constants.HEADER_LOCALE_NAME, locale);
52
- return server.NextResponse.rewrite(urlObj, {
53
- request: {
54
- headers
55
- }
56
- });
57
- }
58
- function redirect(url, redirectDomain) {
59
- const urlObj = new URL(utils$1.normalizeTrailingSlash(url), request.url);
60
- if (domainsConfig.length > 0 && !redirectDomain && domain) {
61
- const bestMatchingDomain = utils.getBestMatchingDomain(domain, locale, domainsConfig);
62
- if (bestMatchingDomain) {
63
- redirectDomain = bestMatchingDomain.domain;
64
- if (bestMatchingDomain.defaultLocale === locale && resolvedRouting.localePrefix.mode === 'as-needed') {
65
- urlObj.pathname = utils.getNormalizedPathname(urlObj.pathname, resolvedRouting.locales, resolvedRouting.localePrefix);
66
- }
67
- }
68
- }
69
- if (redirectDomain) {
70
- urlObj.host = redirectDomain;
71
- if (request.headers.get('x-forwarded-host')) {
72
- var _request$headers$get, _request$headers$get2;
73
- urlObj.protocol = (_request$headers$get = request.headers.get('x-forwarded-proto')) !== null && _request$headers$get !== void 0 ? _request$headers$get : request.nextUrl.protocol;
74
- urlObj.port = (_request$headers$get2 = request.headers.get('x-forwarded-port')) !== null && _request$headers$get2 !== void 0 ? _request$headers$get2 : '';
75
- }
76
- }
77
- if (request.nextUrl.basePath) {
78
- urlObj.pathname = utils.applyBasePath(urlObj.pathname, request.nextUrl.basePath);
79
- }
80
- return server.NextResponse.redirect(urlObj.toString());
81
- }
82
- const unprefixedExternalPathname = utils.getNormalizedPathname(externalPathname, resolvedRouting.locales, resolvedRouting.localePrefix);
83
- const pathnameMatch = utils.getPathnameMatch(externalPathname, resolvedRouting.locales, resolvedRouting.localePrefix);
84
- const hasLocalePrefix = pathnameMatch != null;
85
- const isUnprefixedRouting = resolvedRouting.localePrefix.mode === 'never' || hasMatchedDefaultLocale && resolvedRouting.localePrefix.mode === 'as-needed';
86
- let response;
87
- let internalTemplateName;
88
- let unprefixedInternalPathname = unprefixedExternalPathname;
89
- const pathnames = resolvedRouting.pathnames;
90
- if (pathnames) {
91
- let resolvedTemplateLocale;
92
- [resolvedTemplateLocale, internalTemplateName] = utils.getInternalTemplate(pathnames, unprefixedExternalPathname, locale);
93
- if (internalTemplateName) {
94
- const pathnameConfig = pathnames[internalTemplateName];
95
- const localeTemplate = typeof pathnameConfig === 'string' ? pathnameConfig : pathnameConfig[locale];
96
- if (utils$1.matchesPathname(localeTemplate, unprefixedExternalPathname)) {
97
- unprefixedInternalPathname = utils.formatTemplatePathname(unprefixedExternalPathname, localeTemplate, internalTemplateName);
98
- } else {
99
- let sourceTemplate;
100
- if (resolvedTemplateLocale) {
101
- // A localized pathname from another locale has matched
102
- sourceTemplate = typeof pathnameConfig === 'string' ? pathnameConfig : pathnameConfig[resolvedTemplateLocale];
103
- } else {
104
- // An internal pathname has matched that
105
- // doesn't have a localized pathname
106
- sourceTemplate = internalTemplateName;
107
- }
108
- const localePrefix = isUnprefixedRouting ? undefined : utils$1.getLocalePrefix(locale, resolvedRouting.localePrefix);
109
- const template = utils.formatTemplatePathname(unprefixedExternalPathname, sourceTemplate, localeTemplate);
110
- response = redirect(utils.formatPathname(template, localePrefix, request.nextUrl.search));
111
- }
112
- }
113
- }
114
- if (!response) {
115
- if (unprefixedInternalPathname === '/' && !hasLocalePrefix) {
116
- if (isUnprefixedRouting) {
117
- response = rewrite(utils.formatPathname(unprefixedInternalPathname, utils.getLocaleAsPrefix(locale), request.nextUrl.search));
118
- } else {
119
- response = redirect(utils.formatPathname(unprefixedExternalPathname, utils$1.getLocalePrefix(locale, resolvedRouting.localePrefix), request.nextUrl.search));
120
- }
121
- } else {
122
- const internalHref = utils.formatPathname(unprefixedInternalPathname, utils.getLocaleAsPrefix(locale), request.nextUrl.search);
123
- if (hasLocalePrefix) {
124
- const externalHref = utils.formatPathname(unprefixedExternalPathname, pathnameMatch.prefix, request.nextUrl.search);
125
- if (resolvedRouting.localePrefix.mode === 'never') {
126
- response = redirect(utils.formatPathname(unprefixedExternalPathname, undefined, request.nextUrl.search));
127
- } else if (pathnameMatch.exact) {
128
- if (hasMatchedDefaultLocale && isUnprefixedRouting) {
129
- response = redirect(utils.formatPathname(unprefixedExternalPathname, undefined, request.nextUrl.search));
130
- } else {
131
- if (resolvedRouting.domains) {
132
- const pathDomain = utils.getBestMatchingDomain(domain, pathnameMatch.locale, domainsConfig);
133
- if ((domain === null || domain === void 0 ? void 0 : domain.domain) !== (pathDomain === null || pathDomain === void 0 ? void 0 : pathDomain.domain) && !hasUnknownHost) {
134
- response = redirect(externalHref, pathDomain === null || pathDomain === void 0 ? void 0 : pathDomain.domain);
135
- } else {
136
- response = rewrite(internalHref);
137
- }
138
- } else {
139
- response = rewrite(internalHref);
140
- }
141
- }
142
- } else {
143
- response = redirect(externalHref);
144
- }
145
- } else {
146
- if (isUnprefixedRouting) {
147
- response = rewrite(internalHref);
148
- } else {
149
- response = redirect(utils.formatPathname(unprefixedExternalPathname, utils$1.getLocalePrefix(locale, resolvedRouting.localePrefix), request.nextUrl.search));
150
- }
151
- }
152
- }
153
- }
154
- if (resolvedRouting.localeDetection && resolvedRouting.localeCookie) {
155
- syncCookie.default(request, response, locale, resolvedRouting.localeCookie);
156
- }
157
- if (resolvedRouting.localePrefix.mode !== 'never' && resolvedRouting.alternateLinks && resolvedRouting.locales.length > 1) {
158
- response.headers.set('Link', getAlternateLinksHeaderValue.default({
159
- routing: resolvedRouting,
160
- localizedPathnames: internalTemplateName != null && pathnames ? pathnames[internalTemplateName] : undefined,
161
- request,
162
- resolvedLocale: locale
163
- }));
164
- }
165
- return response;
166
- };
167
- }
168
-
169
- exports.default = createMiddleware;
@@ -1,20 +0,0 @@
1
- 'use strict';
2
-
3
- Object.defineProperty(exports, '__esModule', { value: true });
4
-
5
- function syncCookie(request, response, locale, localeCookie) {
6
- var _request$cookies$get;
7
- const {
8
- name,
9
- ...rest
10
- } = localeCookie;
11
- const hasOutdatedCookie = ((_request$cookies$get = request.cookies.get(name)) === null || _request$cookies$get === void 0 ? void 0 : _request$cookies$get.value) !== locale;
12
- if (hasOutdatedCookie) {
13
- response.cookies.set(name, locale, {
14
- path: request.nextUrl.basePath || undefined,
15
- ...rest
16
- });
17
- }
18
- }
19
-
20
- exports.default = syncCookie;
@@ -1,9 +0,0 @@
1
- 'use strict';
2
-
3
- Object.defineProperty(exports, '__esModule', { value: true });
4
-
5
- var middleware = require('./middleware/middleware.js');
6
-
7
-
8
-
9
- exports.default = middleware.default;