@common.js/next-intl 4.13.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (297) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +5 -0
  3. package/config.d.ts +4 -0
  4. package/dist/cjs/development/ExtractorCodec-D9Tw618d.cjs +7 -0
  5. package/dist/cjs/development/JSONCodec-CzA8ubPy.cjs +55 -0
  6. package/dist/cjs/development/POCodec-CWGHK-Gp.cjs +111 -0
  7. package/dist/cjs/development/plugin-DlFYUFWh.cjs +1613 -0
  8. package/dist/cjs/development/plugin.cjs +13 -0
  9. package/dist/esm/development/config.js +13 -0
  10. package/dist/esm/development/extractor/ExtractionCompiler.js +284 -0
  11. package/dist/esm/development/extractor/catalog/CatalogLocales.js +398 -0
  12. package/dist/esm/development/extractor/catalog/CatalogManager.js +1515 -0
  13. package/dist/esm/development/extractor/catalog/CatalogPersister.js +341 -0
  14. package/dist/esm/development/extractor/catalog/SaveScheduler.js +314 -0
  15. package/dist/esm/development/extractor/catalogLoader.js +288 -0
  16. package/dist/esm/development/extractor/extractMessages.js +180 -0
  17. package/dist/esm/development/extractor/extractionLoader.js +37 -0
  18. package/dist/esm/development/extractor/extractor/LRUCache.js +68 -0
  19. package/dist/esm/development/extractor/extractor/MessageExtractor.js +273 -0
  20. package/dist/esm/development/extractor/format/ExtractorCodec.js +13 -0
  21. package/dist/esm/development/extractor/format/codecs/JSONCodec.js +91 -0
  22. package/dist/esm/development/extractor/format/codecs/POCodec.js +227 -0
  23. package/dist/esm/development/extractor/format/index.js +289 -0
  24. package/dist/esm/development/extractor/normalizeExtractorConfig.js +91 -0
  25. package/dist/esm/development/extractor/source/SourceFileFilter.js +104 -0
  26. package/dist/esm/development/extractor/source/SourceFileScanner.js +297 -0
  27. package/dist/esm/development/extractor/source/SourceFileWatcher.js +610 -0
  28. package/dist/esm/development/extractor/utils.js +133 -0
  29. package/dist/esm/development/extractor.js +25 -0
  30. package/dist/esm/development/index.react-client.js +59 -0
  31. package/dist/esm/development/index.react-server.js +61 -0
  32. package/dist/esm/development/middleware/getAlternateLinksHeaderValue.js +142 -0
  33. package/dist/esm/development/middleware/middleware.js +231 -0
  34. package/dist/esm/development/middleware/resolveLocale.js +150 -0
  35. package/dist/esm/development/middleware/syncCookie.js +87 -0
  36. package/dist/esm/development/middleware/utils.js +403 -0
  37. package/dist/esm/development/middleware.js +16 -0
  38. package/dist/esm/development/navigation/react-client/createNavigation.js +195 -0
  39. package/dist/esm/development/navigation/react-client/useBasePathname.js +46 -0
  40. package/dist/esm/development/navigation/react-server/createNavigation.js +111 -0
  41. package/dist/esm/development/navigation/react-server/getServerLocale.js +167 -0
  42. package/dist/esm/development/navigation/shared/BaseLink.js +115 -0
  43. package/dist/esm/development/navigation/shared/createSharedNavigationFns.js +214 -0
  44. package/dist/esm/development/navigation/shared/syncLocaleCookie.js +139 -0
  45. package/dist/esm/development/navigation/shared/utils.js +352 -0
  46. package/dist/esm/development/navigation.react-client.js +16 -0
  47. package/dist/esm/development/navigation.react-server.js +16 -0
  48. package/dist/esm/development/plugin/config.js +28 -0
  49. package/dist/esm/development/plugin/createNextIntlPlugin.js +66 -0
  50. package/dist/esm/development/plugin/declaration/createMessagesDeclaration.js +91 -0
  51. package/dist/esm/development/plugin/extractor/initExtractionCompiler.js +64 -0
  52. package/dist/esm/development/plugin/getNextConfig.js +355 -0
  53. package/dist/esm/development/plugin/nextFlags.js +47 -0
  54. package/dist/esm/development/plugin/utils.js +43 -0
  55. package/dist/esm/development/plugin/watchFile.js +32 -0
  56. package/dist/esm/development/plugin.js +16 -0
  57. package/dist/esm/development/react-client/index.js +67 -0
  58. package/dist/esm/development/react-server/NextIntlClientProviderServer.js +327 -0
  59. package/dist/esm/development/react-server/useConfig.js +40 -0
  60. package/dist/esm/development/react-server/useExtracted.js +21 -0
  61. package/dist/esm/development/react-server/useFormatter.js +21 -0
  62. package/dist/esm/development/react-server/useLocale.js +20 -0
  63. package/dist/esm/development/react-server/useMessages.js +21 -0
  64. package/dist/esm/development/react-server/useNow.js +25 -0
  65. package/dist/esm/development/react-server/useTimeZone.js +20 -0
  66. package/dist/esm/development/react-server/useTranslations.js +71 -0
  67. package/dist/esm/development/routing/config.js +82 -0
  68. package/dist/esm/development/routing/defineRouting.js +116 -0
  69. package/dist/esm/development/routing.js +16 -0
  70. package/dist/esm/development/server/react-client/index.js +68 -0
  71. package/dist/esm/development/server/react-server/RequestLocale.js +267 -0
  72. package/dist/esm/development/server/react-server/RequestLocaleCache.js +33 -0
  73. package/dist/esm/development/server/react-server/createRequestConfig.js +16 -0
  74. package/dist/esm/development/server/react-server/getConfig.js +283 -0
  75. package/dist/esm/development/server/react-server/getConfigNow.js +166 -0
  76. package/dist/esm/development/server/react-server/getDefaultNow.js +16 -0
  77. package/dist/esm/development/server/react-server/getExtracted.js +176 -0
  78. package/dist/esm/development/server/react-server/getFormats.js +166 -0
  79. package/dist/esm/development/server/react-server/getFormatter.js +186 -0
  80. package/dist/esm/development/server/react-server/getLocale.js +166 -0
  81. package/dist/esm/development/server/react-server/getMessages.js +194 -0
  82. package/dist/esm/development/server/react-server/getNow.js +164 -0
  83. package/dist/esm/development/server/react-server/getRequestConfig.js +15 -0
  84. package/dist/esm/development/server/react-server/getServerExtractor.js +108 -0
  85. package/dist/esm/development/server/react-server/getServerFormatter.js +81 -0
  86. package/dist/esm/development/server/react-server/getServerTranslator.js +70 -0
  87. package/dist/esm/development/server/react-server/getTimeZone.js +180 -0
  88. package/dist/esm/development/server/react-server/getTranslations.js +179 -0
  89. package/dist/esm/development/server/react-server/validateLocale.js +20 -0
  90. package/dist/esm/development/server.react-client.js +40 -0
  91. package/dist/esm/development/server.react-server.js +53 -0
  92. package/dist/esm/development/shared/NextIntlClientProvider.js +79 -0
  93. package/dist/esm/development/shared/constants.js +12 -0
  94. package/dist/esm/development/shared/use.js +59 -0
  95. package/dist/esm/development/shared/utils.js +201 -0
  96. package/dist/esm/production/config.js +13 -0
  97. package/dist/esm/production/extractor/ExtractionCompiler.js +275 -0
  98. package/dist/esm/production/extractor/catalog/CatalogLocales.js +384 -0
  99. package/dist/esm/production/extractor/catalog/CatalogManager.js +1401 -0
  100. package/dist/esm/production/extractor/catalog/CatalogPersister.js +334 -0
  101. package/dist/esm/production/extractor/catalog/SaveScheduler.js +278 -0
  102. package/dist/esm/production/extractor/catalogLoader.js +251 -0
  103. package/dist/esm/production/extractor/extractMessages.js +178 -0
  104. package/dist/esm/production/extractor/extractionLoader.js +27 -0
  105. package/dist/esm/production/extractor/extractor/LRUCache.js +59 -0
  106. package/dist/esm/production/extractor/extractor/MessageExtractor.js +259 -0
  107. package/dist/esm/production/extractor/format/ExtractorCodec.js +13 -0
  108. package/dist/esm/production/extractor/format/codecs/JSONCodec.js +83 -0
  109. package/dist/esm/production/extractor/format/codecs/POCodec.js +210 -0
  110. package/dist/esm/production/extractor/format/index.js +278 -0
  111. package/dist/esm/production/extractor/normalizeExtractorConfig.js +54 -0
  112. package/dist/esm/production/extractor/source/SourceFileFilter.js +99 -0
  113. package/dist/esm/production/extractor/source/SourceFileScanner.js +293 -0
  114. package/dist/esm/production/extractor/source/SourceFileWatcher.js +579 -0
  115. package/dist/esm/production/extractor/utils.js +108 -0
  116. package/dist/esm/production/extractor.js +25 -0
  117. package/dist/esm/production/index.react-client.js +59 -0
  118. package/dist/esm/production/index.react-server.js +61 -0
  119. package/dist/esm/production/middleware/getAlternateLinksHeaderValue.js +104 -0
  120. package/dist/esm/production/middleware/middleware.js +155 -0
  121. package/dist/esm/production/middleware/resolveLocale.js +99 -0
  122. package/dist/esm/production/middleware/syncCookie.js +81 -0
  123. package/dist/esm/production/middleware/utils.js +315 -0
  124. package/dist/esm/production/middleware.js +16 -0
  125. package/dist/esm/production/navigation/react-client/createNavigation.js +174 -0
  126. package/dist/esm/production/navigation/react-client/useBasePathname.js +32 -0
  127. package/dist/esm/production/navigation/react-server/createNavigation.js +110 -0
  128. package/dist/esm/production/navigation/react-server/getServerLocale.js +162 -0
  129. package/dist/esm/production/navigation/shared/BaseLink.js +98 -0
  130. package/dist/esm/production/navigation/shared/createSharedNavigationFns.js +182 -0
  131. package/dist/esm/production/navigation/shared/syncLocaleCookie.js +113 -0
  132. package/dist/esm/production/navigation/shared/utils.js +264 -0
  133. package/dist/esm/production/navigation.react-client.js +16 -0
  134. package/dist/esm/production/navigation.react-server.js +16 -0
  135. package/dist/esm/production/plugin/config.js +22 -0
  136. package/dist/esm/production/plugin/createNextIntlPlugin.js +48 -0
  137. package/dist/esm/production/plugin/declaration/createMessagesDeclaration.js +72 -0
  138. package/dist/esm/production/plugin/extractor/initExtractionCompiler.js +33 -0
  139. package/dist/esm/production/plugin/getNextConfig.js +242 -0
  140. package/dist/esm/production/plugin/nextFlags.js +44 -0
  141. package/dist/esm/production/plugin/utils.js +35 -0
  142. package/dist/esm/production/plugin/watchFile.js +26 -0
  143. package/dist/esm/production/plugin.js +16 -0
  144. package/dist/esm/production/react-client/index.js +57 -0
  145. package/dist/esm/production/react-server/NextIntlClientProviderServer.js +327 -0
  146. package/dist/esm/production/react-server/useConfig.js +35 -0
  147. package/dist/esm/production/react-server/useExtracted.js +21 -0
  148. package/dist/esm/production/react-server/useFormatter.js +21 -0
  149. package/dist/esm/production/react-server/useLocale.js +19 -0
  150. package/dist/esm/production/react-server/useMessages.js +21 -0
  151. package/dist/esm/production/react-server/useNow.js +22 -0
  152. package/dist/esm/production/react-server/useTimeZone.js +19 -0
  153. package/dist/esm/production/react-server/useTranslations.js +71 -0
  154. package/dist/esm/production/routing/config.js +77 -0
  155. package/dist/esm/production/routing/defineRouting.js +13 -0
  156. package/dist/esm/production/routing.js +16 -0
  157. package/dist/esm/production/server/react-client/index.js +51 -0
  158. package/dist/esm/production/server/react-server/RequestLocale.js +246 -0
  159. package/dist/esm/production/server/react-server/RequestLocaleCache.js +30 -0
  160. package/dist/esm/production/server/react-server/createRequestConfig.js +16 -0
  161. package/dist/esm/production/server/react-server/getConfig.js +262 -0
  162. package/dist/esm/production/server/react-server/getConfigNow.js +162 -0
  163. package/dist/esm/production/server/react-server/getDefaultNow.js +14 -0
  164. package/dist/esm/production/server/react-server/getExtracted.js +166 -0
  165. package/dist/esm/production/server/react-server/getFormats.js +157 -0
  166. package/dist/esm/production/server/react-server/getFormatter.js +179 -0
  167. package/dist/esm/production/server/react-server/getLocale.js +157 -0
  168. package/dist/esm/production/server/react-server/getMessages.js +190 -0
  169. package/dist/esm/production/server/react-server/getNow.js +164 -0
  170. package/dist/esm/production/server/react-server/getRequestConfig.js +13 -0
  171. package/dist/esm/production/server/react-server/getServerExtractor.js +20 -0
  172. package/dist/esm/production/server/react-server/getServerFormatter.js +78 -0
  173. package/dist/esm/production/server/react-server/getServerTranslator.js +69 -0
  174. package/dist/esm/production/server/react-server/getTimeZone.js +176 -0
  175. package/dist/esm/production/server/react-server/getTranslations.js +166 -0
  176. package/dist/esm/production/server.react-client.js +40 -0
  177. package/dist/esm/production/server.react-server.js +53 -0
  178. package/dist/esm/production/shared/NextIntlClientProvider.js +77 -0
  179. package/dist/esm/production/shared/constants.js +11 -0
  180. package/dist/esm/production/shared/use.js +51 -0
  181. package/dist/esm/production/shared/utils.js +156 -0
  182. package/dist/types/config.d.ts +1 -0
  183. package/dist/types/extractor/ExtractionCompiler.d.ts +16 -0
  184. package/dist/types/extractor/catalog/CatalogLocales.d.ts +29 -0
  185. package/dist/types/extractor/catalog/CatalogManager.d.ts +76 -0
  186. package/dist/types/extractor/catalog/CatalogPersister.d.ts +20 -0
  187. package/dist/types/extractor/catalog/SaveScheduler.d.ts +18 -0
  188. package/dist/types/extractor/extractMessages.d.ts +2 -0
  189. package/dist/types/extractor/extractor/LRUCache.d.ts +7 -0
  190. package/dist/types/extractor/extractor/MessageExtractor.bench.d.ts +1 -0
  191. package/dist/types/extractor/extractor/MessageExtractor.d.ts +17 -0
  192. package/dist/types/extractor/format/ExtractorCodec.d.ts +33 -0
  193. package/dist/types/extractor/format/codecs/JSONCodec.d.ts +2 -0
  194. package/dist/types/extractor/format/codecs/POCodec.d.ts +2 -0
  195. package/dist/types/extractor/format/codecs/fixtures/JSONCodecStructured.d.ts +2 -0
  196. package/dist/types/extractor/format/codecs/fixtures/POCodecSourceMessageKey.d.ts +2 -0
  197. package/dist/types/extractor/format/index.d.ts +15 -0
  198. package/dist/types/extractor/format/types.d.ts +8 -0
  199. package/dist/types/extractor/index.d.ts +2 -0
  200. package/dist/types/extractor/normalizeExtractorConfig.d.ts +5 -0
  201. package/dist/types/extractor/source/SourceFileFilter.d.ts +8 -0
  202. package/dist/types/extractor/source/SourceFileScanner.d.ts +4 -0
  203. package/dist/types/extractor/source/SourceFileWatcher.d.ts +15 -0
  204. package/dist/types/extractor/types.d.ts +79 -0
  205. package/dist/types/extractor/utils.d.ts +9 -0
  206. package/dist/types/extractor.d.ts +1 -0
  207. package/dist/types/index.react-client.d.ts +8 -0
  208. package/dist/types/index.react-server.d.ts +1 -0
  209. package/dist/types/middleware/getAlternateLinksHeaderValue.d.ts +13 -0
  210. package/dist/types/middleware/index.d.ts +4 -0
  211. package/dist/types/middleware/middleware.d.ts +4 -0
  212. package/dist/types/middleware/resolveLocale.d.ts +9 -0
  213. package/dist/types/middleware/syncCookie.d.ts +7 -0
  214. package/dist/types/middleware/utils.d.ts +26 -0
  215. package/dist/types/middleware.d.ts +1 -0
  216. package/dist/types/navigation/react-client/createNavigation.d.ts +465 -0
  217. package/dist/types/navigation/react-client/index.d.ts +2 -0
  218. package/dist/types/navigation/react-client/useBasePathname.d.ts +5 -0
  219. package/dist/types/navigation/react-server/createNavigation.d.ts +384 -0
  220. package/dist/types/navigation/react-server/getServerLocale.d.ts +5 -0
  221. package/dist/types/navigation/react-server/index.d.ts +2 -0
  222. package/dist/types/navigation/shared/BaseLink.d.ts +11 -0
  223. package/dist/types/navigation/shared/StrictParams.d.ts +8 -0
  224. package/dist/types/navigation/shared/createSharedNavigationFns.d.ts +370 -0
  225. package/dist/types/navigation/shared/syncLocaleCookie.d.ts +8 -0
  226. package/dist/types/navigation/shared/utils.d.ts +53 -0
  227. package/dist/types/navigation.react-client.d.ts +1 -0
  228. package/dist/types/navigation.react-server.d.ts +1 -0
  229. package/dist/types/plugin/catalog/catalogLoader.d.ts +10 -0
  230. package/dist/types/plugin/config.d.ts +3 -0
  231. package/dist/types/plugin/createNextIntlPlugin.d.ts +3 -0
  232. package/dist/types/plugin/declaration/createMessagesDeclaration.d.ts +1 -0
  233. package/dist/types/plugin/declaration/index.d.ts +1 -0
  234. package/dist/types/plugin/extractor/extractionLoader.d.ts +3 -0
  235. package/dist/types/plugin/extractor/initExtractionCompiler.d.ts +2 -0
  236. package/dist/types/plugin/getNextConfig.d.ts +4 -0
  237. package/dist/types/plugin/index.d.ts +1 -0
  238. package/dist/types/plugin/nextFlags.d.ts +2 -0
  239. package/dist/types/plugin/types.d.ts +25 -0
  240. package/dist/types/plugin/utils.d.ts +8 -0
  241. package/dist/types/plugin/watchFile.d.ts +6 -0
  242. package/dist/types/plugin.d.ts +1 -0
  243. package/dist/types/react-client/index.d.ts +16 -0
  244. package/dist/types/react-server/NextIntlClientProviderServer.d.ts +5 -0
  245. package/dist/types/react-server/index.d.ts +16 -0
  246. package/dist/types/react-server/testUtils.d.ts +2 -0
  247. package/dist/types/react-server/useConfig.d.ts +2 -0
  248. package/dist/types/react-server/useExtracted.d.ts +2 -0
  249. package/dist/types/react-server/useFormatter.d.ts +2 -0
  250. package/dist/types/react-server/useLocale.d.ts +2 -0
  251. package/dist/types/react-server/useMessages.d.ts +2 -0
  252. package/dist/types/react-server/useNow.d.ts +2 -0
  253. package/dist/types/react-server/useTimeZone.d.ts +2 -0
  254. package/dist/types/react-server/useTranslations.d.ts +2 -0
  255. package/dist/types/routing/config.d.ts +73 -0
  256. package/dist/types/routing/defineRouting.d.ts +3 -0
  257. package/dist/types/routing/index.d.ts +3 -0
  258. package/dist/types/routing/types.d.ts +25 -0
  259. package/dist/types/routing.d.ts +1 -0
  260. package/dist/types/server/react-client/index.d.ts +10 -0
  261. package/dist/types/server/react-server/RequestLocale.d.ts +1 -0
  262. package/dist/types/server/react-server/RequestLocaleCache.d.ts +3 -0
  263. package/dist/types/server/react-server/createRequestConfig.d.ts +3 -0
  264. package/dist/types/server/react-server/getConfig.d.ts +13 -0
  265. package/dist/types/server/react-server/getConfigNow.d.ts +4 -0
  266. package/dist/types/server/react-server/getDefaultNow.d.ts +3 -0
  267. package/dist/types/server/react-server/getExtracted.d.ts +10 -0
  268. package/dist/types/server/react-server/getFormats.d.ts +3 -0
  269. package/dist/types/server/react-server/getFormatter.d.ts +10 -0
  270. package/dist/types/server/react-server/getLocale.d.ts +4 -0
  271. package/dist/types/server/react-server/getMessages.d.ts +6 -0
  272. package/dist/types/server/react-server/getNow.d.ts +4 -0
  273. package/dist/types/server/react-server/getRequestConfig.d.ts +35 -0
  274. package/dist/types/server/react-server/getServerExtractor.d.ts +5 -0
  275. package/dist/types/server/react-server/getServerFormatter.d.ts +29 -0
  276. package/dist/types/server/react-server/getServerTranslator.d.ts +4 -0
  277. package/dist/types/server/react-server/getTimeZone.d.ts +4 -0
  278. package/dist/types/server/react-server/getTranslations.d.ts +8 -0
  279. package/dist/types/server/react-server/index.d.ts +12 -0
  280. package/dist/types/server/react-server/validateLocale.d.ts +1 -0
  281. package/dist/types/server.react-client.d.ts +1 -0
  282. package/dist/types/server.react-server.d.ts +1 -0
  283. package/dist/types/shared/NextIntlClientProvider.d.ts +9 -0
  284. package/dist/types/shared/constants.d.ts +1 -0
  285. package/dist/types/shared/types.d.ts +5 -0
  286. package/dist/types/shared/use.d.ts +3 -0
  287. package/dist/types/shared/utils.d.ts +20 -0
  288. package/extractor/catalogLoader.d.ts +4 -0
  289. package/extractor/extractionLoader.d.ts +4 -0
  290. package/extractor.d.ts +2 -0
  291. package/middleware.d.ts +4 -0
  292. package/navigation.d.ts +2 -0
  293. package/package.json +60 -0
  294. package/plugin.d.cts +3 -0
  295. package/plugin.d.ts +4 -0
  296. package/routing.d.ts +2 -0
  297. package/server.d.ts +2 -0
