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
@@ -1,8 +1,4 @@
1
- 'use strict';
2
-
3
- Object.defineProperty(exports, '__esModule', { value: true });
4
-
5
- var utils = require('../../shared/utils.js');
1
+ import { getSortedPathnames, matchesPathname, isLocalizableHref, prefixPathname, getLocalePrefix, normalizeTrailingSlash } from '../../shared/utils.js';
6
2
 
7
3
  // Minor false positive: A route that has both optional and
8
4
  // required params will allow optional params.
@@ -32,14 +28,13 @@ function serializeSearchParams(searchParams) {
32
28
  }
33
29
  return '?' + urlSearchParams.toString();
34
30
  }
35
- function compileLocalizedPathname(_ref) {
36
- let {
37
- pathname,
38
- locale,
39
- params,
40
- pathnames,
41
- query
42
- } = _ref;
31
+ function compileLocalizedPathname({
32
+ pathname,
33
+ locale,
34
+ params,
35
+ pathnames,
36
+ query
37
+ }) {
43
38
  function getNamedPath(value) {
44
39
  let namedPath = pathnames[value];
45
40
  if (!namedPath) {
@@ -52,14 +47,13 @@ function compileLocalizedPathname(_ref) {
52
47
  const template = typeof namedPath === 'string' ? namedPath : namedPath[locale];
53
48
  let compiled = template;
54
49
  if (params) {
55
- Object.entries(params).forEach(_ref2 => {
56
- let [key, value] = _ref2;
50
+ Object.entries(params).forEach(([key, value]) => {
57
51
  let regexp, replacer;
58
52
  if (Array.isArray(value)) {
59
- regexp = "(\\[)?\\[...".concat(key, "\\](\\])?");
53
+ regexp = `(\\[)?\\[...${key}\\](\\])?`;
60
54
  replacer = value.map(v => String(v)).join('/');
61
55
  } else {
62
- regexp = "\\[".concat(key, "\\]");
56
+ regexp = `\\[${key}\\]`;
63
57
  replacer = String(value);
64
58
  }
65
59
  compiled = compiled.replace(new RegExp(regexp, 'g'), replacer);
@@ -68,10 +62,10 @@ function compileLocalizedPathname(_ref) {
68
62
 
69
63
  // Clean up optional catch-all segments that were not replaced
70
64
  compiled = compiled.replace(/\[\[\.\.\..+\]\]/g, '');
71
- compiled = utils.normalizeTrailingSlash(compiled);
65
+ compiled = normalizeTrailingSlash(compiled);
72
66
  if (compiled.includes('[')) {
73
67
  // Next.js throws anyway, therefore better provide a more helpful error message
74
- throw new Error("Insufficient params provided for localized pathname.\nTemplate: ".concat(template, "\nParams: ").concat(JSON.stringify(params)));
68
+ throw new Error(`Insufficient params provided for localized pathname.\nTemplate: ${template}\nParams: ${JSON.stringify(params)}`);
75
69
  }
76
70
  if (query) {
77
71
  compiled += serializeSearchParams(query);
@@ -97,25 +91,24 @@ function compileLocalizedPathname(_ref) {
97
91
  }
98
92
  }
99
93
  function getRoute(locale, pathname, pathnames) {
100
- const sortedPathnames = utils.getSortedPathnames(Object.keys(pathnames));
94
+ const sortedPathnames = getSortedPathnames(Object.keys(pathnames));
101
95
  const decoded = decodeURI(pathname);
102
96
  for (const internalPathname of sortedPathnames) {
103
97
  const localizedPathnamesOrPathname = pathnames[internalPathname];
104
98
  if (typeof localizedPathnamesOrPathname === 'string') {
105
99
  const localizedPathname = localizedPathnamesOrPathname;
106
- if (utils.matchesPathname(localizedPathname, decoded)) {
100
+ if (matchesPathname(localizedPathname, decoded)) {
107
101
  return internalPathname;
108
102
  }
109
103
  } else {
110
- if (utils.matchesPathname(localizedPathnamesOrPathname[locale], decoded)) {
104
+ if (matchesPathname(localizedPathnamesOrPathname[locale], decoded)) {
111
105
  return internalPathname;
112
106
  }
113
107
  }
114
108
  }
115
109
  return pathname;
116
110
  }
117
- function getBasePath(pathname) {
118
- let windowPathname = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : window.location.pathname;
111
+ function getBasePath(pathname, windowPathname = window.location.pathname) {
119
112
  if (pathname === '/') {
120
113
  return windowPathname;
121
114
  } else {
@@ -129,7 +122,7 @@ function applyPathnamePrefix(pathname, locale, routing, domain, force) {
129
122
  let shouldPrefix;
130
123
  if (force !== undefined) {
131
124
  shouldPrefix = force;
132
- } else if (utils.isLocalizableHref(pathname)) {
125
+ } else if (isLocalizableHref(pathname)) {
133
126
  if (mode === 'always') {
134
127
  shouldPrefix = true;
135
128
  } else if (mode === 'as-needed') {
@@ -147,19 +140,12 @@ function applyPathnamePrefix(pathname, locale, routing, domain, force) {
147
140
  shouldPrefix = defaultLocale !== locale;
148
141
  }
149
142
  }
150
- return shouldPrefix ? utils.prefixPathname(utils.getLocalePrefix(locale, routing.localePrefix), pathname) : pathname;
143
+ return shouldPrefix ? prefixPathname(getLocalePrefix(locale, routing.localePrefix), pathname) : pathname;
151
144
  }
152
145
  function validateReceivedConfig(config) {
153
- var _config$localePrefix;
154
- if (((_config$localePrefix = config.localePrefix) === null || _config$localePrefix === void 0 ? void 0 : _config$localePrefix.mode) === 'as-needed' && !('defaultLocale' in config)) {
146
+ if (config.localePrefix?.mode === 'as-needed' && !('defaultLocale' in config)) {
155
147
  throw new Error("`localePrefix: 'as-needed' requires a `defaultLocale`.");
156
148
  }
157
149
  }
158
150
 
159
- exports.applyPathnamePrefix = applyPathnamePrefix;
160
- exports.compileLocalizedPathname = compileLocalizedPathname;
161
- exports.getBasePath = getBasePath;
162
- exports.getRoute = getRoute;
163
- exports.normalizeNameOrNameWithParams = normalizeNameOrNameWithParams;
164
- exports.serializeSearchParams = serializeSearchParams;
165
- exports.validateReceivedConfig = validateReceivedConfig;
151
+ export { applyPathnamePrefix, compileLocalizedPathname, getBasePath, getRoute, normalizeNameOrNameWithParams, serializeSearchParams, validateReceivedConfig };
@@ -0,0 +1 @@
1
+ export { default as createNavigation } from './navigation/react-client/createNavigation.js';
@@ -0,0 +1 @@
1
+ export { default as createNavigation } from './navigation/react-server/createNavigation.js';
@@ -0,0 +1,61 @@
1
+ import fs from 'fs';
2
+ import path from 'path';
3
+ import { watch } from 'chokidar';
4
+ import { throwError } from './utils.js';
5
+
6
+ function runOnce(fn) {
7
+ if (process.env._NEXT_INTL_COMPILE_MESSAGES === '1') {
8
+ return;
9
+ }
10
+ process.env._NEXT_INTL_COMPILE_MESSAGES = '1';
11
+ fn();
12
+ }
13
+ function createMessagesDeclaration(messagesPath) {
14
+ const fullPath = path.resolve(messagesPath);
15
+ if (!fs.existsSync(fullPath)) {
16
+ throwError(`\`createMessagesDeclaration\` points to a non-existent file: ${fullPath}`);
17
+ }
18
+ if (!fullPath.endsWith('.json')) {
19
+ throwError(`\`createMessagesDeclaration\` needs to point to a JSON file. Received: ${fullPath}`);
20
+ }
21
+ const isDev = process.argv.includes('dev');
22
+ const isBuild = process.argv.includes('build');
23
+ if (!isDev && !isBuild) {
24
+ return;
25
+ }
26
+
27
+ // Next.js can call the Next.js config multiple
28
+ // times - ensure we only run once.
29
+ runOnce(() => {
30
+ compileDeclaration(messagesPath);
31
+ if (isDev) {
32
+ startWatching(messagesPath);
33
+ }
34
+ });
35
+ }
36
+ function startWatching(messagesPath) {
37
+ const watcher = watch(messagesPath);
38
+ watcher.on('change', () => {
39
+ compileDeclaration(messagesPath, true);
40
+ });
41
+ process.on('exit', () => {
42
+ void watcher.close();
43
+ });
44
+ }
45
+ function compileDeclaration(messagesPath, async = false) {
46
+ const declarationPath = messagesPath.replace(/\.json$/, '.d.json.ts');
47
+ function createDeclaration(content) {
48
+ return `// This file is auto-generated by next-intl, do not edit directly.
49
+ // See: https://next-intl-docs.vercel.app/docs/workflows/typescript#messages-arguments
50
+
51
+ declare const messages: ${content.trim()};
52
+ export default messages;`;
53
+ }
54
+ if (async) {
55
+ return fs.promises.readFile(messagesPath, 'utf-8').then(content => fs.promises.writeFile(declarationPath, createDeclaration(content)));
56
+ }
57
+ const content = fs.readFileSync(messagesPath, 'utf-8');
58
+ fs.writeFileSync(declarationPath, createDeclaration(content));
59
+ }
60
+
61
+ export { createMessagesDeclaration as default };
@@ -0,0 +1,23 @@
1
+ import createMessagesDeclaration from './createMessagesDeclaration.js';
2
+ import getNextConfig from './getNextConfig.js';
3
+ import { warn } from './utils.js';
4
+
5
+ function initPlugin(pluginConfig, nextConfig) {
6
+ if (nextConfig?.i18n != null) {
7
+ warn("\n[next-intl] An `i18n` property was found in your Next.js config. This likely causes conflicts and should therefore be removed if you use the App Router.\n\nIf you're in progress of migrating from the Pages Router, you can refer to this example: https://next-intl-docs.vercel.app/examples#app-router-migration\n");
8
+ }
9
+ if (pluginConfig.experimental?.createMessagesDeclaration) {
10
+ createMessagesDeclaration(pluginConfig.experimental.createMessagesDeclaration);
11
+ }
12
+ return getNextConfig(pluginConfig, nextConfig);
13
+ }
14
+ function createNextIntlPlugin(i18nPathOrConfig = {}) {
15
+ const config = typeof i18nPathOrConfig === 'string' ? {
16
+ requestConfig: i18nPathOrConfig
17
+ } : i18nPathOrConfig;
18
+ return function withNextIntl(nextConfig) {
19
+ return initPlugin(config, nextConfig);
20
+ };
21
+ }
22
+
23
+ export { createNextIntlPlugin as default };
@@ -0,0 +1,82 @@
1
+ import fs from 'fs';
2
+ import path from 'path';
3
+ import { throwError } from './utils.js';
4
+
5
+ function withExtensions(localPath) {
6
+ return [`${localPath}.ts`, `${localPath}.tsx`, `${localPath}.js`, `${localPath}.jsx`];
7
+ }
8
+ function resolveI18nPath(providedPath, cwd) {
9
+ function resolvePath(pathname) {
10
+ const parts = [];
11
+ if (cwd) parts.push(cwd);
12
+ parts.push(pathname);
13
+ return path.resolve(...parts);
14
+ }
15
+ function pathExists(pathname) {
16
+ return fs.existsSync(resolvePath(pathname));
17
+ }
18
+ if (providedPath) {
19
+ if (!pathExists(providedPath)) {
20
+ throwError(`Could not find i18n config at ${providedPath}, please provide a valid path.`);
21
+ }
22
+ return providedPath;
23
+ } else {
24
+ for (const candidate of [...withExtensions('./i18n/request'), ...withExtensions('./src/i18n/request')]) {
25
+ if (pathExists(candidate)) {
26
+ return candidate;
27
+ }
28
+ }
29
+ throwError(`Could not locate request configuration module.\n\nThis path is supported by default: ./(src/)i18n/request.{js,jsx,ts,tsx}\n\nAlternatively, you can specify a custom location in your Next.js config:\n\nconst withNextIntl = createNextIntlPlugin(
30
+
31
+ Alternatively, you can specify a custom location in your Next.js config:
32
+
33
+ const withNextIntl = createNextIntlPlugin(
34
+ './path/to/i18n/request.tsx'
35
+ );`);
36
+ }
37
+ }
38
+ function getNextConfig(pluginConfig, nextConfig) {
39
+ const useTurbo = process.env.TURBOPACK != null;
40
+ const nextIntlConfig = {};
41
+
42
+ // Assign alias for `next-intl/config`
43
+ if (useTurbo) {
44
+ if (pluginConfig.requestConfig?.startsWith('/')) {
45
+ throwError("Turbopack support for next-intl currently does not support absolute paths, please provide a relative one (e.g. './src/i18n/config.ts').\n\nFound: " + pluginConfig.requestConfig);
46
+ }
47
+
48
+ // `NextConfig['turbo']` is stable in Next.js 15. In case the
49
+ // experimental feature is removed in the future, we should
50
+ // replace this accordingly in a future major version.
51
+ nextIntlConfig.experimental = {
52
+ ...nextConfig?.experimental,
53
+ turbo: {
54
+ ...nextConfig?.experimental?.turbo,
55
+ resolveAlias: {
56
+ ...nextConfig?.experimental?.turbo?.resolveAlias,
57
+ // Turbo aliases don't work with absolute
58
+ // paths (see error handling above)
59
+ 'next-intl/config': resolveI18nPath(pluginConfig.requestConfig)
60
+ }
61
+ }
62
+ };
63
+ } else {
64
+ nextIntlConfig.webpack = function webpack(...[config, options]) {
65
+ // Webpack requires absolute paths
66
+ config.resolve.alias['next-intl/config'] = path.resolve(config.context, resolveI18nPath(pluginConfig.requestConfig, config.context));
67
+ if (typeof nextConfig?.webpack === 'function') {
68
+ return nextConfig.webpack(config, options);
69
+ }
70
+ return config;
71
+ };
72
+ }
73
+
74
+ // Forward config
75
+ nextIntlConfig.env = {
76
+ ...nextConfig?.env,
77
+ _next_intl_trailing_slash: nextConfig?.trailingSlash ? 'true' : undefined
78
+ };
79
+ return Object.assign({}, nextConfig, nextIntlConfig);
80
+ }
81
+
82
+ export { getNextConfig as default };
@@ -0,0 +1,11 @@
1
+ function formatMessage(message) {
2
+ return `\n[next-intl] ${message}\n`;
3
+ }
4
+ function throwError(message) {
5
+ throw new Error(formatMessage(message));
6
+ }
7
+ function warn(message) {
8
+ console.warn(formatMessage(message));
9
+ }
10
+
11
+ export { throwError, warn };
@@ -0,0 +1 @@
1
+ export { default } from './plugin/createNextIntlPlugin.js';
@@ -0,0 +1,35 @@
1
+ import { useTranslations as useTranslations$1, useFormatter as useFormatter$1 } from 'use-intl';
2
+ export * from 'use-intl';
3
+
4
+ /**
5
+ * This is the main entry file when non-'react-server'
6
+ * environments import from 'next-intl'.
7
+ *
8
+ * Maintainer notes:
9
+ * - Make sure this mirrors the API from 'react-server'.
10
+ * - Make sure everything exported from this module is
11
+ * supported in all Next.js versions that are supported.
12
+ */
13
+
14
+
15
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-function-type
16
+ function callHook(name, hook) {
17
+ return (...args) => {
18
+ try {
19
+ return hook(...args);
20
+ } catch {
21
+ throw new Error(`Failed to call \`${name}\` because the context from \`NextIntlClientProvider\` was not found.
22
+
23
+ This can happen because:
24
+ 1) You intended to render this component as a Server Component, the render
25
+ failed, and therefore React attempted to render the component on the client
26
+ instead. If this is the case, check the console for server errors.
27
+ 2) You intended to render this component on the client side, but no context was found.
28
+ Learn more about this error here: https://next-intl-docs.vercel.app/docs/environments/server-client-components#missing-context` );
29
+ }
30
+ };
31
+ }
32
+ const useTranslations = callHook('useTranslations', useTranslations$1);
33
+ const useFormatter = callHook('useFormatter', useFormatter$1);
34
+
35
+ export { useFormatter, useTranslations };
@@ -0,0 +1,31 @@
1
+ import getConfigNow from '../server/react-server/getConfigNow.js';
2
+ import getFormats from '../server/react-server/getFormats.js';
3
+ import NextIntlClientProvider from '../shared/NextIntlClientProvider.js';
4
+ import { jsx } from 'react/jsx-runtime';
5
+ import getLocaleCached from '../server/react-server/getLocale.js';
6
+ import getTimeZone from '../server/react-server/getTimeZone.js';
7
+
8
+ async function NextIntlClientProviderServer({
9
+ formats,
10
+ locale,
11
+ now,
12
+ timeZone,
13
+ ...rest
14
+ }) {
15
+ return /*#__PURE__*/jsx(NextIntlClientProvider
16
+ // We need to be careful about potentially reading from headers here.
17
+ // See https://github.com/amannn/next-intl/issues/631
18
+ , {
19
+ formats: formats === undefined ? await getFormats() : formats,
20
+ locale: locale ?? (await getLocaleCached())
21
+ // Note that we don't assign a default for `now` here,
22
+ // we only read one from the request config - if any.
23
+ // Otherwise this would cause a `dynamicIO` error.
24
+ ,
25
+ now: now ?? (await getConfigNow()),
26
+ timeZone: timeZone ?? (await getTimeZone()),
27
+ ...rest
28
+ });
29
+ }
30
+
31
+ export { NextIntlClientProviderServer as default };
@@ -0,0 +1,21 @@
1
+ import getConfig from '../server/react-server/getConfig.js';
2
+ import use from '../shared/use.js';
3
+
4
+ function useHook(hookName, promise) {
5
+ try {
6
+ return use(promise);
7
+ } catch (error) {
8
+ if (error instanceof TypeError && error.message.includes("Cannot read properties of null (reading 'use')")) {
9
+ throw new Error(`\`${hookName}\` is not callable within an async component. Please refer to https://next-intl-docs.vercel.app/docs/environments/server-client-components#async-components`, {
10
+ cause: error
11
+ });
12
+ } else {
13
+ throw error;
14
+ }
15
+ }
16
+ }
17
+ function useConfig(hookName) {
18
+ return useHook(hookName, getConfig());
19
+ }
20
+
21
+ export { useConfig as default };
@@ -0,0 +1,9 @@
1
+ import getFormatterCached from '../server/react-server/getServerFormatter.js';
2
+ import useConfig from './useConfig.js';
3
+
4
+ function useFormatter() {
5
+ const config = useConfig('useFormatter');
6
+ return getFormatterCached(config);
7
+ }
8
+
9
+ export { useFormatter as default };
@@ -0,0 +1,8 @@
1
+ import useConfig from './useConfig.js';
2
+
3
+ function useLocale() {
4
+ const config = useConfig('useLocale');
5
+ return config.locale;
6
+ }
7
+
8
+ export { useLocale as default };
@@ -0,0 +1,9 @@
1
+ import { getMessagesFromConfig } from '../server/react-server/getMessages.js';
2
+ import useConfig from './useConfig.js';
3
+
4
+ function useMessages() {
5
+ const config = useConfig('useMessages');
6
+ return getMessagesFromConfig(config);
7
+ }
8
+
9
+ export { useMessages as default };
@@ -0,0 +1,12 @@
1
+ import getDefaultNow from '../server/react-server/getDefaultNow.js';
2
+ import useConfig from './useConfig.js';
3
+
4
+ function useNow(options) {
5
+ if (options?.updateInterval != null) {
6
+ console.error("`useNow` doesn't support the `updateInterval` option in Server Components, the value will be ignored. If you need the value to update, you can convert the component to a Client Component.");
7
+ }
8
+ const config = useConfig('useNow');
9
+ return config.now ?? getDefaultNow();
10
+ }
11
+
12
+ export { useNow as default };
@@ -0,0 +1,8 @@
1
+ import useConfig from './useConfig.js';
2
+
3
+ function useTimeZone() {
4
+ const config = useConfig('useTimeZone');
5
+ return config.timeZone;
6
+ }
7
+
8
+ export { useTimeZone as default };
@@ -0,0 +1,9 @@
1
+ import getServerTranslator from '../server/react-server/getServerTranslator.js';
2
+ import useConfig from './useConfig.js';
3
+
4
+ function useTranslations(...[namespace]) {
5
+ const config = useConfig('useTranslations');
6
+ return getServerTranslator(config, namespace);
7
+ }
8
+
9
+ export { useTranslations as default };
@@ -0,0 +1,28 @@
1
+ function receiveRoutingConfig(input) {
2
+ return {
3
+ ...input,
4
+ localePrefix: receiveLocalePrefixConfig(input.localePrefix),
5
+ localeCookie: receiveLocaleCookie(input.localeCookie),
6
+ localeDetection: input.localeDetection ?? true,
7
+ alternateLinks: input.alternateLinks ?? true
8
+ };
9
+ }
10
+ function receiveLocaleCookie(localeCookie) {
11
+ return localeCookie ?? true ? {
12
+ name: 'NEXT_LOCALE',
13
+ maxAge: 5 * 60 * 60,
14
+ // 5 hours
15
+ sameSite: 'lax',
16
+ ...(typeof localeCookie === 'object' && localeCookie)
17
+
18
+ // `path` needs to be provided based on a detected base path
19
+ // that depends on the environment when setting a cookie
20
+ } : false;
21
+ }
22
+ function receiveLocalePrefixConfig(localePrefix) {
23
+ return typeof localePrefix === 'object' ? localePrefix : {
24
+ mode: localePrefix || 'always'
25
+ };
26
+ }
27
+
28
+ export { receiveRoutingConfig };
@@ -0,0 +1,5 @@
1
+ function defineRouting(config) {
2
+ return config;
3
+ }
4
+
5
+ export { defineRouting as default };
@@ -0,0 +1 @@
1
+ export { default as defineRouting } from './routing/defineRouting.js';
@@ -1,7 +1,3 @@
1
- 'use strict';
2
-
3
- Object.defineProperty(exports, '__esModule', { value: true });
4
-
5
1
  /**
6
2
  * Allows to import `next-intl/server` in non-RSC environments.
7
3
  *
@@ -12,10 +8,12 @@ Object.defineProperty(exports, '__esModule', { value: true });
12
8
 
13
9
  function notSupported(message) {
14
10
  return () => {
15
- throw new Error("`".concat(message, "` is not supported in Client Components."));
11
+ throw new Error(`\`${message}\` is not supported in Client Components.`);
16
12
  };
17
13
  }
18
- function getRequestConfig() {
14
+ function getRequestConfig(
15
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
16
+ ...args) {
19
17
  return notSupported('getRequestConfig');
20
18
  }
21
19
  const getFormatter = notSupported('getFormatter');
@@ -28,15 +26,6 @@ const getLocale = notSupported('getLocale');
28
26
  // causes a type error. The types use the `react-server` entry
29
27
  // anyway, therefore this is irrelevant.
30
28
  const getTranslations = notSupported('getTranslations');
31
- const unstable_setRequestLocale = notSupported('unstable_setRequestLocale');
32
29
  const setRequestLocale = notSupported('setRequestLocale');
33
30
 
34
- exports.getFormatter = getFormatter;
35
- exports.getLocale = getLocale;
36
- exports.getMessages = getMessages;
37
- exports.getNow = getNow;
38
- exports.getRequestConfig = getRequestConfig;
39
- exports.getTimeZone = getTimeZone;
40
- exports.getTranslations = getTranslations;
41
- exports.setRequestLocale = setRequestLocale;
42
- exports.unstable_setRequestLocale = unstable_setRequestLocale;
31
+ export { getFormatter, getLocale, getMessages, getNow, getRequestConfig, getTimeZone, getTranslations, setRequestLocale };
@@ -1,23 +1,19 @@
1
- 'use strict';
2
-
3
- Object.defineProperty(exports, '__esModule', { value: true });
4
-
5
- var headers = require('next/headers');
6
- var React = require('react');
7
- var constants = require('../../shared/constants.js');
8
- var RequestLocaleCache = require('./RequestLocaleCache.js');
1
+ import { headers } from 'next/headers.js';
2
+ import { cache } from 'react';
3
+ import { HEADER_LOCALE_NAME } from '../../shared/constants.js';
4
+ import { getCachedRequestLocale } from './RequestLocaleCache.js';
9
5
 
10
6
  async function getHeadersImpl() {
11
- const promiseOrValue = headers.headers();
7
+ const promiseOrValue = headers();
12
8
 
13
9
  // Compatibility with Next.js <15
14
10
  return promiseOrValue instanceof Promise ? await promiseOrValue : promiseOrValue;
15
11
  }
16
- const getHeaders = React.cache(getHeadersImpl);
12
+ const getHeaders = cache(getHeadersImpl);
17
13
  async function getLocaleFromHeaderImpl() {
18
14
  let locale;
19
15
  try {
20
- locale = (await getHeaders()).get(constants.HEADER_LOCALE_NAME) || undefined;
16
+ locale = (await getHeaders()).get(HEADER_LOCALE_NAME) || undefined;
21
17
  } catch (error) {
22
18
  if (error instanceof Error && error.digest === 'DYNAMIC_SERVER_USAGE') {
23
19
  const wrappedError = new Error('Usage of next-intl APIs in Server Components currently opts into dynamic rendering. This limitation will eventually be lifted, but as a stopgap solution, you can use the `setRequestLocale` API to enable static rendering, see https://next-intl-docs.vercel.app/docs/getting-started/app-router/with-i18n-routing#static-rendering', {
@@ -31,9 +27,9 @@ async function getLocaleFromHeaderImpl() {
31
27
  }
32
28
  return locale;
33
29
  }
34
- const getLocaleFromHeader = React.cache(getLocaleFromHeaderImpl);
30
+ const getLocaleFromHeader = cache(getLocaleFromHeaderImpl);
35
31
  async function getRequestLocale() {
36
- return RequestLocaleCache.getCachedRequestLocale() || (await getLocaleFromHeader());
32
+ return getCachedRequestLocale() || (await getLocaleFromHeader());
37
33
  }
38
34
 
39
- exports.getRequestLocale = getRequestLocale;
35
+ export { getRequestLocale };
@@ -1,8 +1,4 @@
1
- 'use strict';
2
-
3
- Object.defineProperty(exports, '__esModule', { value: true });
4
-
5
- var React = require('react');
1
+ import { cache } from 'react';
6
2
 
7
3
  // See https://github.com/vercel/next.js/discussions/58862
8
4
  function getCacheImpl() {
@@ -11,7 +7,7 @@ function getCacheImpl() {
11
7
  };
12
8
  return value;
13
9
  }
14
- const getCache = React.cache(getCacheImpl);
10
+ const getCache = cache(getCacheImpl);
15
11
  function getCachedRequestLocale() {
16
12
  return getCache().locale;
17
13
  }
@@ -19,5 +15,4 @@ function setCachedRequestLocale(locale) {
19
15
  getCache().locale = locale;
20
16
  }
21
17
 
22
- exports.getCachedRequestLocale = getCachedRequestLocale;
23
- exports.setCachedRequestLocale = setCachedRequestLocale;
18
+ export { getCachedRequestLocale, setCachedRequestLocale };
@@ -0,0 +1,2 @@
1
+ import getRuntimeConfig from 'next-intl/config';
2
+ export { default } from 'next-intl/config';