i18next-cli 1.49.0 → 1.49.2

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.
Files changed (65) hide show
  1. package/dist/cjs/cli.js +1 -1
  2. package/dist/cjs/extractor/core/ast-visitors.js +143 -19
  3. package/dist/cjs/extractor/parsers/expression-resolver.js +135 -2
  4. package/dist/esm/cli.js +1 -1
  5. package/dist/esm/extractor/core/ast-visitors.js +143 -19
  6. package/dist/esm/extractor/parsers/expression-resolver.js +135 -2
  7. package/package.json +10 -8
  8. package/types/config.d.ts +1 -1
  9. package/types/config.d.ts.map +1 -1
  10. package/types/extractor/core/ast-visitors.d.ts +9 -3
  11. package/types/extractor/core/ast-visitors.d.ts.map +1 -1
  12. package/types/extractor/core/extractor.d.ts +3 -3
  13. package/types/extractor/core/extractor.d.ts.map +1 -1
  14. package/types/extractor/core/key-finder.d.ts +1 -1
  15. package/types/extractor/core/key-finder.d.ts.map +1 -1
  16. package/types/extractor/core/translation-manager.d.ts +1 -1
  17. package/types/extractor/core/translation-manager.d.ts.map +1 -1
  18. package/types/extractor/index.d.ts +7 -7
  19. package/types/extractor/index.d.ts.map +1 -1
  20. package/types/extractor/parsers/call-expression-handler.d.ts +2 -2
  21. package/types/extractor/parsers/call-expression-handler.d.ts.map +1 -1
  22. package/types/extractor/parsers/comment-parser.d.ts +1 -1
  23. package/types/extractor/parsers/comment-parser.d.ts.map +1 -1
  24. package/types/extractor/parsers/expression-resolver.d.ts +19 -1
  25. package/types/extractor/parsers/expression-resolver.d.ts.map +1 -1
  26. package/types/extractor/parsers/jsx-handler.d.ts +2 -2
  27. package/types/extractor/parsers/jsx-handler.d.ts.map +1 -1
  28. package/types/extractor/parsers/jsx-parser.d.ts +1 -1
  29. package/types/extractor/parsers/jsx-parser.d.ts.map +1 -1
  30. package/types/extractor/parsers/scope-manager.d.ts +1 -1
  31. package/types/extractor/parsers/scope-manager.d.ts.map +1 -1
  32. package/types/extractor/plugin-manager.d.ts +1 -1
  33. package/types/extractor/plugin-manager.d.ts.map +1 -1
  34. package/types/extractor.d.ts +5 -5
  35. package/types/extractor.d.ts.map +1 -1
  36. package/types/heuristic-config.d.ts +1 -1
  37. package/types/heuristic-config.d.ts.map +1 -1
  38. package/types/index.d.ts +9 -9
  39. package/types/index.d.ts.map +1 -1
  40. package/types/instrumenter/core/instrumenter.d.ts +1 -1
  41. package/types/instrumenter/core/instrumenter.d.ts.map +1 -1
  42. package/types/instrumenter/core/string-detector.d.ts +1 -1
  43. package/types/instrumenter/core/string-detector.d.ts.map +1 -1
  44. package/types/instrumenter/core/transformer.d.ts +1 -1
  45. package/types/instrumenter/core/transformer.d.ts.map +1 -1
  46. package/types/instrumenter/index.d.ts +5 -5
  47. package/types/instrumenter/index.d.ts.map +1 -1
  48. package/types/linter.d.ts +1 -1
  49. package/types/linter.d.ts.map +1 -1
  50. package/types/locize.d.ts +1 -1
  51. package/types/locize.d.ts.map +1 -1
  52. package/types/rename-key.d.ts +1 -1
  53. package/types/rename-key.d.ts.map +1 -1
  54. package/types/status.d.ts +1 -1
  55. package/types/status.d.ts.map +1 -1
  56. package/types/syncer.d.ts +1 -1
  57. package/types/syncer.d.ts.map +1 -1
  58. package/types/types-generator.d.ts +1 -1
  59. package/types/types-generator.d.ts.map +1 -1
  60. package/types/utils/file-utils.d.ts +1 -1
  61. package/types/utils/file-utils.d.ts.map +1 -1
  62. package/types/utils/logger.d.ts +1 -1
  63. package/types/utils/logger.d.ts.map +1 -1
  64. package/types/utils/validation.d.ts +1 -1
  65. package/types/utils/validation.d.ts.map +1 -1