@@ -0,0 +1,273 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", {
3
+ value: true
4
+ });
5
+ Object.defineProperty(exports, "default", {
6
+ enumerable: true,
7
+ get: function() {
8
+ return MessageExtractor;
9
+ }
10
+ });
11
+ var _module = require("module");
12
+ var _path = /*#__PURE__*/ _interopRequireDefault(require("path"));
13
+ var _core = require("@swc/core");
14
+ var _utilsJs = require("../utils.js");
15
+ var _lrucacheJs = /*#__PURE__*/ _interopRequireDefault(require("./LRUCache.js"));
16
+ function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {
17
+ try {
18
+ var info = gen[key](arg);
19
+ var value = info.value;
20
+ } catch (error) {
21
+ reject(error);
22
+ return;
23
+ }
24
+ if (info.done) {
25
+ resolve(value);
26
+ } else {
27
+ Promise.resolve(value).then(_next, _throw);
28
+ }
29
+ }
30
+ function _asyncToGenerator(fn) {
31
+ return function() {
32
+ var self = this, args = arguments;
33
+ return new Promise(function(resolve, reject) {
34
+ var gen = fn.apply(self, args);
35
+ function _next(value) {
36
+ asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value);
37
+ }
38
+ function _throw(err) {
39
+ asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err);
40
+ }
41
+ _next(undefined);
42
+ });
43
+ };
44
+ }
45
+ function _classCallCheck(instance, Constructor) {
46
+ if (!(instance instanceof Constructor)) {
47
+ throw new TypeError("Cannot call a class as a function");
48
+ }
49
+ }
50
+ function _defineProperties(target, props) {
51
+ for(var i = 0; i < props.length; i++){
52
+ var descriptor = props[i];
53
+ descriptor.enumerable = descriptor.enumerable || false;
54
+ descriptor.configurable = true;
55
+ if ("value" in descriptor) descriptor.writable = true;
56
+ Object.defineProperty(target, descriptor.key, descriptor);
57
+ }
58
+ }
59
+ function _createClass(Constructor, protoProps, staticProps) {
60
+ if (protoProps) _defineProperties(Constructor.prototype, protoProps);
61
+ if (staticProps) _defineProperties(Constructor, staticProps);
62
+ return Constructor;
63
+ }
64
+ function _defineProperty(obj, key, value) {
65
+ if (key in obj) {
66
+ Object.defineProperty(obj, key, {
67
+ value: value,
68
+ enumerable: true,
69
+ configurable: true,
70
+ writable: true
71
+ });
72
+ } else {
73
+ obj[key] = value;
74
+ }
75
+ return obj;
76
+ }
77
+ function _interopRequireDefault(obj) {
78
+ return obj && obj.__esModule ? obj : {
79
+ default: obj
80
+ };
81
+ }
82
+ var __generator = (void 0) && (void 0).__generator || function(thisArg, body) {
83
+ var f, y, t, g, _ = {
84
+ label: 0,
85
+ sent: function() {
86
+ if (t[0] & 1) throw t[1];
87
+ return t[1];
88
+ },
89
+ trys: [],
90
+ ops: []
91
+ };
92
+ return g = {
93
+ next: verb(0),
94
+ "throw": verb(1),
95
+ "return": verb(2)
96
+ }, typeof Symbol === "function" && (g[Symbol.iterator] = function() {
97
+ return this;
98
+ }), g;
99
+ function verb(n) {
100
+ return function(v) {
101
+ return step([
102
+ n,
103
+ v
104
+ ]);
105
+ };
106
+ }
107
+ function step(op) {
108
+ if (f) throw new TypeError("Generator is already executing.");
109
+ while(_)try {
110
+ if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
111
+ if (y = 0, t) op = [
112
+ op[0] & 2,
113
+ t.value
114
+ ];
115
+ switch(op[0]){
116
+ case 0:
117
+ case 1:
118
+ t = op;
119
+ break;
120
+ case 4:
121
+ _.label++;
122
+ return {
123
+ value: op[1],
124
+ done: false
125
+ };
126
+ case 5:
127
+ _.label++;
128
+ y = op[1];
129
+ op = [
130
+ 0
131
+ ];
132
+ continue;
133
+ case 7:
134
+ op = _.ops.pop();
135
+ _.trys.pop();
136
+ continue;
137
+ default:
138
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) {
139
+ _ = 0;
140
+ continue;
141
+ }
142
+ if (op[0] === 3 && (!t || op[1] > t[0] && op[1] < t[3])) {
143
+ _.label = op[1];
144
+ break;
145
+ }
146
+ if (op[0] === 6 && _.label < t[1]) {
147
+ _.label = t[1];
148
+ t = op;
149
+ break;
150
+ }
151
+ if (t && _.label < t[2]) {
152
+ _.label = t[2];
153
+ _.ops.push(op);
154
+ break;
155
+ }
156
+ if (t[2]) _.ops.pop();
157
+ _.trys.pop();
158
+ continue;
159
+ }
160
+ op = body.call(thisArg, _);
161
+ } catch (e) {
162
+ op = [
163
+ 6,
164
+ e
165
+ ];
166
+ y = 0;
167
+ } finally{
168
+ f = t = 0;
169
+ }
170
+ if (op[0] & 5) throw op[1];
171
+ return {
172
+ value: op[0] ? op[1] : void 0,
173
+ done: true
174
+ };
175
+ }
176
+ };
177
+ var require$1 = (0, _module.createRequire)(require("url").pathToFileURL(__filename).toString());
178
+ var MessageExtractor = /*#__PURE__*/ function() {
179
+ "use strict";
180
+ function MessageExtractor(opts) {
181
+ _classCallCheck(this, MessageExtractor);
182
+ _defineProperty(this, "compileCache", new _lrucacheJs.default(750));
183
+ var _isDevelopment;
184
+ this.isDevelopment = (_isDevelopment = opts.isDevelopment) !== null && _isDevelopment !== void 0 ? _isDevelopment : false;
185
+ var _projectRoot;
186
+ this.projectRoot = (_projectRoot = opts.projectRoot) !== null && _projectRoot !== void 0 ? _projectRoot : (0, _utilsJs.getDefaultProjectRoot)();
187
+ var _sourceMap;
188
+ this.sourceMap = (_sourceMap = opts.sourceMap) !== null && _sourceMap !== void 0 ? _sourceMap : false;
189
+ }
190
+ _createClass(MessageExtractor, [
191
+ {
192
+ key: "extract",
193
+ value: function extract(absoluteFilePath, source) {
194
+ var _this = this;
195
+ return _asyncToGenerator(function() {
196
+ var cacheKey, cached, filePath, result, output, messages, extractionResult;
197
+ return __generator(this, function(_state) {
198
+ switch(_state.label){
199
+ case 0:
200
+ cacheKey = [
201
+ source,
202
+ absoluteFilePath
203
+ ].join("!");
204
+ cached = _this.compileCache.get(cacheKey);
205
+ if (cached) return [
206
+ 2,
207
+ cached
208
+ ];
209
+ // Shortcut parsing if hook is not used. The Turbopack integration already
210
+ // pre-filters this, but for webpack this feature doesn't exist, so we need
211
+ // to do it here.
212
+ if (!source.includes("useExtracted") && !source.includes("getExtracted")) {
213
+ return [
214
+ 2,
215
+ {
216
+ messages: [],
217
+ code: source
218
+ }
219
+ ];
220
+ }
221
+ filePath = (0, _utilsJs.normalizePathToPosix)(_path.default.relative(_this.projectRoot, absoluteFilePath));
222
+ return [
223
+ 4,
224
+ (0, _core.transform)(source, {
225
+ jsc: {
226
+ target: "esnext",
227
+ parser: {
228
+ syntax: "typescript",
229
+ tsx: true,
230
+ decorators: true
231
+ },
232
+ experimental: {
233
+ cacheRoot: "node_modules/.cache/swc",
234
+ disableBuiltinTransformsForInternalTesting: true,
235
+ disableAllLints: true,
236
+ plugins: [
237
+ [
238
+ require$1.resolve("next-intl-swc-plugin-extractor"),
239
+ {
240
+ isDevelopment: _this.isDevelopment,
241
+ filePath: filePath
242
+ }
243
+ ]
244
+ ]
245
+ }
246
+ },
247
+ sourceMaps: _this.sourceMap,
248
+ sourceFileName: filePath,
249
+ filename: filePath
250
+ })
251
+ ];
252
+ case 1:
253
+ result = _state.sent();
254
+ output = result.output;
255
+ messages = JSON.parse(JSON.parse(output).results);
256
+ extractionResult = {
257
+ code: result.code,
258
+ map: result.map,
259
+ messages: messages
260
+ };
261
+ _this.compileCache.set(cacheKey, extractionResult);
262
+ return [
263
+ 2,
264
+ extractionResult
265
+ ];
266
+ }
267
+ });
268
+ })();
269
+ }
270
+ }
271
+ ]);
272
+ return MessageExtractor;
273
+ }();
@@ -0,0 +1,13 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", {
3
+ value: true
4
+ });
5
+ Object.defineProperty(exports, "defineCodec", {
6
+ enumerable: true,
7
+ get: function() {
8
+ return defineCodec;
9
+ }
10
+ });
11
+ function defineCodec(factory) {
12
+ return factory;
13
+ }
@@ -0,0 +1,91 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", {
3
+ value: true
4
+ });
5
+ Object.defineProperty(exports, "default", {
6
+ enumerable: true,
7
+ get: function() {
8
+ return JSONCodec;
9
+ }
10
+ });
11
+ var _utilsJs = require("../../utils.js");
12
+ var _extractorCodecJs = require("../ExtractorCodec.js");
13
+ var JSONCodec = (0, _extractorCodecJs.defineCodec)(function() {
14
+ return {
15
+ decode: function decode(source) {
16
+ var json = JSON.parse(source);
17
+ var messages = [];
18
+ traverseMessages(json, function(message, id) {
19
+ messages.push({
20
+ id: id,
21
+ message: message,
22
+ references: [],
23
+ description: []
24
+ });
25
+ });
26
+ return messages;
27
+ },
28
+ encode: function encode(messages) {
29
+ var root = {};
30
+ var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = undefined;
31
+ try {
32
+ for(var _iterator = (0, _utilsJs.getSortedMessages)(messages)[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true){
33
+ var message = _step.value;
34
+ (0, _utilsJs.setNestedProperty)(root, message.id, message.message);
35
+ }
36
+ } catch (err) {
37
+ _didIteratorError = true;
38
+ _iteratorError = err;
39
+ } finally{
40
+ try {
41
+ if (!_iteratorNormalCompletion && _iterator.return != null) {
42
+ _iterator.return();
43
+ }
44
+ } finally{
45
+ if (_didIteratorError) {
46
+ throw _iteratorError;
47
+ }
48
+ }
49
+ }
50
+ return JSON.stringify(root, null, 2) + "\n";
51
+ },
52
+ toJSONString: function toJSONString(source) {
53
+ return source;
54
+ }
55
+ };
56
+ });
57
+ function traverseMessages(obj, callback) {
58
+ var path = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : "";
59
+ var NAMESPACE_SEPARATOR = ".";
60
+ var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = undefined;
61
+ try {
62
+ for(var _iterator = Object.keys(obj)[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true){
63
+ var key = _step.value;
64
+ if ((0, _utilsJs.isForbiddenObjectKey)(key)) {
65
+ throw new Error("Invalid message catalog key: `".concat(key, "`."));
66
+ }
67
+ var newPath = path ? path + NAMESPACE_SEPARATOR + key : key;
68
+ var value = obj[key];
69
+ if (typeof value === "string") {
70
+ callback(value, newPath);
71
+ } else if (Array.isArray(value)) {
72
+ throw new Error("Message at `".concat(newPath, "` resolved to an array, but only strings are supported. See https://next-intl.dev/docs/usage/translations#arrays-of-messages"));
73
+ } else if (typeof value === "object") {
74
+ traverseMessages(value, callback, newPath);
75
+ }
76
+ }
77
+ } catch (err) {
78
+ _didIteratorError = true;
79
+ _iteratorError = err;
80
+ } finally{
81
+ try {
82
+ if (!_iteratorNormalCompletion && _iterator.return != null) {
83
+ _iterator.return();
84
+ }
85
+ } finally{
86
+ if (_didIteratorError) {
87
+ throw _iteratorError;
88
+ }
89
+ }
90
+ }
91
+ }
@@ -0,0 +1,227 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", {
3
+ value: true
4
+ });
5
+ Object.defineProperty(exports, "default", {
6
+ enumerable: true,
7
+ get: function() {
8
+ return POCodec;
9
+ }
10
+ });
11
+ var _poParser = /*#__PURE__*/ _interopRequireDefault(require("po-parser"));
12
+ var _utilsJs = require("../../utils.js");
13
+ var _extractorCodecJs = require("../ExtractorCodec.js");
14
+ function _arrayLikeToArray(arr, len) {
15
+ if (len == null || len > arr.length) len = arr.length;
16
+ for(var i = 0, arr2 = new Array(len); i < len; i++)arr2[i] = arr[i];
17
+ return arr2;
18
+ }
19
+ function _arrayWithoutHoles(arr) {
20
+ if (Array.isArray(arr)) return _arrayLikeToArray(arr);
21
+ }
22
+ function _defineProperty(obj, key, value) {
23
+ if (key in obj) {
24
+ Object.defineProperty(obj, key, {
25
+ value: value,
26
+ enumerable: true,
27
+ configurable: true,
28
+ writable: true
29
+ });
30
+ } else {
31
+ obj[key] = value;
32
+ }
33
+ return obj;
34
+ }
35
+ function _interopRequireDefault(obj) {
36
+ return obj && obj.__esModule ? obj : {
37
+ default: obj
38
+ };
39
+ }
40
+ function _iterableToArray(iter) {
41
+ if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter);
42
+ }
43
+ function _nonIterableSpread() {
44
+ throw new TypeError("Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
45
+ }
46
+ function _objectSpread(target) {
47
+ for(var i = 1; i < arguments.length; i++){
48
+ var source = arguments[i] != null ? arguments[i] : {};
49
+ var ownKeys = Object.keys(source);
50
+ if (typeof Object.getOwnPropertySymbols === "function") {
51
+ ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function(sym) {
52
+ return Object.getOwnPropertyDescriptor(source, sym).enumerable;
53
+ }));
54
+ }
55
+ ownKeys.forEach(function(key) {
56
+ _defineProperty(target, key, source[key]);
57
+ });
58
+ }
59
+ return target;
60
+ }
61
+ function ownKeys(object, enumerableOnly) {
62
+ var keys = Object.keys(object);
63
+ if (Object.getOwnPropertySymbols) {
64
+ var symbols = Object.getOwnPropertySymbols(object);
65
+ if (enumerableOnly) {
66
+ symbols = symbols.filter(function(sym) {
67
+ return Object.getOwnPropertyDescriptor(object, sym).enumerable;
68
+ });
69
+ }
70
+ keys.push.apply(keys, symbols);
71
+ }
72
+ return keys;
73
+ }
74
+ function _objectSpreadProps(target, source) {
75
+ source = source != null ? source : {};
76
+ if (Object.getOwnPropertyDescriptors) {
77
+ Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));
78
+ } else {
79
+ ownKeys(Object(source)).forEach(function(key) {
80
+ Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));
81
+ });
82
+ }
83
+ return target;
84
+ }
85
+ function _objectWithoutProperties(source, excluded) {
86
+ if (source == null) return {};
87
+ var target = _objectWithoutPropertiesLoose(source, excluded);
88
+ var key, i;
89
+ if (Object.getOwnPropertySymbols) {
90
+ var sourceSymbolKeys = Object.getOwnPropertySymbols(source);
91
+ for(i = 0; i < sourceSymbolKeys.length; i++){
92
+ key = sourceSymbolKeys[i];
93
+ if (excluded.indexOf(key) >= 0) continue;
94
+ if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;
95
+ target[key] = source[key];
96
+ }
97
+ }
98
+ return target;
99
+ }
100
+ function _objectWithoutPropertiesLoose(source, excluded) {
101
+ if (source == null) return {};
102
+ var target = {};
103
+ var sourceKeys = Object.keys(source);
104
+ var key, i;
105
+ for(i = 0; i < sourceKeys.length; i++){
106
+ key = sourceKeys[i];
107
+ if (excluded.indexOf(key) >= 0) continue;
108
+ target[key] = source[key];
109
+ }
110
+ return target;
111
+ }
112
+ function _toConsumableArray(arr) {
113
+ return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread();
114
+ }
115
+ function _unsupportedIterableToArray(o, minLen) {
116
+ if (!o) return;
117
+ if (typeof o === "string") return _arrayLikeToArray(o, minLen);
118
+ var n = Object.prototype.toString.call(o).slice(8, -1);
119
+ if (n === "Object" && o.constructor) n = o.constructor.name;
120
+ if (n === "Map" || n === "Set") return Array.from(n);
121
+ if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen);
122
+ }
123
+ var POCodec = (0, _extractorCodecJs.defineCodec)(function() {
124
+ // See also https://www.gnu.org/software/gettext/manual/html_node/Header-Entry.html
125
+ var DEFAULT_METADATA = {
126
+ // Recommended by spec
127
+ "Content-Type": "text/plain; charset=utf-8",
128
+ "Content-Transfer-Encoding": "8bit",
129
+ // Otherwise other tools might set this
130
+ "X-Generator": "next-intl",
131
+ // Crowdin defaults to using msgid as source key
132
+ "X-Crowdin-SourceKey": "msgstr"
133
+ };
134
+ // Move all parts before the last dot to msgctxt
135
+ var NAMESPACE_SEPARATOR = ".";
136
+ // Metadata is stored so it can be retained when writing
137
+ var metadataByLocale = new Map();
138
+ return {
139
+ decode: function decode(content, context) {
140
+ var catalog = _poParser.default.parse(content);
141
+ if (catalog.meta) {
142
+ metadataByLocale.set(context.locale, catalog.meta);
143
+ }
144
+ var messages = catalog.messages || [];
145
+ return messages.map(function(msg) {
146
+ var extractedComments = msg.extractedComments, msgctxt = msg.msgctxt, msgid = msg.msgid, msgstr = msg.msgstr, references = msg.references, rest = _objectWithoutProperties(msg, [
147
+ "extractedComments",
148
+ "msgctxt",
149
+ "msgid",
150
+ "msgstr",
151
+ "references"
152
+ ]);
153
+ return _objectSpreadProps(_objectSpread({}, rest), {
154
+ id: msgctxt ? [
155
+ msgctxt,
156
+ msgid
157
+ ].join(NAMESPACE_SEPARATOR) : msgid,
158
+ message: msgstr,
159
+ description: extractedComments !== null && extractedComments !== void 0 ? extractedComments : [],
160
+ references: references !== null && references !== void 0 ? references : []
161
+ });
162
+ });
163
+ },
164
+ encode: function encode(messages, context) {
165
+ var encodedMessages = (0, _utilsJs.getSortedMessages)(messages).map(function(msg) {
166
+ var _description = msg.description, description = _description === void 0 ? [] : _description, id = msg.id, message = msg.message, references = msg.references, rest = _objectWithoutProperties(msg, [
167
+ "description",
168
+ "id",
169
+ "message",
170
+ "references"
171
+ ]);
172
+ var lastDotIndex = id.lastIndexOf(NAMESPACE_SEPARATOR);
173
+ var hasNamespace = id.includes(NAMESPACE_SEPARATOR);
174
+ var msgid = hasNamespace ? id.slice(lastDotIndex + NAMESPACE_SEPARATOR.length) : id;
175
+ // Path-only refs (no `:line`), unique paths
176
+ var pathOnlyRefs = _toConsumableArray(new Set(references.map(function(ref) {
177
+ return ref.path;
178
+ }))).map(function(path) {
179
+ return {
180
+ path: path
181
+ };
182
+ });
183
+ return _objectSpread({
184
+ msgid: msgid,
185
+ msgstr: message
186
+ }, description.length > 0 && {
187
+ extractedComments: description
188
+ }, hasNamespace && {
189
+ msgctxt: id.slice(0, lastDotIndex)
190
+ }, pathOnlyRefs.length > 0 && {
191
+ references: pathOnlyRefs
192
+ }, rest);
193
+ });
194
+ return _poParser.default.serialize({
195
+ meta: _objectSpread({
196
+ Language: context.locale
197
+ }, DEFAULT_METADATA, metadataByLocale.get(context.locale)),
198
+ messages: encodedMessages
199
+ });
200
+ },
201
+ toJSONString: function toJSONString(source, context) {
202
+ var parsed = this.decode(source, context);
203
+ var messagesObject = {};
204
+ var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = undefined;
205
+ try {
206
+ for(var _iterator = parsed[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true){
207
+ var message = _step.value;
208
+ (0, _utilsJs.setNestedProperty)(messagesObject, message.id, message.message);
209
+ }
210
+ } catch (err) {
211
+ _didIteratorError = true;
212
+ _iteratorError = err;
213
+ } finally{
214
+ try {
215
+ if (!_iteratorNormalCompletion && _iterator.return != null) {
216
+ _iterator.return();
217
+ }
218
+ } finally{
219
+ if (_didIteratorError) {
220
+ throw _iteratorError;
221
+ }
222
+ }
223
+ }
224
+ return JSON.stringify(messagesObject);
225
+ }
226
+ };
227
+ });