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 +3 -3
- package/types.d.ts +2 -2
- package/types.d.ts.map +1 -1
- package/utils.d.ts.map +1 -1
- package/utils.js +11 -3
- package/visitors/call-expression.d.ts.map +1 -1
- package/visitors/call-expression.js +7 -3
- package/visitors/jsx-opening-element.d.ts.map +1 -1
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "babel-plugin-formatjs",
|
|
3
|
-
"version": "10.3.
|
|
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.
|
|
20
|
-
"@formatjs/ts-transformer": "3.
|
|
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,
|
|
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;
|
|
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([
|
|
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,
|
|
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
|
-
(
|
|
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 ||
|
|
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,
|
|
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"}
|