@translation-cms/sync 1.2.65 → 1.2.66
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 +1 @@
|
|
|
1
|
-
{"version":3,"file":"key-extractor.d.ts","sourceRoot":"","sources":["../../../src/core/scanner-internals/key-extractor.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAUH,OAAO,KAAK,EAAW,YAAY,EAAE,MAAM,gCAAgC,CAAC;
|
|
1
|
+
{"version":3,"file":"key-extractor.d.ts","sourceRoot":"","sources":["../../../src/core/scanner-internals/key-extractor.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAUH,OAAO,KAAK,EAAW,YAAY,EAAE,MAAM,gCAAgC,CAAC;AA0I5E;;;;;;;GAOG;AACH,wBAAgB,mBAAmB,CAC/B,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,MAAM,EAAE,EAChB,MAAM,EAAE,YAAY,EACpB,cAAc,CAAC,EAAE,MAAM,EAAE,GAC1B,IAAI,CA8KN"}
|
|
@@ -19,10 +19,10 @@ import { parseSource, walk, stringValue, namespacesFromArg, } from '../../core/s
|
|
|
19
19
|
* Skips keys that look like URL paths or are purely numeric (not translation keys).
|
|
20
20
|
* Merges routes with any previously registered set for the same key.
|
|
21
21
|
*
|
|
22
|
-
* If pluralSuffixes are provided
|
|
23
|
-
* (e.g., "day" → "day_one", "day_other", etc.).
|
|
22
|
+
* If pluralSuffixes are provided AND hasCountOption is true, also registers
|
|
23
|
+
* variants with each suffix (e.g., "day" → "day_one", "day_other", etc.).
|
|
24
24
|
*/
|
|
25
|
-
function addKey(map, namespace, key, routes, pluralSuffixes) {
|
|
25
|
+
function addKey(map, namespace, key, routes, pluralSuffixes, hasCountOption) {
|
|
26
26
|
if (key.startsWith('/') || key.startsWith('.') || /^\d+$/.test(key))
|
|
27
27
|
return;
|
|
28
28
|
if (!map[namespace])
|
|
@@ -39,8 +39,8 @@ function addKey(map, namespace, key, routes, pluralSuffixes) {
|
|
|
39
39
|
// Key seen with no routes yet — register it so it appears in the map
|
|
40
40
|
map[namespace].set(key, []);
|
|
41
41
|
}
|
|
42
|
-
//
|
|
43
|
-
if (pluralSuffixes && pluralSuffixes.length > 0) {
|
|
42
|
+
// Only register plural variants if pluralSuffixes are provided AND key has count option
|
|
43
|
+
if (pluralSuffixes && pluralSuffixes.length > 0 && hasCountOption) {
|
|
44
44
|
for (const suffix of pluralSuffixes) {
|
|
45
45
|
const pluralKey = key + suffix;
|
|
46
46
|
const pluralExisting = map[namespace].get(pluralKey) ?? [];
|
|
@@ -56,6 +56,30 @@ function addKey(map, namespace, key, routes, pluralSuffixes) {
|
|
|
56
56
|
}
|
|
57
57
|
}
|
|
58
58
|
}
|
|
59
|
+
/**
|
|
60
|
+
* Check if an options object (2nd argument of t() call) contains a `count` property.
|
|
61
|
+
* Returns true if count is present (either as identifier, literal, or expression).
|
|
62
|
+
*/
|
|
63
|
+
function hasCountProperty(optionsArg) {
|
|
64
|
+
if (!optionsArg)
|
|
65
|
+
return false;
|
|
66
|
+
const opts = optionsArg;
|
|
67
|
+
if (opts.type !== 'ObjectExpression')
|
|
68
|
+
return false;
|
|
69
|
+
for (const prop of opts.properties ?? []) {
|
|
70
|
+
if (prop.type !== 'ObjectProperty' && prop.type !== 'Property')
|
|
71
|
+
continue;
|
|
72
|
+
const keyNode = prop.key;
|
|
73
|
+
const propName = keyNode.type === 'Identifier'
|
|
74
|
+
? keyNode.name
|
|
75
|
+
: keyNode.type === 'StringLiteral'
|
|
76
|
+
? keyNode.value
|
|
77
|
+
: null;
|
|
78
|
+
if (propName === 'count')
|
|
79
|
+
return true;
|
|
80
|
+
}
|
|
81
|
+
return false;
|
|
82
|
+
}
|
|
59
83
|
/**
|
|
60
84
|
* Split a `"namespace:key"` string into its two parts.
|
|
61
85
|
* Returns null when the colon is absent or at position 0 (invalid).
|
|
@@ -174,6 +198,7 @@ export function extractKeysFromFile(filePath, routes, result, pluralSuffixes) {
|
|
|
174
198
|
// --- Step 2: extract keys from t('…') call expressions ---
|
|
175
199
|
// Only variables explicitly bound in Step 1 are processed; unknown callee
|
|
176
200
|
// names are silently skipped to avoid false positives.
|
|
201
|
+
// For pluralization: only register plural variants if options contain `count`
|
|
177
202
|
walk(ast, node => {
|
|
178
203
|
if (node.type !== 'CallExpression')
|
|
179
204
|
return;
|
|
@@ -183,20 +208,23 @@ export function extractKeysFromFile(filePath, routes, result, pluralSuffixes) {
|
|
|
183
208
|
const varName = callee.name;
|
|
184
209
|
if (!tBindings.has(varName))
|
|
185
210
|
return;
|
|
186
|
-
const
|
|
211
|
+
const args = node.arguments;
|
|
212
|
+
const keyStr = stringValue(args[0]);
|
|
187
213
|
if (!keyStr)
|
|
188
214
|
return;
|
|
215
|
+
// Check if this call has a `count` option (for pluralization detection)
|
|
216
|
+
const hasCount = hasCountProperty(args[1]);
|
|
189
217
|
const parts = splitI18nKey(keyStr);
|
|
190
218
|
if (parts) {
|
|
191
219
|
// t('namespace:key') — namespace is explicit in the key string
|
|
192
|
-
addKey(result, parts[0], parts[1], routes, pluralSuffixes);
|
|
220
|
+
addKey(result, parts[0], parts[1], routes, pluralSuffixes, hasCount);
|
|
193
221
|
}
|
|
194
222
|
else {
|
|
195
223
|
// Bare key: t('key') — namespace comes from the binding; emit a warning
|
|
196
224
|
console.warn(`[WARN] Bare key in ${path.relative(process.cwd(), filePath)}: ` +
|
|
197
225
|
`${varName}('${keyStr}') — use ${varName}('namespace:${keyStr}') instead`);
|
|
198
226
|
for (const ns of tBindings.get(varName))
|
|
199
|
-
addKey(result, ns, keyStr, routes, pluralSuffixes);
|
|
227
|
+
addKey(result, ns, keyStr, routes, pluralSuffixes, hasCount);
|
|
200
228
|
}
|
|
201
229
|
});
|
|
202
230
|
// --- Step 3: <Trans i18nKey="namespace:key"> ---
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"key-extractor.js","sourceRoot":"","sources":["../../../src/core/scanner-internals/key-extractor.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EAAE,MAAM,IAAI,CAAC;AACpB,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EACH,WAAW,EACX,IAAI,EACJ,WAAW,EACX,iBAAiB,GACpB,MAAM,8BAA8B,CAAC;AAGtC,8EAA8E;AAC9E,gBAAgB;AAChB,8EAA8E;AAE9E;;;;;;;GAOG;AACH,SAAS,MAAM,CACX,GAAiB,EACjB,SAAiB,EACjB,GAAW,EACX,MAAgB,EAChB,cAAyB;
|
|
1
|
+
{"version":3,"file":"key-extractor.js","sourceRoot":"","sources":["../../../src/core/scanner-internals/key-extractor.ts"],"names":[],"mappings":"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"}
|