@@ -10,6 +10,15 @@ class ExpressionResolver {
10
10
  // Per-file table for type aliases: Maps typeName -> string[]
11
11
  // e.g. `type ChangeType = 'all' | 'next' | 'this'` -> { ChangeType: ['all', 'next', 'this'] }
12
12
  typeAliasTable = new Map();
13
+ // Shared (cross-file) table for string-array constants (e.g. `as const` arrays).
14
+ // Persists across resetFileSymbols() so exported arrays are visible to importers.
15
+ sharedVariableTable = new Map();
16
+ // Shared (cross-file) table for type aliases — populated alongside typeAliasTable.
17
+ // Persists across resetFileSymbols() so exported type aliases are visible to importers.
18
+ sharedTypeAliasTable = new Map();
19
+ // Temporary per-scope variable overrides, used to inject .map() / .forEach()
20
+ // callback parameters while the callback body is being walked.
21
+ temporaryVariables = new Map();
13
22
  constructor(hooks) {
14
23
  this.hooks = hooks;
15
24
  }
@@ -19,6 +28,7 @@ class ExpressionResolver {
19
28
  resetFileSymbols() {
20
29
  this.variableTable.clear();
21
30
  this.typeAliasTable.clear();
31
+ this.temporaryVariables.clear();
22
32
  }
23
33
  /**
24
34
  * Capture a VariableDeclarator node to record simple statically analyzable
@@ -34,6 +44,41 @@ class ExpressionResolver {
34
44
  try {
35
45
  if (!node || !node.id)
36
46
  return;
47
+ // ── ArrayPattern id: `const [x, y] = fn<T>(...)` ────────────────────────
48
+ // Handles `const [state] = useState<'a'|'b'>('a')` or similar generic calls
49
+ // where the type argument is a finite string-literal union.
50
+ if (node.id.type === 'ArrayPattern' && node.init) {
51
+ const init = node.init;
52
+ // Unwrap await / as-expressions
53
+ let callExpr = init;
54
+ while (callExpr?.type === 'AwaitExpression')
55
+ callExpr = callExpr.argument;
56
+ while (callExpr?.type === 'TsConstAssertion' ||
57
+ callExpr?.type === 'TsAsExpression' ||
58
+ callExpr?.type === 'TsSatisfiesExpression')
59
+ callExpr = callExpr.expression;
60
+ if (callExpr?.type === 'CallExpression') {
61
+ const typeArgs = callExpr.typeArguments?.params ??
62
+ callExpr.typeParameters?.params ??
63
+ [];
64
+ if (typeArgs.length > 0) {
65
+ const vals = this.resolvePossibleStringValuesFromType(typeArgs[0]);
66
+ if (vals.length > 0) {
67
+ // Bind each array-pattern element: first element is the state variable
68
+ for (const el of node.id.elements) {
69
+ if (!el)
70
+ continue;
71
+ const ident = el.type === 'Identifier' ? el : (el.type === 'AssignmentPattern' && el.left?.type === 'Identifier' ? el.left : null);
72
+ if (ident) {
73
+ this.variableTable.set(ident.value, vals);
74
+ }
75
+ break; // only bind the first element (the state value, not the setter)
76
+ }
77
+ }
78
+ }
79
+ }
80
+ return;
81
+ }
37
82
  // only handle simple identifier bindings like `const x = ...`
38
83
  if (node.id.type !== 'Identifier')
39
84
  return;
@@ -84,6 +129,24 @@ class ExpressionResolver {
84
129
  return;
85
130
  }
86
131
  }
132
+ // ArrayExpression -> list of string values
133
+ // Handles `const OPTS = ['a', 'b', 'c'] as const`
134
+ if (unwrappedInit.type === 'ArrayExpression' && Array.isArray(unwrappedInit.elements)) {
135
+ const vals = [];
136
+ for (const elem of unwrappedInit.elements) {
137
+ if (!elem || !elem.expression)
138
+ continue;
139
+ const resolved = this.resolvePossibleStringValuesFromExpression(elem.expression);
140
+ if (resolved.length === 1)
141
+ vals.push(resolved[0]);
142
+ }
143
+ if (vals.length > 0) {
144
+ this.variableTable.set(name, vals);
145
+ // Also share so importing files can see this array
146
+ this.sharedVariableTable.set(name, vals);
147
+ return;
148
+ }
149
+ }
87
150
  // For other initializers, try to resolve to one-or-more strings
88
151
  const vals = this.resolvePossibleStringValuesFromExpression(init);
89
152
  if (vals.length > 0) {
@@ -127,6 +190,8 @@ class ExpressionResolver {
127
190
  const vals = this.resolvePossibleStringValuesFromType(tsType);
128
191
  if (vals.length > 0) {
129
192
  this.typeAliasTable.set(name, vals);
193
+ // Also share so importing files can resolve this alias by name
194
+ this.sharedTypeAliasTable.set(name, vals);
130
195
  }
131
196
  }
132
197
  catch {
@@ -178,6 +243,33 @@ class ExpressionResolver {
178
243
  return raw.typeAnnotation;
179
244
  return raw;
180
245
  }
246
+ /**
247
+ * Temporarily bind a variable name to a set of string values.
248
+ * Used by ast-visitors to inject .map()/.forEach() callback parameters.
249
+ * Call deleteTemporaryVariable() after walking the callback body.
250
+ */
251
+ setTemporaryVariable(name, values) {
252
+ this.temporaryVariables.set(name, values);
253
+ }
254
+ /**
255
+ * Remove a previously-injected temporary variable binding.
256
+ */
257
+ deleteTemporaryVariable(name) {
258
+ this.temporaryVariables.delete(name);
259
+ }
260
+ /**
261
+ * Return the array values stored for a variable name, checking all tables.
262
+ * Returns undefined if the name is not a known string array.
263
+ */
264
+ getVariableValues(name) {
265
+ const tmp = this.temporaryVariables.get(name);
266
+ if (tmp)
267
+ return tmp;
268
+ const v = this.variableTable.get(name);
269
+ if (Array.isArray(v))
270
+ return v;
271
+ return this.sharedVariableTable.get(name);
272
+ }
181
273
  /**
182
274
  * Capture a TypeScript enum declaration so members can be resolved later.
183
275
  * Accepts SWC node shapes like `TsEnumDeclaration` / `TSEnumDeclaration`.
@@ -419,9 +511,18 @@ class ExpressionResolver {
419
511
  }
420
512
  // Identifier resolution via captured per-file variable table only
421
513
  if (expression.type === 'Identifier') {
514
+ // Check temporary (callback param) overrides first
515
+ const tmp = this.temporaryVariables.get(expression.value);
516
+ if (tmp)
517
+ return tmp;
422
518
  const v = this.variableTable.get(expression.value);
423
- if (!v)
519
+ if (!v) {
520
+ // Fall back to shared cross-file array table
521
+ const sv = this.sharedVariableTable.get(expression.value);
522
+ if (sv)
523
+ return sv;
424
524
  return [];
525
+ }
425
526
  if (Array.isArray(v))
426
527
  return v;
427
528
  // object map - cannot be used directly as key, so return empty
@@ -431,6 +532,11 @@ class ExpressionResolver {
431
532
  return [];
432
533
  }
433
534
  resolvePossibleStringValuesFromType(type, returnEmptyStrings = false) {
535
+ // Unwrap TsParenthesizedType — SWC explicitly emits these for grouped types like
536
+ // `(typeof X)[number]` where `(typeof X)` becomes TsParenthesizedType { typeAnnotation: TsTypeQuery }
537
+ if (type.type === 'TsParenthesizedType') {
538
+ return this.resolvePossibleStringValuesFromType(type.typeAnnotation, returnEmptyStrings);
539
+ }
434
540
  if (type.type === 'TsUnionType') {
435
541
  return type.types.flatMap((t) => this.resolvePossibleStringValuesFromType(t, returnEmptyStrings));
436
542
  }
@@ -454,11 +560,38 @@ class ExpressionResolver {
454
560
  ? type.typeName.value
455
561
  : undefined;
456
562
  if (typeName) {
457
- const aliasVals = this.typeAliasTable.get(typeName);
563
+ const aliasVals = this.typeAliasTable.get(typeName) ?? this.sharedTypeAliasTable.get(typeName);
458
564
  if (aliasVals && aliasVals.length > 0)
459
565
  return aliasVals;
460
566
  }
461
567
  }
568
+ // `(typeof ACCESS_OPTIONS)[number]` — resolve through the shared array variable table.
569
+ // SWC emits: TsIndexedAccessType {
570
+ // objectType: TsParenthesizedType { typeAnnotation: TsTypeQuery { exprName: Identifier } }
571
+ // indexType: TsKeywordType
572
+ // }
573
+ // The parens around `typeof X` produce a TsParenthesizedType wrapper that we must unwrap.
574
+ if (type.type === 'TsIndexedAccessType') {
575
+ try {
576
+ let objType = type.objectType;
577
+ // Unwrap TsParenthesizedType wrapper (SWC preserves explicit parens in type positions)
578
+ while (objType?.type === 'TsParenthesizedType') {
579
+ objType = objType.typeAnnotation;
580
+ }
581
+ if (objType?.type === 'TsTypeQuery' || objType?.type === 'TSTypeQuery') {
582
+ // SWC: TsTypeQuery.exprName is TsEntityName (Identifier | TsQualifiedName)
583
+ const exprName = objType.exprName ?? objType.expr ?? objType.entityName;
584
+ // access .value (Identifier) or fall back to .name for alternate SWC builds
585
+ const varName = exprName?.value ?? exprName?.name;
586
+ if (varName) {
587
+ const vals = this.getVariableValues(varName);
588
+ if (vals && vals.length > 0)
589
+ return vals;
590
+ }
591
+ }
592
+ }
593
+ catch { }
594
+ }
462
595
  // We can't statically determine the value of other expressions (e.g., variables, function calls)
463
596
  return [];
464
597
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "i18next-cli",
3
- "version": "1.49.0",
3
+ "version": "1.49.2",
4
4
  "description": "A unified, high-performance i18next CLI.",
5
5
  "type": "module",
6
6
  "bin": {
@@ -55,13 +55,15 @@
55
55
  "@rollup/plugin-replace": "6.0.3",
56
56
  "@rollup/plugin-terser": "0.4.4",
57
57
  "@types/inquirer": "9.0.9",
58
- "@types/node": "25.3.2",
58
+ "@types/node": "25.3.3",
59
59
  "@types/react": "19.2.14",
60
+ "@typescript-eslint/parser": "^8.56.1",
60
61
  "@vitest/coverage-v8": "4.0.18",
61
62
  "eslint": "9.39.2",
63
+ "eslint-import-resolver-typescript": "^4.4.4",
62
64
  "eslint-plugin-import": "2.32.0",
63
- "memfs": "4.56.10",
64
- "neostandard": "0.12.2",
65
+ "memfs": "4.56.11",
66
+ "neostandard": "0.13.0",
65
67
  "rollup-plugin-typescript2": "0.36.0",
66
68
  "typescript": "5.9.3",
67
69
  "unplugin-swc": "1.5.9",
@@ -69,8 +71,7 @@
69
71
  },
70
72
  "dependencies": {
71
73
  "@croct/json5-parser": "0.2.2",
72
- "@swc/core": "1.15.17",
73
- "yaml": "2.8.2",
74
+ "@swc/core": "1.15.18",
74
75
  "chokidar": "5.0.0",
75
76
  "commander": "14.0.3",
76
77
  "execa": "9.6.1",
@@ -79,10 +80,11 @@
79
80
  "inquirer": "13.3.0",
80
81
  "jiti": "2.6.1",
81
82
  "jsonc-parser": "3.3.1",
82
- "magic-string": "0.30.12",
83
+ "magic-string": "0.30.21",
83
84
  "minimatch": "10.2.4",
84
85
  "ora": "9.3.0",
85
86
  "react": "^19.2.4",
86
- "react-i18next": "^16.5.4"
87
+ "react-i18next": "^16.5.5",
88
+ "yaml": "2.8.2"
87
89
  }
88
90
  }
package/types/config.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- import type { I18nextToolkitConfig, Logger } from './types';
1
+ import type { I18nextToolkitConfig, Logger } from './types.js';
2
2
  /**
3
3
  * A helper function for defining the i18next-cli config with type-safety.
4
4
  *
@@ -1 +1 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,EAAE,MAAM,SAAS,CAAA;AAc3D;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,YAAY,CAAE,MAAM,EAAE,oBAAoB,GAAG,oBAAoB,CAEhF;AAgCD;;;;;GAKG;AACH,wBAAsB,UAAU,CAAE,UAAU,CAAC,EAAE,MAAM,EAAE,MAAM,GAAE,MAA4B,GAAG,OAAO,CAAC,oBAAoB,GAAG,IAAI,CAAC,CA+CjI;AAED;;;GAGG;AACH,wBAAsB,YAAY,CAAE,UAAU,CAAC,EAAE,MAAM,EAAE,MAAM,GAAE,MAA4B,GAAG,OAAO,CAAC,oBAAoB,CAAC,CA8B5H;AAyBD;;;GAGG;AACH,wBAAsB,kBAAkB,IAAK,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAyB3E"}
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,EAAE,MAAM,YAAY,CAAA;AAc9D;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,YAAY,CAAE,MAAM,EAAE,oBAAoB,GAAG,oBAAoB,CAEhF;AAgCD;;;;;GAKG;AACH,wBAAsB,UAAU,CAAE,UAAU,CAAC,EAAE,MAAM,EAAE,MAAM,GAAE,MAA4B,GAAG,OAAO,CAAC,oBAAoB,GAAG,IAAI,CAAC,CA+CjI;AAED;;;GAGG;AACH,wBAAsB,YAAY,CAAE,UAAU,CAAC,EAAE,MAAM,EAAE,MAAM,GAAE,MAA4B,GAAG,OAAO,CAAC,oBAAoB,CAAC,CA8B5H;AAyBD;;;GAGG;AACH,wBAAsB,kBAAkB,IAAK,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAyB3E"}
@@ -1,7 +1,7 @@
1
1
  import type { Module } from '@swc/core';
2
- import type { PluginContext, I18nextToolkitConfig, Logger, ASTVisitorHooks, ScopeInfo } from '../../types';
3
- import { ScopeManager } from '../parsers/scope-manager';
4
- import { ExpressionResolver } from '../parsers/expression-resolver';
2
+ import type { PluginContext, I18nextToolkitConfig, Logger, ASTVisitorHooks, ScopeInfo } from '../../types.js';
3
+ import { ScopeManager } from '../parsers/scope-manager.js';
4
+ import { ExpressionResolver } from '../parsers/expression-resolver.js';
5
5
  /**
6
6
  * AST visitor class that traverses JavaScript/TypeScript syntax trees to extract translation keys.
7
7
  *
@@ -65,6 +65,12 @@ export declare class ASTVisitors {
65
65
  * @private
66
66
  */
67
67
  private walk;
68
+ /**
69
+ * If `node` is a call like `ARRAY.map(param => ...)` where ARRAY is a known
70
+ * string-array constant, returns the callback's first parameter name and the
71
+ * array values so the caller can inject a temporary variable binding.
72
+ */
73
+ private tryGetArrayIterationCallbackInfo;
68
74
  /**
69
75
  * Retrieves variable information from the scope chain.
70
76
  * Searches from innermost to outermost scope.
@@ -1 +1 @@
1
- {"version":3,"file":"ast-visitors.d.ts","sourceRoot":"","sources":["../../../src/extractor/core/ast-visitors.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAQ,MAAM,WAAW,CAAA;AAC7C,OAAO,KAAK,EAAE,aAAa,EAAE,oBAAoB,EAAE,MAAM,EAAE,eAAe,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AAC1G,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAA;AACvD,OAAO,EAAE,kBAAkB,EAAE,MAAM,gCAAgC,CAAA;AAInE;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,qBAAa,WAAW;IACtB,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAe;IAC7C,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAuC;IAC9D,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAQ;IAC/B,OAAO,CAAC,KAAK,CAAiB;IAE9B,IAAW,UAAU,gBAEpB;IAED,SAAgB,YAAY,EAAE,YAAY,CAAA;IAC1C,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAoB;IACvD,OAAO,CAAC,QAAQ,CAAC,qBAAqB,CAAuB;IAC7D,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAY;IACvC,OAAO,CAAC,WAAW,CAAa;IAChC,OAAO,CAAC,WAAW,CAAa;IAEhC;;;;;;OAMG;gBAED,MAAM,EAAE,IAAI,CAAC,oBAAoB,EAAE,SAAS,CAAC,EAC7C,aAAa,EAAE,aAAa,EAC5B,MAAM,EAAE,MAAM,EACd,KAAK,CAAC,EAAE,eAAe,EACvB,kBAAkB,CAAC,EAAE,kBAAkB;IAiCzC;;;;;OAKG;IACI,KAAK,CAAE,IAAI,EAAE,MAAM,GAAG,IAAI;IAUjC;;;;;;;;;;;;OAYG;IACH,OAAO,CAAC,IAAI;IAgRZ;;;;;;;;OAQG;IACI,eAAe,CAAE,IAAI,EAAE,MAAM,GAAG,SAAS,GAAG,SAAS;IAI5D;;OAEG;IACI,cAAc,CAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI;IAKxD;;;;;;OAMG;IACI,cAAc,IAAK,MAAM;IAIhC;;OAEG;IACI,cAAc,IAAK,MAAM;CAGjC"}
1
+ {"version":3,"file":"ast-visitors.d.ts","sourceRoot":"","sources":["../../../src/extractor/core/ast-visitors.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAQ,MAAM,WAAW,CAAA;AAC7C,OAAO,KAAK,EAAE,aAAa,EAAE,oBAAoB,EAAE,MAAM,EAAE,eAAe,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAA;AAC7G,OAAO,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAA;AAC1D,OAAO,EAAE,kBAAkB,EAAE,MAAM,mCAAmC,CAAA;AAItE;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,qBAAa,WAAW;IACtB,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAe;IAC7C,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAuC;IAC9D,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAQ;IAC/B,OAAO,CAAC,KAAK,CAAiB;IAE9B,IAAW,UAAU,gBAEpB;IAED,SAAgB,YAAY,EAAE,YAAY,CAAA;IAC1C,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAoB;IACvD,OAAO,CAAC,QAAQ,CAAC,qBAAqB,CAAuB;IAC7D,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAY;IACvC,OAAO,CAAC,WAAW,CAAa;IAChC,OAAO,CAAC,WAAW,CAAa;IAEhC;;;;;;OAMG;gBAED,MAAM,EAAE,IAAI,CAAC,oBAAoB,EAAE,SAAS,CAAC,EAC7C,aAAa,EAAE,aAAa,EAC5B,MAAM,EAAE,MAAM,EACd,KAAK,CAAC,EAAE,eAAe,EACvB,kBAAkB,CAAC,EAAE,kBAAkB;IAiCzC;;;;;OAKG;IACI,KAAK,CAAE,IAAI,EAAE,MAAM,GAAG,IAAI;IAUjC;;;;;;;;;;;;OAYG;IACH,OAAO,CAAC,IAAI;IAgWZ;;;;OAIG;IACH,OAAO,CAAC,gCAAgC;IAwCxC;;;;;;;;OAQG;IACI,eAAe,CAAE,IAAI,EAAE,MAAM,GAAG,SAAS,GAAG,SAAS;IAI5D;;OAEG;IACI,cAAc,CAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI;IAKxD;;;;;;OAMG;IACI,cAAc,IAAK,MAAM;IAIhC;;OAEG;IACI,cAAc,IAAK,MAAM;CAGjC"}
@@ -1,5 +1,5 @@
1
- import type { Logger, I18nextToolkitConfig, Plugin, PluginContext } from '../../types';
2
- import { ASTVisitors } from './ast-visitors';
1
+ import type { Logger, I18nextToolkitConfig, Plugin, PluginContext, TranslationResult } from '../../types.js';
2
+ import { ASTVisitors } from './ast-visitors.js';
3
3
  /**
4
4
  * Main extractor function that runs the complete key extraction and file generation process.
5
5
  *
@@ -75,5 +75,5 @@ export declare function processFile(file: string, plugins: Plugin[], astVisitors
75
75
  */
76
76
  export declare function extract(config: I18nextToolkitConfig, { syncPrimaryWithDefaults }?: {
77
77
  syncPrimaryWithDefaults?: boolean;
78
- }): Promise<import("../../types").TranslationResult[]>;
78
+ }): Promise<TranslationResult[]>;
79
79
  //# sourceMappingURL=extractor.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"extractor.d.ts","sourceRoot":"","sources":["../../../src/extractor/core/extractor.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,MAAM,EAAE,oBAAoB,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,aAAa,CAAA;AAOtF,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAA;AAK5C;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,wBAAsB,YAAY,CAChC,MAAM,EAAE,oBAAoB,EAC5B,OAAO,GAAE;IACP,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,uBAAuB,CAAC,EAAE,OAAO,CAAC;IAClC,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAA;CACX,GACL,OAAO,CAAC;IAAE,cAAc,EAAE,OAAO,CAAC;IAAC,SAAS,EAAE,OAAO,CAAA;CAAE,CAAC,CA6E1D;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAsB,WAAW,CAC/B,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,MAAM,EAAE,EACjB,WAAW,EAAE,WAAW,EACxB,aAAa,EAAE,aAAa,EAC5B,MAAM,EAAE,IAAI,CAAC,oBAAoB,EAAE,SAAS,CAAC,EAC7C,MAAM,GAAE,MAA4B,EACpC,UAAU,CAAC,EAAE,MAAM,EAAE,GACpB,OAAO,CAAC,IAAI,CAAC,CAkHf;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAsB,OAAO,CAAE,MAAM,EAAE,oBAAoB,EAAE,EAAE,uBAA+B,EAAE,GAAE;IAAE,uBAAuB,CAAC,EAAE,OAAO,CAAA;CAAO,sDAO3I"}
