@formatjs/cli-lib 7.1.0 → 7.1.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.
@@ -1,5 +1,6 @@
1
1
  import { isStructurallySame, parse, } from '@formatjs/icu-messageformat-parser';
2
2
  import { debug, writeStderr } from '../console_utils';
3
+ import { error } from 'console';
3
4
  /**
4
5
  * Flatten nested obj into list of keys, delimited by `.`
5
6
  * @param obj
@@ -27,23 +28,31 @@ export async function checkStructuralEquality(translationFilesContents, sourceLo
27
28
  throw new Error(`Missing source ${sourceLocale}.json file`);
28
29
  }
29
30
  const enUSMessages = Object.entries(flatten(enUSContent)).reduce((all, [key, value]) => {
30
- all[key] = parse(value);
31
+ try {
32
+ all[key] = parse(value);
33
+ }
34
+ catch (e) {
35
+ error('Error parsing message', key, value, e);
36
+ }
31
37
  return all;
32
38
  }, {});
33
39
  return Object.entries(translationFilesContents)
34
40
  .filter(([locale]) => locale !== sourceLocale)
35
41
  .reduce((result, [locale, content]) => {
36
- const localeMessages = Object.entries(flatten(content)).reduce((all, [key, value]) => {
37
- all[key] = parse(value);
38
- return all;
39
- }, {});
42
+ const localeMessages = flatten(content);
40
43
  const problematicKeys = Object.keys(enUSMessages).filter(k => {
41
44
  if (!localeMessages[k]) {
42
45
  return false;
43
46
  }
44
47
  const enUSMessage = enUSMessages[k];
45
- const localeMessage = localeMessages[k];
46
- return !isStructurallySame(enUSMessage, localeMessage);
48
+ try {
49
+ const localeMessage = parse(localeMessages[k]);
50
+ return !isStructurallySame(enUSMessage, localeMessage);
51
+ }
52
+ catch (e) {
53
+ error('Error comparing message', k, enUSMessage, localeMessages[k], e);
54
+ return true;
55
+ }
47
56
  });
48
57
  if (!problematicKeys.length) {
49
58
  return result;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@formatjs/cli-lib",
3
- "version": "7.1.0",
3
+ "version": "7.1.1",
4
4
  "description": "Lib for CLI for formatjs.",
5
5
  "keywords": [
6
6
  "intl",