babel-plugin-formatjs 10.3.5 → 10.3.9

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.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "babel-plugin-formatjs",
3
- "version": "10.3.5",
3
+ "version": "10.3.9",
4
4
  "description": "Extracts string messages for translation from modules that use formatjs.",
5
5
  "repository": {
6
6
  "type": "git",
@@ -16,8 +16,8 @@
16
16
  "@babel/plugin-syntax-jsx": "7",
17
17
  "@babel/traverse": "7",
18
18
  "@babel/types": "^7.12.11",
19
- "@formatjs/icu-messageformat-parser": "2.0.10",
20
- "@formatjs/ts-transformer": "3.4.8",
19
+ "@formatjs/icu-messageformat-parser": "2.0.12",
20
+ "@formatjs/ts-transformer": "3.5.0",
21
21
  "@types/babel__core": "^7.1.7",
22
22
  "@types/babel__helper-plugin-utils": "^7.10.0",
23
23
  "tslib": "^2.1.0"
package/types.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  import { NodePath } from '@babel/core';
2
- import { SourceLocation, StringLiteral } from '@babel/types';
2
+ import { JSXExpressionContainer, SourceLocation, StringLiteral } from '@babel/types';
3
3
  export interface MessageDescriptor {
4
4
  id: string;
5
5
  defaultMessage?: string;
@@ -14,7 +14,7 @@ export interface State {
14
14
  export declare type ExtractedMessageDescriptor = MessageDescriptor & Partial<SourceLocation> & {
15
15
  file?: string;
16
16
  };
17
- export declare type MessageDescriptorPath = Record<keyof MessageDescriptor, NodePath<StringLiteral> | undefined>;
17
+ export declare type MessageDescriptorPath = Record<keyof MessageDescriptor, NodePath<StringLiteral> | NodePath<JSXExpressionContainer> | undefined>;
18
18
  export interface Options {
19
19
  overrideIdFn?: (id?: string, defaultMessage?: string, description?: string, filePath?: string) => string;
20
20
  onMsgExtracted?: (filePath: string, msgs: MessageDescriptor[]) => void;
package/types.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../packages/babel-plugin-formatjs/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,QAAQ,EAAC,MAAM,aAAa,CAAA;AACpC,OAAO,EAAC,cAAc,EAAE,aAAa,EAAC,MAAM,cAAc,CAAA;AAE1D,MAAM,WAAW,iBAAiB;IAChC,EAAE,EAAE,MAAM,CAAA;IACV,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,WAAW,CAAC,EAAE,MAAM,CAAA;CACrB;AAED,MAAM,WAAW,KAAK;IACpB,QAAQ,EAAE,0BAA0B,EAAE,CAAA;IACtC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAC5B,cAAc,EAAE,MAAM,EAAE,CAAA;IACxB,aAAa,EAAE,MAAM,EAAE,CAAA;CACxB;AAED,oBAAY,0BAA0B,GAAG,iBAAiB,GACxD,OAAO,CAAC,cAAc,CAAC,GAAG;IAAC,IAAI,CAAC,EAAE,MAAM,CAAA;CAAC,CAAA;AAE3C,oBAAY,qBAAqB,GAAG,MAAM,CACxC,MAAM,iBAAiB,EACvB,QAAQ,CAAC,aAAa,CAAC,GAAG,SAAS,CACpC,CAAA;AAED,MAAM,WAAW,OAAO;IACtB,YAAY,CAAC,EAAE,CACb,EAAE,CAAC,EAAE,MAAM,EACX,cAAc,CAAC,EAAE,MAAM,EACvB,WAAW,CAAC,EAAE,MAAM,EACpB,QAAQ,CAAC,EAAE,MAAM,KACd,MAAM,CAAA;IACX,cAAc,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,iBAAiB,EAAE,KAAK,IAAI,CAAA;IACtE,eAAe,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,KAAK,IAAI,CAAA;IAC1E,sBAAsB,CAAC,EAAE,MAAM,CAAA;IAC/B,oBAAoB,CAAC,EAAE,OAAO,CAAA;IAC9B,wBAAwB,CAAC,EAAE,MAAM,EAAE,CAAA;IACnC,uBAAuB,CAAC,EAAE,MAAM,EAAE,CAAA;IAClC,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,qBAAqB,CAAC,EAAE,OAAO,CAAA;IAC/B,GAAG,CAAC,EAAE,OAAO,CAAA;IACb,kBAAkB,CAAC,EAAE,OAAO,CAAA;CAC7B"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../packages/babel-plugin-formatjs/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,QAAQ,EAAC,MAAM,aAAa,CAAA;AACpC,OAAO,EACL,sBAAsB,EACtB,cAAc,EACd,aAAa,EACd,MAAM,cAAc,CAAA;AAErB,MAAM,WAAW,iBAAiB;IAChC,EAAE,EAAE,MAAM,CAAA;IACV,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,WAAW,CAAC,EAAE,MAAM,CAAA;CACrB;AAED,MAAM,WAAW,KAAK;IACpB,QAAQ,EAAE,0BAA0B,EAAE,CAAA;IACtC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAC5B,cAAc,EAAE,MAAM,EAAE,CAAA;IACxB,aAAa,EAAE,MAAM,EAAE,CAAA;CACxB;AAED,oBAAY,0BAA0B,GAAG,iBAAiB,GACxD,OAAO,CAAC,cAAc,CAAC,GAAG;IAAC,IAAI,CAAC,EAAE,MAAM,CAAA;CAAC,CAAA;AAE3C,oBAAY,qBAAqB,GAAG,MAAM,CACxC,MAAM,iBAAiB,EACvB,QAAQ,CAAC,aAAa,CAAC,GAAG,QAAQ,CAAC,sBAAsB,CAAC,GAAG,SAAS,CACvE,CAAA;AAED,MAAM,WAAW,OAAO;IACtB,YAAY,CAAC,EAAE,CACb,EAAE,CAAC,EAAE,MAAM,EACX,cAAc,CAAC,EAAE,MAAM,EACvB,WAAW,CAAC,EAAE,MAAM,EACpB,QAAQ,CAAC,EAAE,MAAM,KACd,MAAM,CAAA;IACX,cAAc,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,iBAAiB,EAAE,KAAK,IAAI,CAAA;IACtE,eAAe,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,KAAK,IAAI,CAAA;IAC1E,sBAAsB,CAAC,EAAE,MAAM,CAAA;IAC/B,oBAAoB,CAAC,EAAE,OAAO,CAAA;IAC9B,wBAAwB,CAAC,EAAE,MAAM,EAAE,CAAA;IACnC,uBAAuB,CAAC,EAAE,MAAM,EAAE,CAAA;IAClC,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,qBAAqB,CAAC,EAAE,OAAO,CAAA;IAC/B,GAAG,CAAC,EAAE,OAAO,CAAA;IACb,kBAAkB,CAAC,EAAE,OAAO,CAAA;CAC7B"}
package/utils.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../../../packages/babel-plugin-formatjs/utils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,cAAc,CAAA;AAIjC,OAAO,EACL,OAAO,EACP,0BAA0B,EAC1B,iBAAiB,EACjB,qBAAqB,EACtB,MAAM,SAAS,CAAA;AAChB,OAAO,EAAC,QAAQ,EAAC,MAAM,aAAa,CAAA;AAepC,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,QAAQ,CAAC,GAAG,CAAC,UAM1D;AAqBD,wBAAgB,uBAAuB,CACrC,SAAS,EAAE;IACT,QAAQ,CAAC,CAAC,CAAC,aAAa,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC;IAClD,QAAQ,CAAC,CAAC,CAAC,aAAa,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,sBAAsB,CAAC;CAC/D,EAAE,GACF,qBAAqB,CAiBvB;AAED,wBAAgB,yBAAyB,CACvC,cAAc,EAAE,qBAAqB,EACrC,WAAW,qBAAQ,EACnB,QAAQ,EAAE,MAAM,GAAG,SAAS,EAC5B,sBAAsB,CAAC,EAAE,MAAM,EAC/B,YAAY,CAAC,EAAE,OAAO,CAAC,cAAc,CAAC,EACtC,kBAAkB,CAAC,EAAE,OAAO,CAAC,oBAAoB,CAAC,qBAqCnD;AA0CD;;;;;;;;GAQG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,QAAQ,CAAC,GAAG,CAAC,QAEjD;AACD;;;GAGG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,QAAQ,CAAC,GAAG,CAAC,WAE/C;AAED;;;;;;;GAOG;AACH,wBAAgB,YAAY,CAC1B,EAAC,EAAE,EAAE,WAAW,EAAE,cAAc,EAAC,EAAE,iBAAiB,EACpD,IAAI,EAAE,QAAQ,CAAC,GAAG,CAAC,EACnB,EAAC,qBAAqB,EAAC,EAAE,OAAO,EAEhC,QAAQ,EAAE,MAAM,GAAG,SAAS,EAC5B,QAAQ,EAAE,0BAA0B,EAAE,QAgBvC"}
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../../../packages/babel-plugin-formatjs/utils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,cAAc,CAAA;AAIjC,OAAO,EACL,OAAO,EACP,0BAA0B,EAC1B,iBAAiB,EACjB,qBAAqB,EACtB,MAAM,SAAS,CAAA;AAChB,OAAO,EAAC,QAAQ,EAAC,MAAM,aAAa,CAAA;AAmBpC,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,QAAQ,CAAC,GAAG,CAAC,UAM1D;AA0BD,wBAAgB,uBAAuB,CACrC,SAAS,EAAE;IACT,QAAQ,CAAC,CAAC,CAAC,aAAa,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC;IAClD,QAAQ,CAAC,CAAC,CAAC,aAAa,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,sBAAsB,CAAC;CAC/D,EAAE,GACF,qBAAqB,CAmBvB;AAED,wBAAgB,yBAAyB,CACvC,cAAc,EAAE,qBAAqB,EACrC,WAAW,qBAAQ,EACnB,QAAQ,EAAE,MAAM,GAAG,SAAS,EAC5B,sBAAsB,CAAC,EAAE,MAAM,EAC/B,YAAY,CAAC,EAAE,OAAO,CAAC,cAAc,CAAC,EACtC,kBAAkB,CAAC,EAAE,OAAO,CAAC,oBAAoB,CAAC,qBAqCnD;AA6CD;;;;;;;;GAQG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,QAAQ,CAAC,GAAG,CAAC,QAEjD;AACD;;;GAGG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,QAAQ,CAAC,GAAG,CAAC,WAE/C;AAED;;;;;;;GAOG;AACH,wBAAgB,YAAY,CAC1B,EAAC,EAAE,EAAE,WAAW,EAAE,cAAc,EAAC,EAAE,iBAAiB,EACpD,IAAI,EAAE,QAAQ,CAAC,GAAG,CAAC,EACnB,EAAC,qBAAqB,EAAC,EAAE,OAAO,EAEhC,QAAQ,EAAE,MAAM,GAAG,SAAS,EAC5B,QAAQ,EAAE,0BAA0B,EAAE,QAgBvC"}
package/utils.js CHANGED
@@ -4,7 +4,11 @@ exports.storeMessage = exports.wasExtracted = exports.tagAsExtracted = exports.e
4
4
  var tslib_1 = require("tslib");
5
5
  var icu_messageformat_parser_1 = require("@formatjs/icu-messageformat-parser");
6
6
  var ts_transformer_1 = require("@formatjs/ts-transformer");
7
- var DESCRIPTOR_PROPS = new Set(['id', 'description', 'defaultMessage']);
7
+ var DESCRIPTOR_PROPS = new Set([
8
+ 'id',
9
+ 'description',
10
+ 'defaultMessage',
11
+ ]);
8
12
  function evaluatePath(path) {
9
13
  var evaluated = path.evaluate();
10
14
  if (evaluated.confident) {
@@ -19,11 +23,15 @@ function getMessageDescriptorKey(path) {
19
23
  return evaluatePath(path);
20
24
  }
21
25
  exports.getMessageDescriptorKey = getMessageDescriptorKey;
22
- function getMessageDescriptorValue(path) {
26
+ function getMessageDescriptorValue(path, isMessageNode) {
23
27
  if (!path) {
24
28
  return '';
25
29
  }
26
30
  if (path.isJSXExpressionContainer()) {
31
+ // If this is already compiled, no need to recompiled it
32
+ if (isMessageNode && path.get('expression').isArrayExpression()) {
33
+ return '';
34
+ }
27
35
  path = path.get('expression');
28
36
  }
29
37
  // Always trim the Message Descriptor values.
@@ -79,7 +87,7 @@ function getICUMessageValue(messagePath, _a, preserveWhitespace) {
79
87
  if (!messagePath) {
80
88
  return '';
81
89
  }
82
- var message = getMessageDescriptorValue(messagePath);
90
+ var message = getMessageDescriptorValue(messagePath, true);
83
91
  if (!preserveWhitespace) {
84
92
  message = message.trim().replace(/\s+/gm, ' ');
85
93
  }
@@ -1 +1 @@
1
- {"version":3,"file":"call-expression.d.ts","sourceRoot":"","sources":["../../../../../../packages/babel-plugin-formatjs/visitors/call-expression.ts"],"names":[],"mappings":"AAAA,OAAO,EAAW,UAAU,EAAC,MAAM,aAAa,CAAA;AAChD,OAAO,KAAK,CAAC,MAAM,cAAc,CAAA;AACjC,OAAO,EAAU,KAAK,EAAC,MAAM,UAAU,CAAA;AACvC,OAAO,EAAC,iBAAiB,EAAC,MAAM,iBAAiB,CAAA;AAoDjD,eAAO,MAAM,OAAO,EAAE,iBAAiB,CAAC,UAAU,GAAG,KAAK,EAAE,CAAC,CAAC,cAAc,CAmJzE,CAAA"}
1
+ {"version":3,"file":"call-expression.d.ts","sourceRoot":"","sources":["../../../../../../packages/babel-plugin-formatjs/visitors/call-expression.ts"],"names":[],"mappings":"AAAA,OAAO,EAAW,UAAU,EAAC,MAAM,aAAa,CAAA;AAChD,OAAO,KAAK,CAAC,MAAM,cAAc,CAAA;AACjC,OAAO,EAAU,KAAK,EAAC,MAAM,UAAU,CAAA;AACvC,OAAO,EAAC,iBAAiB,EAAC,MAAM,iBAAiB,CAAA;AAoDjD,eAAO,MAAM,OAAO,EAAE,iBAAiB,CAAC,UAAU,GAAG,KAAK,EAAE,CAAC,CAAC,cAAc,CAwJzE,CAAA"}
@@ -43,12 +43,16 @@ var visitor = function (path, _a) {
43
43
  * @param messageDescriptor Message Descriptor
44
44
  */
45
45
  function processMessageObject(messageDescriptor) {
46
- var _a;
46
+ var _a, _b;
47
47
  assertObjectExpression(messageDescriptor, callee);
48
48
  var properties = messageDescriptor.get('properties');
49
49
  var descriptorPath = utils_1.createMessageDescriptor(properties.map(function (prop) {
50
50
  return [prop.get('key'), prop.get('value')];
51
51
  }));
52
+ // If the message is already compiled, don't re-compile it
53
+ if ((_a = descriptorPath.defaultMessage) === null || _a === void 0 ? void 0 : _a.isArrayExpression()) {
54
+ return;
55
+ }
52
56
  // Evaluate the Message Descriptor values, then store it.
53
57
  var descriptor = utils_1.evaluateMessageDescriptor(descriptorPath, false, filename || undefined, idInterpolationPattern, overrideIdFn, preserveWhitespace);
54
58
  utils_1.storeMessage(descriptor, messageDescriptor, opts, filename || undefined, messages);
@@ -71,12 +75,12 @@ var visitor = function (path, _a) {
71
75
  firstProp.insertBefore(t.objectProperty(t.identifier('id'), t.stringLiteral(descriptor.id)));
72
76
  }
73
77
  // Remove description
74
- (_a = properties
78
+ (_b = properties
75
79
  .find(function (prop) {
76
80
  var keyProp = prop.get('key');
77
81
  return (keyProp.isIdentifier({ name: 'description' }) ||
78
82
  keyProp.isStringLiteral({ value: 'description' }));
79
- })) === null || _a === void 0 ? void 0 : _a.remove();
83
+ })) === null || _b === void 0 ? void 0 : _b.remove();
80
84
  // Pre-parse or remove defaultMessage
81
85
  if (defaultMessageProp) {
82
86
  if (removeDefaultMessage) {
@@ -1 +1 @@
1
- {"version":3,"file":"jsx-opening-element.d.ts","sourceRoot":"","sources":["../../../../../../packages/babel-plugin-formatjs/visitors/jsx-opening-element.ts"],"names":[],"mappings":"AAAA,OAAO,EAAW,UAAU,EAAC,MAAM,aAAa,CAAA;AAEhD,OAAO,EAAU,KAAK,EAAC,MAAM,UAAU,CAAA;AACvC,OAAO,KAAK,CAAC,MAAM,cAAc,CAAA;AACjC,OAAO,EAAC,iBAAiB,EAAC,MAAM,iBAAiB,CAAA;AAWjD,eAAO,MAAM,OAAO,EAAE,iBAAiB,CACrC,UAAU,GAAG,KAAK,EAClB,CAAC,CAAC,iBAAiB,CA+HpB,CAAA"}
1
+ {"version":3,"file":"jsx-opening-element.d.ts","sourceRoot":"","sources":["../../../../../../packages/babel-plugin-formatjs/visitors/jsx-opening-element.ts"],"names":[],"mappings":"AAAA,OAAO,EAAW,UAAU,EAAC,MAAM,aAAa,CAAA;AAEhD,OAAO,EAAU,KAAK,EAAC,MAAM,UAAU,CAAA;AACvC,OAAO,KAAK,CAAC,MAAM,cAAc,CAAA;AACjC,OAAO,EAAC,iBAAiB,EAAC,MAAM,iBAAiB,CAAA;AAWjD,eAAO,MAAM,OAAO,EAAE,iBAAiB,CACrC,UAAU,GAAG,KAAK,EAClB,CAAC,CAAC,iBAAiB,CAiIpB,CAAA"}