@formatjs/cli-lib 5.0.5 → 5.0.8
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/LICENSE.md +0 -0
- package/README.md +0 -0
- package/index.d.ts +0 -0
- package/index.d.ts.map +1 -1
- package/index.js +0 -0
- package/main.d.ts +0 -0
- package/main.d.ts.map +1 -1
- package/main.js +0 -0
- package/package.json +61 -61
- package/src/cli.d.ts +0 -0
- package/src/cli.d.ts.map +1 -1
- package/src/cli.js +159 -136
- package/src/compile.d.ts +0 -0
- package/src/compile.d.ts.map +1 -1
- package/src/compile.js +72 -97
- package/src/compile_folder.d.ts +0 -0
- package/src/compile_folder.d.ts.map +1 -1
- package/src/compile_folder.js +7 -18
- package/src/console_utils.d.ts +1 -0
- package/src/console_utils.d.ts.map +1 -1
- package/src/console_utils.js +42 -107
- package/src/extract.d.ts +0 -0
- package/src/extract.d.ts.map +1 -1
- package/src/extract.js +145 -188
- package/src/formatters/crowdin.d.ts +0 -0
- package/src/formatters/crowdin.d.ts.map +1 -1
- package/src/formatters/crowdin.js +6 -8
- package/src/formatters/default.d.ts +0 -0
- package/src/formatters/default.d.ts.map +1 -1
- package/src/formatters/default.js +4 -4
- package/src/formatters/index.d.ts +0 -0
- package/src/formatters/index.d.ts.map +1 -1
- package/src/formatters/index.js +36 -40
- package/src/formatters/lokalise.d.ts +0 -0
- package/src/formatters/lokalise.d.ts.map +1 -1
- package/src/formatters/lokalise.js +6 -8
- package/src/formatters/simple.d.ts +0 -0
- package/src/formatters/simple.d.ts.map +1 -1
- package/src/formatters/simple.js +3 -3
- package/src/formatters/smartling.d.ts +0 -0
- package/src/formatters/smartling.d.ts.map +1 -1
- package/src/formatters/smartling.js +7 -9
- package/src/formatters/transifex.d.ts +0 -0
- package/src/formatters/transifex.d.ts.map +1 -1
- package/src/formatters/transifex.js +6 -8
- package/src/parse_script.d.ts +0 -0
- package/src/parse_script.d.ts.map +1 -1
- package/src/parse_script.js +12 -11
- package/src/pseudo_locale.d.ts +0 -0
- package/src/pseudo_locale.d.ts.map +1 -1
- package/src/pseudo_locale.js +27 -31
- package/src/vue_extractor.d.ts +0 -0
- package/src/vue_extractor.d.ts.map +1 -1
- package/src/vue_extractor.js +19 -19
package/src/extract.js
CHANGED
|
@@ -1,80 +1,79 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.extract = void 0;
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
4
|
+
const tslib_1 = require("tslib");
|
|
5
|
+
const console_utils_1 = require("./console_utils");
|
|
6
|
+
const fs_extra_1 = require("fs-extra");
|
|
7
|
+
const ts_transformer_1 = require("@formatjs/ts-transformer");
|
|
8
|
+
const formatters_1 = require("./formatters");
|
|
9
|
+
const json_stable_stringify_1 = tslib_1.__importDefault(require("json-stable-stringify"));
|
|
10
|
+
const parse_script_1 = require("./parse_script");
|
|
11
|
+
const printer_1 = require("@formatjs/icu-messageformat-parser/printer");
|
|
12
|
+
const manipulator_1 = require("@formatjs/icu-messageformat-parser/manipulator");
|
|
13
|
+
const icu_messageformat_parser_1 = require("@formatjs/icu-messageformat-parser");
|
|
14
14
|
function calculateLineColFromOffset(text, start) {
|
|
15
15
|
if (!start) {
|
|
16
16
|
return { line: 1, col: 1 };
|
|
17
17
|
}
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
18
|
+
const chunk = text.slice(0, start);
|
|
19
|
+
const lines = chunk.split('\n');
|
|
20
|
+
const lastLine = lines[lines.length - 1];
|
|
21
21
|
return { line: lines.length, col: lastLine.length };
|
|
22
22
|
}
|
|
23
|
-
function processFile(source, fn,
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
}, onMetaExtracted: function (_, m) {
|
|
39
|
-
meta = m;
|
|
40
|
-
} });
|
|
41
|
-
if (!opts.overrideIdFn && idInterpolationPattern) {
|
|
42
|
-
opts = (0, tslib_1.__assign)((0, tslib_1.__assign)({}, opts), { overrideIdFn: function (id, defaultMessage, description, fileName) {
|
|
43
|
-
return id ||
|
|
44
|
-
(0, ts_transformer_1.interpolateName)({
|
|
45
|
-
resourcePath: fileName,
|
|
46
|
-
}, idInterpolationPattern, {
|
|
47
|
-
content: description
|
|
48
|
-
? "".concat(defaultMessage, "#").concat(typeof description === 'string'
|
|
49
|
-
? description
|
|
50
|
-
: (0, json_stable_stringify_1.default)(description))
|
|
51
|
-
: defaultMessage,
|
|
52
|
-
});
|
|
53
|
-
} });
|
|
54
|
-
}
|
|
55
|
-
(0, console_utils_1.debug)('Processing opts for %s: %s', fn, opts);
|
|
56
|
-
scriptParseFn = (0, parse_script_1.parseScript)(opts, fn);
|
|
57
|
-
if (!fn.endsWith('.vue')) return [3 /*break*/, 2];
|
|
58
|
-
(0, console_utils_1.debug)('Processing %s using vue extractor', fn);
|
|
59
|
-
return [4 /*yield*/, Promise.resolve().then(function () { return (0, tslib_1.__importStar)(require('./vue_extractor')); })];
|
|
60
|
-
case 1:
|
|
61
|
-
parseFile = (_b.sent()).parseFile;
|
|
62
|
-
parseFile(source, fn, scriptParseFn);
|
|
63
|
-
return [3 /*break*/, 3];
|
|
64
|
-
case 2:
|
|
65
|
-
(0, console_utils_1.debug)('Processing %s using typescript extractor', fn);
|
|
66
|
-
scriptParseFn(source);
|
|
67
|
-
_b.label = 3;
|
|
68
|
-
case 3:
|
|
69
|
-
(0, console_utils_1.debug)('Done extracting %s messages: %s', fn, messages);
|
|
70
|
-
if (meta) {
|
|
71
|
-
(0, console_utils_1.debug)('Extracted meta:', meta);
|
|
72
|
-
messages.forEach(function (m) { return (m.meta = meta); });
|
|
73
|
-
}
|
|
74
|
-
return [2 /*return*/, { messages: messages, meta: meta }];
|
|
23
|
+
async function processFile(source, fn, { idInterpolationPattern, ...opts }) {
|
|
24
|
+
let messages = [];
|
|
25
|
+
let meta;
|
|
26
|
+
opts = {
|
|
27
|
+
...opts,
|
|
28
|
+
additionalComponentNames: [
|
|
29
|
+
'$formatMessage',
|
|
30
|
+
...(opts.additionalComponentNames || []),
|
|
31
|
+
],
|
|
32
|
+
onMsgExtracted(_, msgs) {
|
|
33
|
+
if (opts.extractSourceLocation) {
|
|
34
|
+
msgs = msgs.map(msg => ({
|
|
35
|
+
...msg,
|
|
36
|
+
...calculateLineColFromOffset(source, msg.start),
|
|
37
|
+
}));
|
|
75
38
|
}
|
|
76
|
-
|
|
77
|
-
|
|
39
|
+
messages = messages.concat(msgs);
|
|
40
|
+
},
|
|
41
|
+
onMetaExtracted(_, m) {
|
|
42
|
+
meta = m;
|
|
43
|
+
},
|
|
44
|
+
};
|
|
45
|
+
if (!opts.overrideIdFn && idInterpolationPattern) {
|
|
46
|
+
opts = {
|
|
47
|
+
...opts,
|
|
48
|
+
overrideIdFn: (id, defaultMessage, description, fileName) => id ||
|
|
49
|
+
(0, ts_transformer_1.interpolateName)({
|
|
50
|
+
resourcePath: fileName,
|
|
51
|
+
}, idInterpolationPattern, {
|
|
52
|
+
content: description
|
|
53
|
+
? `${defaultMessage}#${typeof description === 'string'
|
|
54
|
+
? description
|
|
55
|
+
: (0, json_stable_stringify_1.default)(description)}`
|
|
56
|
+
: defaultMessage,
|
|
57
|
+
}),
|
|
58
|
+
};
|
|
59
|
+
}
|
|
60
|
+
(0, console_utils_1.debug)('Processing opts for %s: %s', fn, opts);
|
|
61
|
+
const scriptParseFn = (0, parse_script_1.parseScript)(opts, fn);
|
|
62
|
+
if (fn.endsWith('.vue')) {
|
|
63
|
+
(0, console_utils_1.debug)('Processing %s using vue extractor', fn);
|
|
64
|
+
const { parseFile } = await Promise.resolve().then(() => tslib_1.__importStar(require('./vue_extractor')));
|
|
65
|
+
parseFile(source, fn, scriptParseFn);
|
|
66
|
+
}
|
|
67
|
+
else {
|
|
68
|
+
(0, console_utils_1.debug)('Processing %s using typescript extractor', fn);
|
|
69
|
+
scriptParseFn(source);
|
|
70
|
+
}
|
|
71
|
+
(0, console_utils_1.debug)('Done extracting %s messages: %s', fn, messages);
|
|
72
|
+
if (meta) {
|
|
73
|
+
(0, console_utils_1.debug)('Extracted meta:', meta);
|
|
74
|
+
messages.forEach(m => (m.meta = meta));
|
|
75
|
+
}
|
|
76
|
+
return { messages, meta };
|
|
78
77
|
}
|
|
79
78
|
/**
|
|
80
79
|
* Extract strings from source files
|
|
@@ -83,109 +82,80 @@ function processFile(source, fn, _a) {
|
|
|
83
82
|
* @returns messages serialized as JSON string since key order
|
|
84
83
|
* matters for some `format`
|
|
85
84
|
*/
|
|
86
|
-
function extract(files, extractOpts) {
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
extractedMessages = new Map();
|
|
141
|
-
for (_i = 0, extractionResults_1 = extractionResults; _i < extractionResults_1.length; _i++) {
|
|
142
|
-
messages_3 = extractionResults_1[_i].messages;
|
|
143
|
-
for (_a = 0, messages_1 = messages_3; _a < messages_1.length; _a++) {
|
|
144
|
-
message = messages_1[_a];
|
|
145
|
-
id = message.id, description = message.description, defaultMessage = message.defaultMessage;
|
|
146
|
-
if (!id) {
|
|
147
|
-
error = new Error("[FormatJS CLI] Missing message id for message: \n".concat(JSON.stringify(message, undefined, 2)));
|
|
148
|
-
if (throws) {
|
|
149
|
-
throw error;
|
|
150
|
-
}
|
|
151
|
-
else {
|
|
152
|
-
(0, console_utils_1.warn)(error.message);
|
|
153
|
-
}
|
|
154
|
-
continue;
|
|
155
|
-
}
|
|
156
|
-
if (extractedMessages.has(id)) {
|
|
157
|
-
existing = extractedMessages.get(id);
|
|
158
|
-
if ((0, json_stable_stringify_1.default)(description) !== (0, json_stable_stringify_1.default)(existing.description) ||
|
|
159
|
-
defaultMessage !== existing.defaultMessage) {
|
|
160
|
-
error = new Error("[FormatJS CLI] Duplicate message id: \"".concat(id, "\", ") +
|
|
161
|
-
'but the `description` and/or `defaultMessage` are different.');
|
|
162
|
-
if (throws) {
|
|
163
|
-
throw error;
|
|
164
|
-
}
|
|
165
|
-
else {
|
|
166
|
-
(0, console_utils_1.warn)(error.message);
|
|
167
|
-
}
|
|
168
|
-
}
|
|
169
|
-
}
|
|
170
|
-
extractedMessages.set(id, message);
|
|
171
|
-
}
|
|
85
|
+
async function extract(files, extractOpts) {
|
|
86
|
+
const { throws, readFromStdin, flatten, ...opts } = extractOpts;
|
|
87
|
+
let rawResults;
|
|
88
|
+
if (readFromStdin) {
|
|
89
|
+
(0, console_utils_1.debug)(`Reading input from stdin`);
|
|
90
|
+
// Read from stdin
|
|
91
|
+
if (process.stdin.isTTY) {
|
|
92
|
+
(0, console_utils_1.warn)('Reading source file from TTY.');
|
|
93
|
+
}
|
|
94
|
+
const stdinSource = await (0, console_utils_1.getStdinAsString)();
|
|
95
|
+
rawResults = [await processFile(stdinSource, 'dummy', opts)];
|
|
96
|
+
}
|
|
97
|
+
else {
|
|
98
|
+
rawResults = await Promise.all(files.map(async (fn) => {
|
|
99
|
+
(0, console_utils_1.debug)('Extracting file:', fn);
|
|
100
|
+
try {
|
|
101
|
+
const source = await (0, fs_extra_1.readFile)(fn, 'utf8');
|
|
102
|
+
return processFile(source, fn, opts);
|
|
103
|
+
}
|
|
104
|
+
catch (e) {
|
|
105
|
+
if (throws) {
|
|
106
|
+
throw e;
|
|
107
|
+
}
|
|
108
|
+
else {
|
|
109
|
+
(0, console_utils_1.warn)(String(e));
|
|
110
|
+
}
|
|
111
|
+
}
|
|
112
|
+
}));
|
|
113
|
+
}
|
|
114
|
+
const formatter = await (0, formatters_1.resolveBuiltinFormatter)(opts.format);
|
|
115
|
+
const extractionResults = rawResults.filter((r) => !!r);
|
|
116
|
+
const extractedMessages = new Map();
|
|
117
|
+
for (const { messages } of extractionResults) {
|
|
118
|
+
for (const message of messages) {
|
|
119
|
+
const { id, description, defaultMessage } = message;
|
|
120
|
+
if (!id) {
|
|
121
|
+
const error = new Error(`[FormatJS CLI] Missing message id for message:
|
|
122
|
+
${JSON.stringify(message, undefined, 2)}`);
|
|
123
|
+
if (throws) {
|
|
124
|
+
throw error;
|
|
125
|
+
}
|
|
126
|
+
else {
|
|
127
|
+
(0, console_utils_1.warn)(error.message);
|
|
128
|
+
}
|
|
129
|
+
continue;
|
|
130
|
+
}
|
|
131
|
+
if (extractedMessages.has(id)) {
|
|
132
|
+
const existing = extractedMessages.get(id);
|
|
133
|
+
if ((0, json_stable_stringify_1.default)(description) !== (0, json_stable_stringify_1.default)(existing.description) ||
|
|
134
|
+
defaultMessage !== existing.defaultMessage) {
|
|
135
|
+
const error = new Error(`[FormatJS CLI] Duplicate message id: "${id}", ` +
|
|
136
|
+
'but the `description` and/or `defaultMessage` are different.');
|
|
137
|
+
if (throws) {
|
|
138
|
+
throw error;
|
|
172
139
|
}
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
for (_b = 0, messages_2 = messages; _b < messages_2.length; _b++) {
|
|
176
|
-
_c = messages_2[_b];
|
|
177
|
-
id = _c.id, msg = (0, tslib_1.__rest)(_c, ["id"]);
|
|
178
|
-
if (flatten && msg.defaultMessage) {
|
|
179
|
-
msg.defaultMessage = (0, printer_1.printAST)((0, manipulator_1.hoistSelectors)((0, icu_messageformat_parser_1.parse)(msg.defaultMessage)));
|
|
180
|
-
}
|
|
181
|
-
results[id] = msg;
|
|
140
|
+
else {
|
|
141
|
+
(0, console_utils_1.warn)(error.message);
|
|
182
142
|
}
|
|
183
|
-
|
|
184
|
-
space: 2,
|
|
185
|
-
cmp: formatter.compareMessages || undefined,
|
|
186
|
-
})];
|
|
143
|
+
}
|
|
187
144
|
}
|
|
188
|
-
|
|
145
|
+
extractedMessages.set(id, message);
|
|
146
|
+
}
|
|
147
|
+
}
|
|
148
|
+
const results = {};
|
|
149
|
+
const messages = Array.from(extractedMessages.values());
|
|
150
|
+
for (const { id, ...msg } of messages) {
|
|
151
|
+
if (flatten && msg.defaultMessage) {
|
|
152
|
+
msg.defaultMessage = (0, printer_1.printAST)((0, manipulator_1.hoistSelectors)((0, icu_messageformat_parser_1.parse)(msg.defaultMessage)));
|
|
153
|
+
}
|
|
154
|
+
results[id] = msg;
|
|
155
|
+
}
|
|
156
|
+
return (0, json_stable_stringify_1.default)(formatter.format(results), {
|
|
157
|
+
space: 2,
|
|
158
|
+
cmp: formatter.compareMessages || undefined,
|
|
189
159
|
});
|
|
190
160
|
}
|
|
191
161
|
exports.extract = extract;
|
|
@@ -195,26 +165,13 @@ exports.extract = extract;
|
|
|
195
165
|
* @param extractOpts extract options
|
|
196
166
|
* @returns A Promise that resolves if output file was written successfully
|
|
197
167
|
*/
|
|
198
|
-
function extractAndWrite(files, extractOpts) {
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
case 1:
|
|
207
|
-
serializedResult = (_a.sent()) + '\n';
|
|
208
|
-
if (outFile) {
|
|
209
|
-
(0, console_utils_1.debug)('Writing output file:', outFile);
|
|
210
|
-
return [2 /*return*/, (0, fs_extra_1.outputFile)(outFile, serializedResult)];
|
|
211
|
-
}
|
|
212
|
-
return [4 /*yield*/, (0, console_utils_1.writeStdout)(serializedResult)];
|
|
213
|
-
case 2:
|
|
214
|
-
_a.sent();
|
|
215
|
-
return [2 /*return*/];
|
|
216
|
-
}
|
|
217
|
-
});
|
|
218
|
-
});
|
|
168
|
+
async function extractAndWrite(files, extractOpts) {
|
|
169
|
+
const { outFile, ...opts } = extractOpts;
|
|
170
|
+
const serializedResult = (await extract(files, opts)) + '\n';
|
|
171
|
+
if (outFile) {
|
|
172
|
+
(0, console_utils_1.debug)('Writing output file:', outFile);
|
|
173
|
+
return (0, fs_extra_1.outputFile)(outFile, serializedResult);
|
|
174
|
+
}
|
|
175
|
+
await (0, console_utils_1.writeStdout)(serializedResult);
|
|
219
176
|
}
|
|
220
177
|
exports.default = extractAndWrite;
|
|
File without changes
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"crowdin.d.ts","sourceRoot":"","sources":["
|
|
1
|
+
{"version":3,"file":"crowdin.d.ts","sourceRoot":"","sources":["crowdin.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,SAAS,EAAE,QAAQ,EAAC,MAAM,WAAW,CAAA;AAE7C,oBAAY,aAAa,GAAG,MAAM,CAChC,MAAM,EACN;IACE,OAAO,EAAE,MAAM,CAAA;IACf,WAAW,CAAC,EAAE,MAAM,CAAA;CACrB,CACF,CAAA;AAED,eAAO,MAAM,MAAM,EAAE,QAAQ,CAAC,aAAa,CAY1C,CAAA;AAED,eAAO,MAAM,OAAO,EAAE,SAAS,CAAC,aAAa,CAS5C,CAAA"}
|
|
@@ -1,10 +1,9 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.compile = exports.format = void 0;
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
for (
|
|
7
|
-
var _b = _a[_i], id = _b[0], msg = _b[1];
|
|
4
|
+
const format = msgs => {
|
|
5
|
+
const results = {};
|
|
6
|
+
for (const [id, msg] of Object.entries(msgs)) {
|
|
8
7
|
results[id] = {
|
|
9
8
|
message: msg.defaultMessage,
|
|
10
9
|
description: typeof msg.description === 'string'
|
|
@@ -15,10 +14,9 @@ var format = function (msgs) {
|
|
|
15
14
|
return results;
|
|
16
15
|
};
|
|
17
16
|
exports.format = format;
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
for (
|
|
21
|
-
var _b = _a[_i], id = _b[0], msg = _b[1];
|
|
17
|
+
const compile = msgs => {
|
|
18
|
+
const results = {};
|
|
19
|
+
for (const [id, msg] of Object.entries(msgs)) {
|
|
22
20
|
if (id === 'smartling') {
|
|
23
21
|
continue;
|
|
24
22
|
}
|
|
File without changes
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"default.d.ts","sourceRoot":"","sources":["
|
|
1
|
+
{"version":3,"file":"default.d.ts","sourceRoot":"","sources":["default.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,iBAAiB,EAAC,MAAM,0BAA0B,CAAA;AAE1D,oBAAY,QAAQ,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,iBAAiB,CAAC,IAAI,CAC5D,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,iBAAiB,CAAC,KACpC,CAAC,CAAA;AAEN,oBAAY,SAAS,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,iBAAiB,CAAC,IAAI,CAC7D,IAAI,EAAE,CAAC,KACJ,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;AAE3B,eAAO,MAAM,MAAM,EAAE,QAAuB,CAAA;AAE5C,eAAO,MAAM,OAAO,EAAE,SAMrB,CAAA"}
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.compile = exports.format = void 0;
|
|
4
|
-
|
|
4
|
+
const format = msgs => msgs;
|
|
5
5
|
exports.format = format;
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
for (
|
|
6
|
+
const compile = msgs => {
|
|
7
|
+
const results = {};
|
|
8
|
+
for (const k in msgs) {
|
|
9
9
|
results[k] = msgs[k].defaultMessage;
|
|
10
10
|
}
|
|
11
11
|
return results;
|
|
File without changes
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["index.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,QAAQ,EAAE,SAAS,EAAC,MAAM,WAAW,CAAA;AAM7C,OAAO,EAAC,UAAU,EAAC,MAAM,uBAAuB,CAAA;AAIhD,MAAM,WAAW,SAAS;IACxB,MAAM,EAAE,QAAQ,CAAA;IAChB,OAAO,EAAE,SAAS,CAAA;IAClB,eAAe,CAAC,EAAE,UAAU,CAAA;CAC7B;AAED,wBAAsB,uBAAuB,CAC3C,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,GAC1B,OAAO,CAAC,GAAG,CAAC,CA0Bd"}
|
package/src/formatters/index.js
CHANGED
|
@@ -1,45 +1,41 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.resolveBuiltinFormatter = void 0;
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
}
|
|
41
|
-
return [2 /*return*/];
|
|
42
|
-
});
|
|
43
|
-
});
|
|
4
|
+
const tslib_1 = require("tslib");
|
|
5
|
+
const defaultFormatter = tslib_1.__importStar(require("./default"));
|
|
6
|
+
const transifex = tslib_1.__importStar(require("./transifex"));
|
|
7
|
+
const smartling = tslib_1.__importStar(require("./smartling"));
|
|
8
|
+
const simple = tslib_1.__importStar(require("./simple"));
|
|
9
|
+
const lokalise = tslib_1.__importStar(require("./lokalise"));
|
|
10
|
+
const crowdin = tslib_1.__importStar(require("./crowdin"));
|
|
11
|
+
const path_1 = require("path");
|
|
12
|
+
const url_1 = require("url");
|
|
13
|
+
async function resolveBuiltinFormatter(format) {
|
|
14
|
+
if (!format) {
|
|
15
|
+
return defaultFormatter;
|
|
16
|
+
}
|
|
17
|
+
if (typeof format !== 'string') {
|
|
18
|
+
return format;
|
|
19
|
+
}
|
|
20
|
+
switch (format) {
|
|
21
|
+
case 'transifex':
|
|
22
|
+
return transifex;
|
|
23
|
+
case 'smartling':
|
|
24
|
+
return smartling;
|
|
25
|
+
case 'simple':
|
|
26
|
+
return simple;
|
|
27
|
+
case 'lokalise':
|
|
28
|
+
return lokalise;
|
|
29
|
+
case 'crowdin':
|
|
30
|
+
return crowdin;
|
|
31
|
+
}
|
|
32
|
+
try {
|
|
33
|
+
// eslint-disable-next-line import/dynamic-import-chunkname
|
|
34
|
+
return Promise.resolve().then(() => tslib_1.__importStar(require((0, url_1.pathToFileURL)((0, path_1.resolve)(process.cwd(), format)).href)));
|
|
35
|
+
}
|
|
36
|
+
catch (e) {
|
|
37
|
+
console.error(`Cannot resolve formatter ${format}`);
|
|
38
|
+
throw e;
|
|
39
|
+
}
|
|
44
40
|
}
|
|
45
41
|
exports.resolveBuiltinFormatter = resolveBuiltinFormatter;
|
|
File without changes
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lokalise.d.ts","sourceRoot":"","sources":["
|
|
1
|
+
{"version":3,"file":"lokalise.d.ts","sourceRoot":"","sources":["lokalise.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,SAAS,EAAE,QAAQ,EAAC,MAAM,WAAW,CAAA;AAE7C,oBAAY,cAAc,GAAG,MAAM,CACjC,MAAM,EACN;IACE,WAAW,EAAE,MAAM,CAAA;IACnB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,KAAK,CAAC,EAAE,MAAM,CAAA;CACf,CACF,CAAA;AAED,eAAO,MAAM,MAAM,EAAE,QAAQ,CAAC,cAAc,CAY3C,CAAA;AAED,eAAO,MAAM,OAAO,EAAE,SAAS,CAAC,cAAc,CAM7C,CAAA"}
|
|
@@ -1,10 +1,9 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.compile = exports.format = void 0;
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
for (
|
|
7
|
-
var _b = _a[_i], id = _b[0], msg = _b[1];
|
|
4
|
+
const format = msgs => {
|
|
5
|
+
const results = {};
|
|
6
|
+
for (const [id, msg] of Object.entries(msgs)) {
|
|
8
7
|
results[id] = {
|
|
9
8
|
translation: msg.defaultMessage,
|
|
10
9
|
notes: typeof msg.description === 'string'
|
|
@@ -15,10 +14,9 @@ var format = function (msgs) {
|
|
|
15
14
|
return results;
|
|
16
15
|
};
|
|
17
16
|
exports.format = format;
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
for (
|
|
21
|
-
var _b = _a[_i], id = _b[0], msg = _b[1];
|
|
17
|
+
const compile = msgs => {
|
|
18
|
+
const results = {};
|
|
19
|
+
for (const [id, msg] of Object.entries(msgs)) {
|
|
22
20
|
results[id] = msg.translation;
|
|
23
21
|
}
|
|
24
22
|
return results;
|
|
File without changes
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"simple.d.ts","sourceRoot":"","sources":["
|
|
1
|
+
{"version":3,"file":"simple.d.ts","sourceRoot":"","sources":["simple.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,SAAS,EAAE,QAAQ,EAAC,MAAM,WAAW,CAAA;AAE7C,oBAAY,UAAU,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;AAE/C,eAAO,MAAM,MAAM,EAAE,QAAQ,CAAC,UAAU,CAKvC,CAAA;AAED,eAAO,MAAM,OAAO,EAAE,SAAS,CAAC,UAAU,CAAgB,CAAA"}
|
package/src/formatters/simple.js
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.compile = exports.format = void 0;
|
|
4
|
-
|
|
5
|
-
return Object.keys(msgs).reduce(
|
|
4
|
+
const format = msgs => {
|
|
5
|
+
return Object.keys(msgs).reduce((all, k) => {
|
|
6
6
|
all[k] = msgs[k].defaultMessage;
|
|
7
7
|
return all;
|
|
8
8
|
}, {});
|
|
9
9
|
};
|
|
10
10
|
exports.format = format;
|
|
11
|
-
|
|
11
|
+
const compile = msgs => msgs;
|
|
12
12
|
exports.compile = compile;
|
|
File without changes
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"smartling.d.ts","sourceRoot":"","sources":["
|
|
1
|
+
{"version":3,"file":"smartling.d.ts","sourceRoot":"","sources":["smartling.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,UAAU,EAAC,MAAM,uBAAuB,CAAA;AAChD,OAAO,EAAC,SAAS,EAAE,QAAQ,EAAC,MAAM,WAAW,CAAA;AAE7C,MAAM,WAAW,mBAAmB;IAClC,eAAe,EAAE;QACf;YACE,IAAI,EAAE,MAAM,CAAA;YACZ,GAAG,EAAE,MAAM,CAAA;YACX,WAAW,EAAE,MAAM,CAAA;SACpB;KACF,CAAA;IACD,gBAAgB,EAAE,OAAO,CAAA;IACzB,aAAa,EAAE,MAAM,CAAA;IACrB,CAAC,CAAC,EAAE,MAAM,GAAG,GAAG,CAAA;CACjB;AAED,oBAAY,aAAa,GAAG;IAC1B,SAAS,EAAE,mBAAmB,CAAA;CAC/B,GAAG,MAAM,CACR,MAAM,EACN;IACE,OAAO,EAAE,MAAM,CAAA;IACf,WAAW,CAAC,EAAE,MAAM,CAAA;CACrB,CACF,CAAA;AAED,eAAO,MAAM,MAAM,EAAE,QAAQ,CAAC,aAAa,CAwB1C,CAAA;AAED,eAAO,MAAM,eAAe,EAAE,UAS7B,CAAA;AAED,eAAO,MAAM,OAAO,EAAE,SAAS,CAAC,aAAa,CAS5C,CAAA"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.compile = exports.compareMessages = exports.format = void 0;
|
|
4
|
-
|
|
5
|
-
|
|
4
|
+
const format = msgs => {
|
|
5
|
+
const results = {
|
|
6
6
|
smartling: {
|
|
7
7
|
translate_paths: [
|
|
8
8
|
{
|
|
@@ -15,8 +15,7 @@ var format = function (msgs) {
|
|
|
15
15
|
string_format: 'icu',
|
|
16
16
|
},
|
|
17
17
|
};
|
|
18
|
-
for (
|
|
19
|
-
var _b = _a[_i], id = _b[0], msg = _b[1];
|
|
18
|
+
for (const [id, msg] of Object.entries(msgs)) {
|
|
20
19
|
results[id] = {
|
|
21
20
|
message: msg.defaultMessage,
|
|
22
21
|
description: typeof msg.description === 'string'
|
|
@@ -27,7 +26,7 @@ var format = function (msgs) {
|
|
|
27
26
|
return results;
|
|
28
27
|
};
|
|
29
28
|
exports.format = format;
|
|
30
|
-
|
|
29
|
+
const compareMessages = (el1, el2) => {
|
|
31
30
|
// `smartling` has to be the 1st key
|
|
32
31
|
if (el1.key === 'smartling') {
|
|
33
32
|
return -1;
|
|
@@ -38,10 +37,9 @@ var compareMessages = function (el1, el2) {
|
|
|
38
37
|
return el1.key < el2.key ? -1 : el1.key === el2.key ? 0 : 1;
|
|
39
38
|
};
|
|
40
39
|
exports.compareMessages = compareMessages;
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
for (
|
|
44
|
-
var _b = _a[_i], id = _b[0], msg = _b[1];
|
|
40
|
+
const compile = msgs => {
|
|
41
|
+
const results = {};
|
|
42
|
+
for (const [id, msg] of Object.entries(msgs)) {
|
|
45
43
|
if (id === 'smartling') {
|
|
46
44
|
continue;
|
|
47
45
|
}
|