1
+ {"version":3,"file":"extractor.d.ts","sourceRoot":"","sources":["../../../src/extractor/core/extractor.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,MAAM,EAAE,oBAAoB,EAAE,MAAM,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAA;AAO5G,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAA;AAK/C;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,wBAAsB,YAAY,CAChC,MAAM,EAAE,oBAAoB,EAC5B,OAAO,GAAE;IACP,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,uBAAuB,CAAC,EAAE,OAAO,CAAC;IAClC,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAA;CACX,GACL,OAAO,CAAC;IAAE,cAAc,EAAE,OAAO,CAAC;IAAC,SAAS,EAAE,OAAO,CAAA;CAAE,CAAC,CA6E1D;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAsB,WAAW,CAC/B,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,MAAM,EAAE,EACjB,WAAW,EAAE,WAAW,EACxB,aAAa,EAAE,aAAa,EAC5B,MAAM,EAAE,IAAI,CAAC,oBAAoB,EAAE,SAAS,CAAC,EAC7C,MAAM,GAAE,MAA4B,EACpC,UAAU,CAAC,EAAE,MAAM,EAAE,GACpB,OAAO,CAAC,IAAI,CAAC,CAkHf;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAsB,OAAO,CAAE,MAAM,EAAE,oBAAoB,EAAE,EAAE,uBAA+B,EAAE,GAAE;IAAE,uBAAuB,CAAC,EAAE,OAAO,CAAA;CAAO,GAAG,OAAO,CAAC,iBAAiB,EAAE,CAAC,CAO1K"}
@@ -1,4 +1,4 @@
1
- import type { ExtractedKey, Logger, I18nextToolkitConfig } from '../../types';
1
+ import type { ExtractedKey, Logger, I18nextToolkitConfig } from '../../types.js';
2
2
  /**
3
3
  * Main function for finding translation keys across all source files in a project.
4
4
  *
@@ -1 +1 @@
1
- {"version":3,"file":"key-finder.d.ts","sourceRoot":"","sources":["../../../src/extractor/core/key-finder.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,EAAE,oBAAoB,EAAmB,MAAM,aAAa,CAAA;AAO9F;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,wBAAsB,QAAQ,CAC5B,MAAM,EAAE,oBAAoB,EAC5B,MAAM,GAAE,MAA4B,EACpC,UAAU,CAAC,EAAE,MAAM,EAAE,GACpB,OAAO,CAAC;IAAE,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;IAAC,UAAU,EAAE,GAAG,CAAC,MAAM,CAAC,CAAA;CAAE,CAAC,CA6E1E"}
1
+ {"version":3,"file":"key-finder.d.ts","sourceRoot":"","sources":["../../../src/extractor/core/key-finder.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,EAAE,oBAAoB,EAAmB,MAAM,gBAAgB,CAAA;AAOjG;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,wBAAsB,QAAQ,CAC5B,MAAM,EAAE,oBAAoB,EAC5B,MAAM,GAAE,MAA4B,EACpC,UAAU,CAAC,EAAE,MAAM,EAAE,GACpB,OAAO,CAAC;IAAE,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;IAAC,UAAU,EAAE,GAAG,CAAC,MAAM,CAAC,CAAA;CAAE,CAAC,CA6E1E"}
@@ -1,4 +1,4 @@
1
- import { TranslationResult, ExtractedKey, I18nextToolkitConfig, Logger } from '../../types';
1
+ import { TranslationResult, ExtractedKey, I18nextToolkitConfig, Logger } from '../../types.js';
2
2
  /**
3
3
  * Processes extracted translation keys and generates translation files for all configured locales.
4
4
  *
@@ -1 +1 @@
1
- {"version":3,"file":"translation-manager.d.ts","sourceRoot":"","sources":["../../../src/extractor/core/translation-manager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,YAAY,EAAE,oBAAoB,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AAw3B3F;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,wBAAsB,eAAe,CACnC,IAAI,EAAE,GAAG,CAAC,MAAM,EAAE,YAAY,CAAC,EAC/B,UAAU,EAAE,GAAG,CAAC,MAAM,CAAC,EACvB,MAAM,EAAE,oBAAoB,EAC5B,EACE,uBAA+B,EAC/B,OAAe,EACf,MAA4B,EAC7B,GAAE;IACD,uBAAuB,CAAC,EAAE,OAAO,CAAC;IAClC,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAA;CACX,GACL,OAAO,CAAC,iBAAiB,EAAE,CAAC,CA8J9B"}
1
+ {"version":3,"file":"translation-manager.d.ts","sourceRoot":"","sources":["../../../src/extractor/core/translation-manager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,YAAY,EAAE,oBAAoB,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAA;AAw3B9F;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,wBAAsB,eAAe,CACnC,IAAI,EAAE,GAAG,CAAC,MAAM,EAAE,YAAY,CAAC,EAC/B,UAAU,EAAE,GAAG,CAAC,MAAM,CAAC,EACvB,MAAM,EAAE,oBAAoB,EAC5B,EACE,uBAA+B,EAC/B,OAAe,EACf,MAA4B,EAC7B,GAAE;IACD,uBAAuB,CAAC,EAAE,OAAO,CAAC;IAClC,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAA;CACX,GACL,OAAO,CAAC,iBAAiB,EAAE,CAAC,CA8J9B"}
@@ -1,8 +1,8 @@
1
- export * from './core/extractor';
2
- export * from './core/key-finder';
3
- export * from './core/translation-manager';
4
- export * from './core/ast-visitors';
5
- export * from './parsers/comment-parser';
6
- export * from './parsers/jsx-parser';
7
- export * from './plugin-manager';
1
+ export * from './core/extractor.js';
2
+ export * from './core/key-finder.js';
3
+ export * from './core/translation-manager.js';
4
+ export * from './core/ast-visitors.js';
5
+ export * from './parsers/comment-parser.js';
6
+ export * from './parsers/jsx-parser.js';
7
+ export * from './plugin-manager.js';
8
8
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/extractor/index.ts"],"names":[],"mappings":"AAAA,cAAc,kBAAkB,CAAA;AAChC,cAAc,mBAAmB,CAAA;AACjC,cAAc,4BAA4B,CAAA;AAC1C,cAAc,qBAAqB,CAAA;AACnC,cAAc,0BAA0B,CAAA;AACxC,cAAc,sBAAsB,CAAA;AACpC,cAAc,kBAAkB,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/extractor/index.ts"],"names":[],"mappings":"AAAA,cAAc,qBAAqB,CAAA;AACnC,cAAc,sBAAsB,CAAA;AACpC,cAAc,+BAA+B,CAAA;AAC7C,cAAc,wBAAwB,CAAA;AACtC,cAAc,6BAA6B,CAAA;AAC3C,cAAc,yBAAyB,CAAA;AACvC,cAAc,qBAAqB,CAAA"}
@@ -1,6 +1,6 @@
1
1
  import type { CallExpression } from '@swc/core';
2
- import type { PluginContext, I18nextToolkitConfig, Logger, ScopeInfo } from '../../types';
3
- import { ExpressionResolver } from './expression-resolver';
2
+ import type { PluginContext, I18nextToolkitConfig, Logger, ScopeInfo } from '../../types.js';
3
+ import { ExpressionResolver } from './expression-resolver.js';
4
4
  export declare class CallExpressionHandler {
5
5
  private pluginContext;
6
6
  private config;
@@ -1 +1 @@
1
- {"version":3,"file":"call-expression-handler.d.ts","sourceRoot":"","sources":["../../../src/extractor/parsers/call-expression-handler.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAA6C,MAAM,WAAW,CAAA;AAC1F,OAAO,KAAK,EAAE,aAAa,EAAE,oBAAoB,EAAE,MAAM,EAAgB,SAAS,EAAE,MAAM,aAAa,CAAA;AACvG,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAA;AAM1D,qBAAa,qBAAqB;IAChC,OAAO,CAAC,aAAa,CAAe;IACpC,OAAO,CAAC,MAAM,CAAuC;IACrD,OAAO,CAAC,MAAM,CAAQ;IACtB,OAAO,CAAC,kBAAkB,CAAoB;IACvC,UAAU,cAAoB;IACrC,OAAO,CAAC,cAAc,CAAc;IACpC,OAAO,CAAC,cAAc,CAAc;IACpC,OAAO,CAAC,iBAAiB,CAAsC;gBAG7D,MAAM,EAAE,IAAI,CAAC,oBAAoB,EAAE,SAAS,CAAC,EAC7C,aAAa,EAAE,aAAa,EAC5B,MAAM,EAAE,MAAM,EACd,kBAAkB,EAAE,kBAAkB,EACtC,cAAc,EAAE,MAAM,MAAM,EAC5B,cAAc,EAAE,MAAM,MAAM,EAC5B,iBAAiB,GAAE,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,GAAG,SAA2B;IAW3E;;;;;OAKG;IACH,OAAO,CAAC,mBAAmB;IAiB3B;;;;;;;;;;;;;;OAcG;IACH,oBAAoB,CAAE,IAAI,EAAE,cAAc,EAAE,YAAY,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,SAAS,GAAG,SAAS,GAAG,IAAI;IAgYxG;;OAEG;IACH,OAAO,CAAC,iBAAiB;IA4BzB,OAAO,CAAC,oBAAoB;IA6E5B,OAAO,CAAC,wBAAwB;IAyEhC;;;;;;OAMG;IACH,OAAO,CAAC,4BAA4B;IA8BpC;;;;;;;;;;;;;OAaG;IACH,OAAO,CAAC,sBAAsB;IA2C9B;;;;;;;;;;;OAWG;IACH,OAAO,CAAC,gBAAgB;IAyMxB;;;;;;;;;OASG;IACH,OAAO,CAAC,eAAe;CA2BxB"}
1
+ {"version":3,"file":"call-expression-handler.d.ts","sourceRoot":"","sources":["../../../src/extractor/parsers/call-expression-handler.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAA6C,MAAM,WAAW,CAAA;AAC1F,OAAO,KAAK,EAAE,aAAa,EAAE,oBAAoB,EAAE,MAAM,EAAgB,SAAS,EAAE,MAAM,gBAAgB,CAAA;AAC1G,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAA;AAM7D,qBAAa,qBAAqB;IAChC,OAAO,CAAC,aAAa,CAAe;IACpC,OAAO,CAAC,MAAM,CAAuC;IACrD,OAAO,CAAC,MAAM,CAAQ;IACtB,OAAO,CAAC,kBAAkB,CAAoB;IACvC,UAAU,cAAoB;IACrC,OAAO,CAAC,cAAc,CAAc;IACpC,OAAO,CAAC,cAAc,CAAc;IACpC,OAAO,CAAC,iBAAiB,CAAsC;gBAG7D,MAAM,EAAE,IAAI,CAAC,oBAAoB,EAAE,SAAS,CAAC,EAC7C,aAAa,EAAE,aAAa,EAC5B,MAAM,EAAE,MAAM,EACd,kBAAkB,EAAE,kBAAkB,EACtC,cAAc,EAAE,MAAM,MAAM,EAC5B,cAAc,EAAE,MAAM,MAAM,EAC5B,iBAAiB,GAAE,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,GAAG,SAA2B;IAW3E;;;;;OAKG;IACH,OAAO,CAAC,mBAAmB;IAiB3B;;;;;;;;;;;;;;OAcG;IACH,oBAAoB,CAAE,IAAI,EAAE,cAAc,EAAE,YAAY,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,SAAS,GAAG,SAAS,GAAG,IAAI;IAgYxG;;OAEG;IACH,OAAO,CAAC,iBAAiB;IA4BzB,OAAO,CAAC,oBAAoB;IA6E5B,OAAO,CAAC,wBAAwB;IAyEhC;;;;;;OAMG;IACH,OAAO,CAAC,4BAA4B;IA8BpC;;;;;;;;;;;;;OAaG;IACH,OAAO,CAAC,sBAAsB;IA2C9B;;;;;;;;;;;OAWG;IACH,OAAO,CAAC,gBAAgB;IAyMxB;;;;;;;;;OASG;IACH,OAAO,CAAC,eAAe;CA2BxB"}
@@ -1,4 +1,4 @@
1
- import type { PluginContext, I18nextToolkitConfig } from '../../types';
1
+ import type { PluginContext, I18nextToolkitConfig } from '../../types.js';
2
2
  /**
3
3
  * Extracts translation keys from comments in source code using regex patterns.
4
4
  * Supports extraction from single-line (//) and multi-line comments.
@@ -1 +1 @@
1
- {"version":3,"file":"comment-parser.d.ts","sourceRoot":"","sources":["../../../src/extractor/parsers/comment-parser.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAA;AAEtE;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAgB,uBAAuB,CACrC,IAAI,EAAE,MAAM,EACZ,aAAa,EAAE,aAAa,EAC5B,MAAM,EAAE,oBAAoB,EAC5B,aAAa,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK;IAAE,SAAS,CAAC,EAAE,MAAM,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,SAAS,GAC1F,IAAI,CAiJN"}
1
+ {"version":3,"file":"comment-parser.d.ts","sourceRoot":"","sources":["../../../src/extractor/parsers/comment-parser.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAA;AAEzE;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAgB,uBAAuB,CACrC,IAAI,EAAE,MAAM,EACZ,aAAa,EAAE,aAAa,EAC5B,MAAM,EAAE,oBAAoB,EAC5B,aAAa,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK;IAAE,SAAS,CAAC,EAAE,MAAM,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,SAAS,GAC1F,IAAI,CAiJN"}
@@ -1,10 +1,13 @@
1
1
  import type { Expression } from '@swc/core';
2
- import type { ASTVisitorHooks } from '../../types';
2
+ import type { ASTVisitorHooks } from '../../types.js';
3
3
  export declare class ExpressionResolver {
4
4
  private hooks;
5
5
  private variableTable;
6
6
  private sharedEnumTable;
7
7
  private typeAliasTable;
8
+ private sharedVariableTable;
9
+ private sharedTypeAliasTable;
10
+ private temporaryVariables;
8
11
  constructor(hooks: ASTVisitorHooks);
9
12
  /**
10
13
  * Clear per-file captured variables. Enums / shared maps are kept.
@@ -46,6 +49,21 @@ export declare class ExpressionResolver {
46
49
  * SWC may wrap it in a `TsTypeAnnotation` node — this unwraps it.
47
50
  */
48
51
  private extractTypeAnnotation;
52
+ /**
53
+ * Temporarily bind a variable name to a set of string values.
54
+ * Used by ast-visitors to inject .map()/.forEach() callback parameters.
55
+ * Call deleteTemporaryVariable() after walking the callback body.
56
+ */
57
+ setTemporaryVariable(name: string, values: string[]): void;
58
+ /**
59
+ * Remove a previously-injected temporary variable binding.
60
+ */
61
+ deleteTemporaryVariable(name: string): void;
62
+ /**
63
+ * Return the array values stored for a variable name, checking all tables.
64
+ * Returns undefined if the name is not a known string array.
65
+ */
66
+ getVariableValues(name: string): string[] | undefined;
49
67
  /**
50
68
  * Capture a TypeScript enum declaration so members can be resolved later.
51
69
  * Accepts SWC node shapes like `TsEnumDeclaration` / `TSEnumDeclaration`.
@@ -1 +1 @@
1
- {"version":3,"file":"expression-resolver.d.ts","sourceRoot":"","sources":["../../../src/extractor/parsers/expression-resolver.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAkD,MAAM,WAAW,CAAA;AAC3F,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,aAAa,CAAA;AAElD,qBAAa,kBAAkB;IAC7B,OAAO,CAAC,KAAK,CAAiB;IAK9B,OAAO,CAAC,aAAa,CAA4D;IAGjF,OAAO,CAAC,eAAe,CAAiD;IAIxE,OAAO,CAAC,cAAc,CAAmC;gBAE5C,KAAK,EAAE,eAAe;IAInC;;OAEG;IACI,gBAAgB,IAAK,IAAI;IAKhC;;;;;;;;;OASG;IACH,yBAAyB,CAAE,IAAI,EAAE,GAAG,GAAG,IAAI;IAiF3C;;;;;;;OAOG;IACH,2BAA2B,CAAE,IAAI,EAAE,GAAG,GAAG,IAAI;IAgB7C;;;;;;;;;OASG;IACH,0BAA0B,CAAE,IAAI,EAAE,GAAG,GAAG,IAAI;IAoB5C;;;OAGG;IACH,OAAO,CAAC,qBAAqB;IAQ7B;;;;;OAKG;IACH,sBAAsB,CAAE,IAAI,EAAE,GAAG,GAAG,IAAI;IAwBxC;;;;;;;OAOG;IACH,kCAAkC,CAAE,UAAU,EAAE,UAAU,GAAG,MAAM,EAAE;IAKrE;;;;;;;OAOG;IACH,8BAA8B,CAAE,UAAU,EAAE,UAAU,GAAG,MAAM,EAAE;IAKjE;;;;;;;;;;;;;;;;;;OAkBG;IACH,OAAO,CAAC,yCAAyC;IAwLjD,OAAO,CAAC,mCAAmC;IAsC3C;;;;;;OAMG;IACH,OAAO,CAAC,6CAA6C;IAyBrD;;;;;;OAMG;IACH,OAAO,CAAC,kDAAkD;CAwB3D"}
1
+ {"version":3,"file":"expression-resolver.d.ts","sourceRoot":"","sources":["../../../src/extractor/parsers/expression-resolver.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAkD,MAAM,WAAW,CAAA;AAC3F,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAA;AAErD,qBAAa,kBAAkB;IAC7B,OAAO,CAAC,KAAK,CAAiB;IAK9B,OAAO,CAAC,aAAa,CAA4D;IAGjF,OAAO,CAAC,eAAe,CAAiD;IAIxE,OAAO,CAAC,cAAc,CAAmC;IAIzD,OAAO,CAAC,mBAAmB,CAAmC;IAI9D,OAAO,CAAC,oBAAoB,CAAmC;IAI/D,OAAO,CAAC,kBAAkB,CAAmC;gBAEhD,KAAK,EAAE,eAAe;IAInC;;OAEG;IACI,gBAAgB,IAAK,IAAI;IAMhC;;;;;;;;;OASG;IACH,yBAAyB,CAAE,IAAI,EAAE,GAAG,GAAG,IAAI;IAwI3C;;;;;;;OAOG;IACH,2BAA2B,CAAE,IAAI,EAAE,GAAG,GAAG,IAAI;IAkB7C;;;;;;;;;OASG;IACH,0BAA0B,CAAE,IAAI,EAAE,GAAG,GAAG,IAAI;IAoB5C;;;OAGG;IACH,OAAO,CAAC,qBAAqB;IAQ7B;;;;OAIG;IACI,oBAAoB,CAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,IAAI;IAIlE;;OAEG;IACI,uBAAuB,CAAE,IAAI,EAAE,MAAM,GAAG,IAAI;IAInD;;;OAGG;IACI,iBAAiB,CAAE,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,SAAS;IAQ7D;;;;;OAKG;IACH,sBAAsB,CAAE,IAAI,EAAE,GAAG,GAAG,IAAI;IAwBxC;;;;;;;OAOG;IACH,kCAAkC,CAAE,UAAU,EAAE,UAAU,GAAG,MAAM,EAAE;IAKrE;;;;;;;OAOG;IACH,8BAA8B,CAAE,UAAU,EAAE,UAAU,GAAG,MAAM,EAAE;IAKjE;;;;;;;;;;;;;;;;;;OAkBG;IACH,OAAO,CAAC,yCAAyC;IAgMjD,OAAO,CAAC,mCAAmC;IAsE3C;;;;;;OAMG;IACH,OAAO,CAAC,6CAA6C;IAyBrD;;;;;;OAMG;IACH,OAAO,CAAC,kDAAkD;CAwB3D"}
@@ -1,6 +1,6 @@
1
1
  import type { JSXElement } from '@swc/core';
2
- import type { PluginContext, I18nextToolkitConfig } from '../../types';
3
- import { ExpressionResolver } from './expression-resolver';
2
+ import type { PluginContext, I18nextToolkitConfig } from '../../types.js';
3
+ import { ExpressionResolver } from './expression-resolver.js';
4
4
  export declare class JSXHandler {
5
5
  private config;
6
6
  private pluginContext;
@@ -1 +1 @@
1
- {"version":3,"file":"jsx-handler.d.ts","sourceRoot":"","sources":["../../../src/extractor/parsers/jsx-handler.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAoB,MAAM,WAAW,CAAA;AAC7D,OAAO,KAAK,EAAE,aAAa,EAAE,oBAAoB,EAAgB,MAAM,aAAa,CAAA;AACpF,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAA;AAI1D,qBAAa,UAAU;IACrB,OAAO,CAAC,MAAM,CAAuC;IACrD,OAAO,CAAC,aAAa,CAAe;IACpC,OAAO,CAAC,kBAAkB,CAAoB;IAC9C,OAAO,CAAC,cAAc,CAAc;IACpC,OAAO,CAAC,cAAc,CAAc;gBAGlC,MAAM,EAAE,IAAI,CAAC,oBAAoB,EAAE,SAAS,CAAC,EAC7C,aAAa,EAAE,aAAa,EAC5B,kBAAkB,EAAE,kBAAkB,EACtC,cAAc,EAAE,MAAM,MAAM,EAC5B,cAAc,EAAE,MAAM,MAAM;IAS9B;;;;OAIG;IACH,OAAO,CAAC,mBAAmB;IAK3B;;;;;;;;OAQG;IACH,gBAAgB,CAAE,IAAI,EAAE,UAAU,EAAE,YAAY,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK;QAAE,SAAS,CAAC,EAAE,MAAM,CAAC;QAAC,SAAS,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,SAAS,GAAG,IAAI;IAwUjI;;;;;;;;;;;OAWG;IACH,OAAO,CAAC,0BAA0B;IAkIlC;;;;;;;;;OASG;IACH,OAAO,CAAC,cAAc;CAevB"}
1
+ {"version":3,"file":"jsx-handler.d.ts","sourceRoot":"","sources":["../../../src/extractor/parsers/jsx-handler.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAoB,MAAM,WAAW,CAAA;AAC7D,OAAO,KAAK,EAAE,aAAa,EAAE,oBAAoB,EAAgB,MAAM,gBAAgB,CAAA;AACvF,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAA;AAI7D,qBAAa,UAAU;IACrB,OAAO,CAAC,MAAM,CAAuC;IACrD,OAAO,CAAC,aAAa,CAAe;IACpC,OAAO,CAAC,kBAAkB,CAAoB;IAC9C,OAAO,CAAC,cAAc,CAAc;IACpC,OAAO,CAAC,cAAc,CAAc;gBAGlC,MAAM,EAAE,IAAI,CAAC,oBAAoB,EAAE,SAAS,CAAC,EAC7C,aAAa,EAAE,aAAa,EAC5B,kBAAkB,EAAE,kBAAkB,EACtC,cAAc,EAAE,MAAM,MAAM,EAC5B,cAAc,EAAE,MAAM,MAAM;IAS9B;;;;OAIG;IACH,OAAO,CAAC,mBAAmB;IAK3B;;;;;;;;OAQG;IACH,gBAAgB,CAAE,IAAI,EAAE,UAAU,EAAE,YAAY,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK;QAAE,SAAS,CAAC,EAAE,MAAM,CAAC;QAAC,SAAS,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,SAAS,GAAG,IAAI;IAwUjI;;;;;;;;;;;OAWG;IACH,OAAO,CAAC,0BAA0B;IAkIlC;;;;;;;;;OASG;IACH,OAAO,CAAC,cAAc;CAevB"}
@@ -1,5 +1,5 @@
1
1
  import type { Expression, JSXElement, ObjectExpression } from '@swc/core';
2
- import type { I18nextToolkitConfig } from '../../types';
2
+ import type { I18nextToolkitConfig } from '../../types.js';
3
3
  export interface ExtractedJSXAttributes {
4
4
  /** holds the raw key expression from the AST */
5
5
  keyExpression?: Expression;
@@ -1 +1 @@
1
- {"version":3,"file":"jsx-parser.d.ts","sourceRoot":"","sources":["../../../src/extractor/parsers/jsx-parser.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAsC,UAAU,EAAkD,gBAAgB,EAAE,MAAM,WAAW,CAAA;AAC7J,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAA;AAsEvD,MAAM,WAAW,sBAAsB;IACrC,gDAAgD;IAChD,aAAa,CAAC,EAAE,UAAU,CAAC;IAE3B,qDAAqD;IACrD,kBAAkB,EAAE,MAAM,CAAC;IAE3B,mDAAmD;IACnD,YAAY,CAAC,EAAE,MAAM,CAAC;IAEtB,8DAA8D;IAC9D,EAAE,CAAC,EAAE,MAAM,CAAC;IAEZ,oEAAoE;IACpE,QAAQ,CAAC,EAAE,OAAO,CAAC;IAEnB,0DAA0D;IAC1D,SAAS,CAAC,EAAE,OAAO,CAAC;IAEpB,8EAA8E;IAC9E,WAAW,CAAC,EAAE,gBAAgB,CAAC;IAE/B,mDAAmD;IACnD,iBAAiB,CAAC,EAAE,UAAU,CAAC;IAE/B,kHAAkH;IAClH,eAAe,CAAC,EAAE,OAAO,CAAC;CAC3B;AA4BD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AACH,wBAAgB,yBAAyB,CAAE,IAAI,EAAE,UAAU,EAAE,MAAM,EAAE,oBAAoB,GAAG,sBAAsB,GAAG,IAAI,CAkMxH"}
1
+ {"version":3,"file":"jsx-parser.d.ts","sourceRoot":"","sources":["../../../src/extractor/parsers/jsx-parser.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAsC,UAAU,EAAkD,gBAAgB,EAAE,MAAM,WAAW,CAAA;AAC7J,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAA;AAsE1D,MAAM,WAAW,sBAAsB;IACrC,gDAAgD;IAChD,aAAa,CAAC,EAAE,UAAU,CAAC;IAE3B,qDAAqD;IACrD,kBAAkB,EAAE,MAAM,CAAC;IAE3B,mDAAmD;IACnD,YAAY,CAAC,EAAE,MAAM,CAAC;IAEtB,8DAA8D;IAC9D,EAAE,CAAC,EAAE,MAAM,CAAC;IAEZ,oEAAoE;IACpE,QAAQ,CAAC,EAAE,OAAO,CAAC;IAEnB,0DAA0D;IAC1D,SAAS,CAAC,EAAE,OAAO,CAAC;IAEpB,8EAA8E;IAC9E,WAAW,CAAC,EAAE,gBAAgB,CAAC;IAE/B,mDAAmD;IACnD,iBAAiB,CAAC,EAAE,UAAU,CAAC;IAE/B,kHAAkH;IAClH,eAAe,CAAC,EAAE,OAAO,CAAC;CAC3B;AA4BD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AACH,wBAAgB,yBAAyB,CAAE,IAAI,EAAE,UAAU,EAAE,MAAM,EAAE,oBAAoB,GAAG,sBAAsB,GAAG,IAAI,CAkMxH"}
@@ -1,5 +1,5 @@
1
1
  import type { VariableDeclarator } from '@swc/core';
2
- import type { ScopeInfo, I18nextToolkitConfig } from '../../types';
2
+ import type { ScopeInfo, I18nextToolkitConfig } from '../../types.js';
3
3
  export declare class ScopeManager {
4
4
  private scopeStack;
5
5
  private config;
@@ -1 +1 @@
1
- {"version":3,"file":"scope-manager.d.ts","sourceRoot":"","sources":["../../../src/extractor/parsers/scope-manager.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAGV,kBAAkB,EAMnB,MAAM,WAAW,CAAA;AAClB,OAAO,KAAK,EAAE,SAAS,EAA4B,oBAAoB,EAAE,MAAM,aAAa,CAAA;AAG5F,qBAAa,YAAY;IACvB,OAAO,CAAC,UAAU,CAAoC;IACtD,OAAO,CAAC,MAAM,CAAuC;IACrD,OAAO,CAAC,KAAK,CAAqE;IAGlF,OAAO,CAAC,eAAe,CAAiC;IAGxD,OAAO,CAAC,qBAAqB,CAAiD;IAI9E,OAAO,CAAC,eAAe,CAAiC;IACxD,OAAO,CAAC,qBAAqB,CAAiD;gBAEjE,MAAM,EAAE,IAAI,CAAC,oBAAoB,EAAE,SAAS,CAAC;IAI1D;;;OAGG;IACH,OAAO,CAAC,MAAM,CAAC,kBAAkB;IAcjC;;;OAGG;IACH,OAAO,CAAC,MAAM,CAAC,+BAA+B;IAgB9C;;;;;;OAMG;IACI,KAAK,IAAK,IAAI;IAOrB;;;OAGG;IACH,UAAU,IAAK,IAAI;IAInB;;;OAGG;IACH,SAAS,IAAK,IAAI;IAIlB;;;;;;OAMG;IACH,aAAa,CAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,GAAG,IAAI;IAUnD;;;;;;OAMG;IACH,eAAe,CAAE,IAAI,EAAE,MAAM,GAAG,SAAS,GAAG,SAAS;IAkBrD,OAAO,CAAC,uBAAuB;IAoB/B;;OAEG;IACI,6BAA6B,CAAE,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS;IAIvE;;;OAGG;IACH,OAAO,CAAC,6BAA6B;IAqBrC;;;;;;;;;;OAUG;IACH,wBAAwB,CAAE,IAAI,EAAE,kBAAkB,GAAG,IAAI;IA0FzD;;;;;;;;OAQG;IACH,OAAO,CAAC,+BAA+B;IA0GvC;;;;;;;;;;;;;OAaG;IACH,OAAO,CAAC,8BAA8B;IAmFtC;;;;;;;;;;OAUG;IACH,OAAO,CAAC,yBAAyB;IAoBjC;;;;;;;;;OASG;IACH,OAAO,CAAC,qCAAqC;CAuB9C"}
1
+ {"version":3,"file":"scope-manager.d.ts","sourceRoot":"","sources":["../../../src/extractor/parsers/scope-manager.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAGV,kBAAkB,EAMnB,MAAM,WAAW,CAAA;AAClB,OAAO,KAAK,EAAE,SAAS,EAA4B,oBAAoB,EAAE,MAAM,gBAAgB,CAAA;AAG/F,qBAAa,YAAY;IACvB,OAAO,CAAC,UAAU,CAAoC;IACtD,OAAO,CAAC,MAAM,CAAuC;IACrD,OAAO,CAAC,KAAK,CAAqE;IAGlF,OAAO,CAAC,eAAe,CAAiC;IAGxD,OAAO,CAAC,qBAAqB,CAAiD;IAI9E,OAAO,CAAC,eAAe,CAAiC;IACxD,OAAO,CAAC,qBAAqB,CAAiD;gBAEjE,MAAM,EAAE,IAAI,CAAC,oBAAoB,EAAE,SAAS,CAAC;IAI1D;;;OAGG;IACH,OAAO,CAAC,MAAM,CAAC,kBAAkB;IAcjC;;;OAGG;IACH,OAAO,CAAC,MAAM,CAAC,+BAA+B;IAgB9C;;;;;;OAMG;IACI,KAAK,IAAK,IAAI;IAOrB;;;OAGG;IACH,UAAU,IAAK,IAAI;IAInB;;;OAGG;IACH,SAAS,IAAK,IAAI;IAIlB;;;;;;OAMG;IACH,aAAa,CAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,GAAG,IAAI;IAUnD;;;;;;OAMG;IACH,eAAe,CAAE,IAAI,EAAE,MAAM,GAAG,SAAS,GAAG,SAAS;IAkBrD,OAAO,CAAC,uBAAuB;IAoB/B;;OAEG;IACI,6BAA6B,CAAE,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS;IAIvE;;;OAGG;IACH,OAAO,CAAC,6BAA6B;IAqBrC;;;;;;;;;;OAUG;IACH,wBAAwB,CAAE,IAAI,EAAE,kBAAkB,GAAG,IAAI;IA0FzD;;;;;;;;OAQG;IACH,OAAO,CAAC,+BAA+B;IA0GvC;;;;;;;;;;;;;OAaG;IACH,OAAO,CAAC,8BAA8B;IAmFtC;;;;;;;;;;OAUG;IACH,OAAO,CAAC,yBAAyB;IAoBjC;;;;;;;;;OASG;IACH,OAAO,CAAC,qCAAqC;CAuB9C"}
@@ -1,4 +1,4 @@
1
- import type { ExtractedKey, PluginContext, I18nextToolkitConfig, Logger, Plugin } from '../types';
1
+ import type { ExtractedKey, PluginContext, I18nextToolkitConfig, Logger, Plugin } from '../types.js';
2
2
  /**
3
3
  * Error thrown when warnOnConflicts is set to 'error' and a key conflict is detected.
4
4
  * This error is intentionally not caught by the per-file error handler in the extractor.
@@ -1 +1 @@
1
- {"version":3,"file":"plugin-manager.d.ts","sourceRoot":"","sources":["../../src/extractor/plugin-manager.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,aAAa,EAAE,oBAAoB,EAAE,MAAM,EAAE,MAAM,EAAa,MAAM,UAAU,CAAA;AAE5G;;;GAGG;AACH,qBAAa,aAAc,SAAQ,KAAK;gBACzB,OAAO,EAAE,MAAM;CAI7B;AAED;;;;;;;;;;;;GAYG;AACH,wBAAsB,iBAAiB,CAAE,OAAO,EAAE,GAAG,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAItE;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAgB,mBAAmB,CACjC,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,YAAY,CAAC,EAClC,OAAO,EAAE,MAAM,EAAE,EACjB,MAAM,EAAE,IAAI,CAAC,oBAAoB,EAAE,SAAS,CAAC,EAC7C,MAAM,EAAE,MAAM,GACb,aAAa,CAiHf"}
1
+ {"version":3,"file":"plugin-manager.d.ts","sourceRoot":"","sources":["../../src/extractor/plugin-manager.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,aAAa,EAAE,oBAAoB,EAAE,MAAM,EAAE,MAAM,EAAa,MAAM,aAAa,CAAA;AAE/G;;;GAGG;AACH,qBAAa,aAAc,SAAQ,KAAK;gBACzB,OAAO,EAAE,MAAM;CAI7B;AAED;;;;;;;;;;;;GAYG;AACH,wBAAsB,iBAAiB,CAAE,OAAO,EAAE,GAAG,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAItE;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAgB,mBAAmB,CACjC,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,YAAY,CAAC,EAClC,OAAO,EAAE,MAAM,EAAE,EACjB,MAAM,EAAE,IAAI,CAAC,oBAAoB,EAAE,SAAS,CAAC,EAC7C,MAAM,EAAE,MAAM,GACb,aAAa,CAiHf"}
@@ -1,7 +1,7 @@
1
- import { runExtractor, extract } from './extractor/core/extractor';
2
- import { findKeys } from './extractor/core/key-finder';
3
- import { getTranslations } from './extractor/core/translation-manager';
4
- import { ASTVisitors } from './extractor/core/ast-visitors';
5
- import type { PluginContext } from './types';
1
+ import { runExtractor, extract } from './extractor/core/extractor.js';
2
+ import { findKeys } from './extractor/core/key-finder.js';
3
+ import { getTranslations } from './extractor/core/translation-manager.js';
4
+ import { ASTVisitors } from './extractor/core/ast-visitors.js';
5
+ import type { PluginContext } from './types.js';
6
6
  export { runExtractor, extract, findKeys, getTranslations, ASTVisitors, PluginContext, };
7
7
  //# sourceMappingURL=extractor.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"extractor.d.ts","sourceRoot":"","sources":["../src/extractor.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAA;AAClE,OAAO,EAAE,QAAQ,EAAE,MAAM,6BAA6B,CAAA;AACtD,OAAO,EAAE,eAAe,EAAE,MAAM,sCAAsC,CAAA;AACtE,OAAO,EAAE,WAAW,EAAE,MAAM,+BAA+B,CAAA;AAC3D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,SAAS,CAAA;AAE5C,OAAO,EACL,YAAY,EACZ,OAAO,EACP,QAAQ,EACR,eAAe,EACf,WAAW,EACX,aAAa,GACd,CAAA"}
1
+ {"version":3,"file":"extractor.d.ts","sourceRoot":"","sources":["../src/extractor.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,OAAO,EAAE,MAAM,+BAA+B,CAAA;AACrE,OAAO,EAAE,QAAQ,EAAE,MAAM,gCAAgC,CAAA;AACzD,OAAO,EAAE,eAAe,EAAE,MAAM,yCAAyC,CAAA;AACzE,OAAO,EAAE,WAAW,EAAE,MAAM,kCAAkC,CAAA;AAC9D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAA;AAE/C,OAAO,EACL,YAAY,EACZ,OAAO,EACP,QAAQ,EACR,eAAe,EACf,WAAW,EACX,aAAa,GACd,CAAA"}
@@ -1,4 +1,4 @@
1
- import type { I18nextToolkitConfig } from './types';
1
+ import type { I18nextToolkitConfig } from './types.js';
2
2
  /**
3
3
  * Attempts to automatically detect the project's i18n structure by searching for
4
4
  * common translation file locations.
@@ -1 +1 @@
1
- {"version":3,"file":"heuristic-config.d.ts","sourceRoot":"","sources":["../src/heuristic-config.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,SAAS,CAAA;AA+CnD;;;;;;GAMG;AACH,wBAAsB,YAAY,IAAK,OAAO,CAAC,OAAO,CAAC,oBAAoB,CAAC,GAAG,IAAI,CAAC,CA6DnF"}
1
+ {"version":3,"file":"heuristic-config.d.ts","sourceRoot":"","sources":["../src/heuristic-config.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAA;AA+CtD;;;;;;GAMG;AACH,wBAAsB,YAAY,IAAK,OAAO,CAAC,OAAO,CAAC,oBAAoB,CAAC,GAAG,IAAI,CAAC,CA6DnF"}
package/types/index.d.ts CHANGED
@@ -1,10 +1,10 @@
1
- export type { I18nextToolkitConfig, Plugin, LinterPlugin, InstrumenterPlugin, LintPluginContext, LintIssue, PluginContext, ExtractedKey, TranslationResult, ExtractedKeysMap, RenameKeyResult, Logger, InstrumenterOptions, CandidateString, TransformResult, FileInstrumentationResult, InstrumentationResults, ComponentBoundary, FileScanResult, CustomCandidateScorer, InstrumentPluginContext } from './types';
2
- export { defineConfig } from './config';
3
- export { extract, findKeys, getTranslations, runExtractor } from './extractor';
4
- export { runLinter, recommendedAcceptedTags, recommendedAcceptedAttributes } from './linter';
5
- export { runSyncer } from './syncer';
6
- export { runStatus } from './status';
7
- export { runTypesGenerator } from './types-generator';
8
- export { runRenameKey } from './rename-key';
9
- export { runInstrumenter, writeExtractedKeys } from './instrumenter';
1
+ export type { I18nextToolkitConfig, Plugin, LinterPlugin, InstrumenterPlugin, LintPluginContext, LintIssue, PluginContext, ExtractedKey, TranslationResult, ExtractedKeysMap, RenameKeyResult, Logger, InstrumenterOptions, CandidateString, TransformResult, FileInstrumentationResult, InstrumentationResults, ComponentBoundary, FileScanResult, CustomCandidateScorer, InstrumentPluginContext } from './types.js';
2
+ export { defineConfig } from './config.js';
3
+ export { extract, findKeys, getTranslations, runExtractor } from './extractor.js';
4
+ export { runLinter, recommendedAcceptedTags, recommendedAcceptedAttributes } from './linter.js';
5
+ export { runSyncer } from './syncer.js';
6
+ export { runStatus } from './status.js';
7
+ export { runTypesGenerator } from './types-generator.js';
8
+ export { runRenameKey } from './rename-key.js';
9
+ export { runInstrumenter, writeExtractedKeys } from './instrumenter/index.js';
10
10
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,YAAY,EACV,oBAAoB,EACpB,MAAM,EACN,YAAY,EACZ,kBAAkB,EAClB,iBAAiB,EACjB,SAAS,EACT,aAAa,EACb,YAAY,EACZ,iBAAiB,EACjB,gBAAgB,EAChB,eAAe,EACf,MAAM,EACN,mBAAmB,EACnB,eAAe,EACf,eAAe,EACf,yBAAyB,EACzB,sBAAsB,EACtB,iBAAiB,EACjB,cAAc,EACd,qBAAqB,EACrB,uBAAuB,EACxB,MAAM,SAAS,CAAA;AAChB,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAA;AACvC,OAAO,EACL,OAAO,EACP,QAAQ,EACR,eAAe,EACf,YAAY,EACb,MAAM,aAAa,CAAA;AAEpB,OAAO,EAAE,SAAS,EAAE,uBAAuB,EAAE,6BAA6B,EAAE,MAAM,UAAU,CAAA;AAC5F,OAAO,EAAE,SAAS,EAAE,MAAM,UAAU,CAAA;AACpC,OAAO,EAAE,SAAS,EAAE,MAAM,UAAU,CAAA;AACpC,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAA;AACrD,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAA;AAC3C,OAAO,EAAE,eAAe,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,YAAY,EACV,oBAAoB,EACpB,MAAM,EACN,YAAY,EACZ,kBAAkB,EAClB,iBAAiB,EACjB,SAAS,EACT,aAAa,EACb,YAAY,EACZ,iBAAiB,EACjB,gBAAgB,EAChB,eAAe,EACf,MAAM,EACN,mBAAmB,EACnB,eAAe,EACf,eAAe,EACf,yBAAyB,EACzB,sBAAsB,EACtB,iBAAiB,EACjB,cAAc,EACd,qBAAqB,EACrB,uBAAuB,EACxB,MAAM,YAAY,CAAA;AACnB,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAC1C,OAAO,EACL,OAAO,EACP,QAAQ,EACR,eAAe,EACf,YAAY,EACb,MAAM,gBAAgB,CAAA;AAEvB,OAAO,EAAE,SAAS,EAAE,uBAAuB,EAAE,6BAA6B,EAAE,MAAM,aAAa,CAAA;AAC/F,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AACvC,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AACvC,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAA;AACxD,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAA;AAC9C,OAAO,EAAE,eAAe,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAA"}
@@ -1,4 +1,4 @@
1
- import type { Logger, I18nextToolkitConfig, InstrumenterOptions, CandidateString, InstrumentationResults } from '../../types';
1
+ import type { Logger, I18nextToolkitConfig, InstrumenterOptions, CandidateString, InstrumentationResults } from '../../types.js';
2
2
  /**
3
3
  * Main orchestrator for the instrument command.
4
4
  * Scans source files for hardcoded strings and instruments them with i18next calls.
@@ -1 +1 @@
1
- {"version":3,"file":"instrumenter.d.ts","sourceRoot":"","sources":["../../../src/instrumenter/core/instrumenter.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,MAAM,EAAE,oBAAoB,EAAE,mBAAmB,EAAE,eAAe,EAA6B,sBAAsB,EAAiE,MAAM,aAAa,CAAA;AAUvN;;;;;;;;GAQG;AACH,wBAAsB,eAAe,CACnC,MAAM,EAAE,oBAAoB,EAC5B,OAAO,EAAE,mBAAmB,EAC5B,MAAM,GAAE,MAA4B,GACnC,OAAO,CAAC,sBAAsB,CAAC,CAoNjC;AA4wDD;;GAEG;AACH,wBAAsB,kBAAkB,CACtC,UAAU,EAAE,eAAe,EAAE,EAC7B,MAAM,EAAE,oBAAoB,EAC5B,SAAS,CAAC,EAAE,MAAM,EAClB,MAAM,GAAE,MAA4B,GACnC,OAAO,CAAC,IAAI,CAAC,CAoDf"}
1
+ {"version":3,"file":"instrumenter.d.ts","sourceRoot":"","sources":["../../../src/instrumenter/core/instrumenter.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,MAAM,EAAE,oBAAoB,EAAE,mBAAmB,EAAE,eAAe,EAA6B,sBAAsB,EAAiE,MAAM,gBAAgB,CAAA;AAU1N;;;;;;;;GAQG;AACH,wBAAsB,eAAe,CACnC,MAAM,EAAE,oBAAoB,EAC5B,OAAO,EAAE,mBAAmB,EAC5B,MAAM,GAAE,MAA4B,GACnC,OAAO,CAAC,sBAAsB,CAAC,CAoNjC;AA4wDD;;GAEG;AACH,wBAAsB,kBAAkB,CACtC,UAAU,EAAE,eAAe,EAAE,EAC7B,MAAM,EAAE,oBAAoB,EAC5B,SAAS,CAAC,EAAE,MAAM,EAClB,MAAM,GAAE,MAA4B,GACnC,OAAO,CAAC,IAAI,CAAC,CAoDf"}
@@ -1,4 +1,4 @@
1
- import type { I18nextToolkitConfig, CandidateString } from '../../types';
1
+ import type { I18nextToolkitConfig, CandidateString } from '../../types.js';
2
2
  /**
3
3
  * Detects if a string is a candidate for translation based on confidence heuristics.
4
4
  * Returns null if the string should be skipped, otherwise returns a CandidateString
@@ -1 +1 @@
1
- {"version":3,"file":"string-detector.d.ts","sourceRoot":"","sources":["../../../src/instrumenter/core/string-detector.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,eAAe,EAAE,MAAM,aAAa,CAAA;AAIxE;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,wBAAgB,eAAe,CAC7B,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,MAAM,EACjB,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,IAAI,CAAC,oBAAoB,EAAE,SAAS,CAAC,GAC5C,eAAe,GAAG,IAAI,CAgDxB"}
1
+ {"version":3,"file":"string-detector.d.ts","sourceRoot":"","sources":["../../../src/instrumenter/core/string-detector.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAA;AAI3E;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,wBAAgB,eAAe,CAC7B,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,MAAM,EACjB,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,IAAI,CAAC,oBAAoB,EAAE,SAAS,CAAC,GAC5C,eAAe,GAAG,IAAI,CAgDxB"}