next-intl 4.13.7 → 4.14.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (39) hide show
  1. package/dist/cjs/development/BuiltInPoCodec-B6w-kmTx.cjs +34 -0
  2. package/dist/cjs/development/plugin.cjs +1607 -8
  3. package/dist/esm/development/extractor/catalog/CatalogManager.js +3 -2
  4. package/dist/esm/development/extractor/catalog/CatalogPersister.js +21 -2
  5. package/dist/esm/development/extractor/catalogLoader.js +38 -16
  6. package/dist/esm/development/extractor/extractor/MessageExtractor.js +8 -1
  7. package/dist/esm/development/extractor/format/ExtractorCodec.js +3 -0
  8. package/dist/esm/development/extractor/format/codecs/BuiltInPoCodec.js +22 -0
  9. package/dist/esm/development/extractor/format/index.js +19 -4
  10. package/dist/esm/development/extractor/utils.js +8 -27
  11. package/dist/esm/development/plugin/getNextConfig.js +6 -2
  12. package/dist/esm/production/extractor/catalog/CatalogManager.js +1 -1
  13. package/dist/esm/production/extractor/catalog/CatalogPersister.js +1 -1
  14. package/dist/esm/production/extractor/catalogLoader.js +1 -1
  15. package/dist/esm/production/extractor/extractor/MessageExtractor.js +1 -1
  16. package/dist/esm/production/extractor/format/codecs/BuiltInPoCodec.js +1 -0
  17. package/dist/esm/production/extractor/format/index.js +1 -1
  18. package/dist/esm/production/extractor/utils.js +1 -1
  19. package/dist/esm/production/plugin/getNextConfig.js +1 -1
  20. package/dist/types/extractor/catalog/CatalogManager.d.ts +1 -1
  21. package/dist/types/extractor/catalog/CatalogPersister.d.ts +2 -0
  22. package/dist/types/extractor/extractor/MessageExtractor.d.ts +2 -2
  23. package/dist/types/extractor/format/ExtractorCodec.d.ts +11 -27
  24. package/dist/types/extractor/format/codecs/fixtures/POCodecLegacy.d.ts +50 -0
  25. package/dist/types/extractor/format/index.d.ts +2 -2
  26. package/dist/types/extractor/types.d.ts +9 -21
  27. package/dist/types/extractor/utils.d.ts +1 -1
  28. package/package.json +9 -12
  29. package/dist/cjs/development/ExtractorCodec-D9Tw618d.cjs +0 -7
  30. package/dist/cjs/development/JSONCodec-CzA8ubPy.cjs +0 -55
  31. package/dist/cjs/development/POCodec-CWGHK-Gp.cjs +0 -111
  32. package/dist/cjs/development/plugin-DlFYUFWh.cjs +0 -1613
  33. package/dist/esm/development/extractor/format/codecs/JSONCodec.js +0 -47
  34. package/dist/esm/development/extractor/format/codecs/POCodec.js +0 -99
  35. package/dist/esm/production/extractor/format/codecs/JSONCodec.js +0 -1
  36. package/dist/esm/production/extractor/format/codecs/POCodec.js +0 -1
  37. package/dist/types/extractor/format/codecs/POCodec.d.ts +0 -2
  38. package/dist/types/extractor/format/codecs/fixtures/POCodecSourceMessageKey.d.ts +0 -2
  39. /package/dist/types/extractor/format/codecs/{JSONCodec.d.ts → BuiltInPoCodec.d.ts} +0 -0
@@ -0,0 +1,34 @@
1
+ 'use strict';
2
+
3
+ var createPoCodec = require('@eloqnt/format-po');
4
+
5
+ function _interopDefaultCompat (e) { return e && typeof e === 'object' && 'default' in e ? e : { default: e }; }
6
+
7
+ var createPoCodec__default = /*#__PURE__*/_interopDefaultCompat(createPoCodec);
8
+
9
+ // Derived from `@eloqnt/config`, so next-intl and eloqnt pass identical
10
+ // options to codecs.
11
+
12
+ function defineCodec(factory) {
13
+ return factory;
14
+ }
15
+
16
+ // `@eloqnt/format-po`, guarded so catalogs in the previous key-based layout
17
+ // fail loudly. Custom codecs referencing the package directly opt out.
18
+ var BuiltInPoCodec = defineCodec(() => {
19
+ const codec = createPoCodec__default.default();
20
+ function assertMigrated(content) {
21
+ if (content.includes('X-Crowdin-SourceKey: msgstr')) {
22
+ throw new Error('This catalog uses the previous PO layout of next-intl, which stored message keys in `msgid`. The PO format now follows the gettext convention: the source text in `msgid` and the message key in `msgctxt`. Please migrate your catalogs, or use a custom codec to keep the previous layout: https://github.com/amannn/next-intl/pull/2393');
23
+ }
24
+ }
25
+ return {
26
+ ...codec,
27
+ decode(content, context) {
28
+ assertMigrated(content);
29
+ return codec.decode(content, context);
30
+ }
31
+ };
32
+ });
33
+
34
+ exports.default = BuiltInPoCodec;