i18next-cli 1.34.0 → 1.34.1

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 (63) hide show
  1. package/README.md +1 -1
  2. package/dist/cjs/cli.js +271 -1
  3. package/dist/cjs/config.js +211 -1
  4. package/dist/cjs/extractor/core/ast-visitors.js +364 -1
  5. package/dist/cjs/extractor/core/extractor.js +245 -1
  6. package/dist/cjs/extractor/core/key-finder.js +132 -1
  7. package/dist/cjs/extractor/core/translation-manager.js +745 -1
  8. package/dist/cjs/extractor/parsers/ast-utils.js +85 -1
  9. package/dist/cjs/extractor/parsers/call-expression-handler.js +941 -1
  10. package/dist/cjs/extractor/parsers/comment-parser.js +375 -1
  11. package/dist/cjs/extractor/parsers/expression-resolver.js +362 -1
  12. package/dist/cjs/extractor/parsers/jsx-handler.js +492 -1
  13. package/dist/cjs/extractor/parsers/jsx-parser.js +355 -1
  14. package/dist/cjs/extractor/parsers/scope-manager.js +408 -1
  15. package/dist/cjs/extractor/plugin-manager.js +106 -1
  16. package/dist/cjs/heuristic-config.js +99 -1
  17. package/dist/cjs/index.js +28 -1
  18. package/dist/cjs/init.js +174 -1
  19. package/dist/cjs/linter.js +431 -1
  20. package/dist/cjs/locize.js +269 -1
  21. package/dist/cjs/migrator.js +196 -1
  22. package/dist/cjs/rename-key.js +354 -1
  23. package/dist/cjs/status.js +336 -1
  24. package/dist/cjs/syncer.js +120 -1
  25. package/dist/cjs/types-generator.js +165 -1
  26. package/dist/cjs/utils/default-value.js +43 -1
  27. package/dist/cjs/utils/file-utils.js +136 -1
  28. package/dist/cjs/utils/funnel-msg-tracker.js +75 -1
  29. package/dist/cjs/utils/logger.js +36 -1
  30. package/dist/cjs/utils/nested-object.js +124 -1
  31. package/dist/cjs/utils/validation.js +71 -1
  32. package/dist/esm/cli.js +269 -1
  33. package/dist/esm/config.js +206 -1
  34. package/dist/esm/extractor/core/ast-visitors.js +362 -1
  35. package/dist/esm/extractor/core/extractor.js +241 -1
  36. package/dist/esm/extractor/core/key-finder.js +130 -1
  37. package/dist/esm/extractor/core/translation-manager.js +743 -1
  38. package/dist/esm/extractor/parsers/ast-utils.js +80 -1
  39. package/dist/esm/extractor/parsers/call-expression-handler.js +939 -1
  40. package/dist/esm/extractor/parsers/comment-parser.js +373 -1
  41. package/dist/esm/extractor/parsers/expression-resolver.js +360 -1
  42. package/dist/esm/extractor/parsers/jsx-handler.js +490 -1
  43. package/dist/esm/extractor/parsers/jsx-parser.js +334 -1
  44. package/dist/esm/extractor/parsers/scope-manager.js +406 -1
  45. package/dist/esm/extractor/plugin-manager.js +103 -1
  46. package/dist/esm/heuristic-config.js +97 -1
  47. package/dist/esm/index.js +11 -1
  48. package/dist/esm/init.js +172 -1
  49. package/dist/esm/linter.js +425 -1
  50. package/dist/esm/locize.js +265 -1
  51. package/dist/esm/migrator.js +194 -1
  52. package/dist/esm/rename-key.js +352 -1
  53. package/dist/esm/status.js +334 -1
  54. package/dist/esm/syncer.js +118 -1
  55. package/dist/esm/types-generator.js +163 -1
  56. package/dist/esm/utils/default-value.js +41 -1
  57. package/dist/esm/utils/file-utils.js +131 -1
  58. package/dist/esm/utils/funnel-msg-tracker.js +72 -1
  59. package/dist/esm/utils/logger.js +34 -1
  60. package/dist/esm/utils/nested-object.js +120 -1
  61. package/dist/esm/utils/validation.js +68 -1
  62. package/package.json +2 -2
  63. package/types/locize.d.ts.map +1 -1
@@ -1 +1,85 @@
1
- "use strict";function e(e,t){return e.properties.filter(e=>"KeyValueProperty"===e.type).find(e=>"Identifier"===e.key?.type&&e.key.value===t||"StringLiteral"===e.key?.type&&e.key.value===t)}function t(e){return 1===e.quasis.length&&0===e.expressions.length&&null!=e.quasis[0].cooked}exports.getObjectPropValue=function(r,i){const p=e(r,i);if("KeyValueProperty"===p?.type){const e=p.value;return"StringLiteral"===e.type?e.value:"TemplateLiteral"===e.type&&t(e)?e.quasis[0].cooked:"BooleanLiteral"===e.type||"NumericLiteral"===e.type?e.value:""}},exports.getObjectPropValueExpression=function(t,r){return e(t,r)?.value??t.properties.find(e=>"Identifier"===e.type&&e.value===r)},exports.getObjectProperty=e,exports.isSimpleTemplateLiteral=t;
1
+ 'use strict';
2
+
3
+ /**
4
+ * Finds and returns the full property node (KeyValueProperty) for the given
5
+ * property name from an ObjectExpression.
6
+ *
7
+ * Matches both identifier keys (e.g., { ns: 'value' }) and string literal keys
8
+ * (e.g., { 'ns': 'value' }).
9
+ *
10
+ * This helper returns the full property node rather than just its primitive
11
+ * value so callers can inspect expression types (ConditionalExpression, etc.).
12
+ *
13
+ * @private
14
+ * @param object - The SWC ObjectExpression to search
15
+ * @param propName - The property name to locate
16
+ * @returns The matching KeyValueProperty node if found, otherwise undefined.
17
+ */
18
+ function getObjectProperty(object, propName) {
19
+ return (object.properties).filter((p) => p.type === 'KeyValueProperty')
20
+ .find((p) => ((p.key?.type === 'Identifier' && p.key.value === propName) ||
21
+ (p.key?.type === 'StringLiteral' && p.key.value === propName)));
22
+ }
23
+ /**
24
+ * Finds and returns the value node for the given property name from an ObjectExpression.
25
+ *
26
+ * Matches both identifier keys (e.g., { ns: 'value' }), string literal keys
27
+ * (e.g., { 'ns': 'value' }) and shorthand properties (e.g., { ns }).
28
+ *
29
+ * This helper returns the full value node rather than just its primitive
30
+ * value so callers can inspect expression types (ConditionalExpression, etc.).
31
+ *
32
+ * @private
33
+ * @param object - The SWC ObjectExpression to search
34
+ * @param propName - The property name to locate
35
+ * @returns The matching value node if found, otherwise undefined.
36
+ */
37
+ function getObjectPropValueExpression(object, propName) {
38
+ return getObjectProperty(object, propName)?.value ?? (object.properties).find(
39
+ // For shorthand properties like { ns }.
40
+ (p) => p.type === 'Identifier' && p.value === propName);
41
+ }
42
+ /**
43
+ * Checks if the given template literal has no interpolation expressions
44
+ *
45
+ * @param literal - Template literal to check
46
+ * @returns Boolean true if the literal has no expressions and can be parsed (no invalid escapes), false otherwise
47
+ *
48
+ * @private
49
+ */
50
+ function isSimpleTemplateLiteral(literal) {
51
+ return literal.quasis.length === 1 && literal.expressions.length === 0 && literal.quasis[0].cooked != null;
52
+ }
53
+ /**
54
+ * Extracts string value from object property.
55
+ *
56
+ * Looks for properties by name and returns their string values.
57
+ * Used for extracting options like 'ns', 'defaultValue', 'context', etc.
58
+ *
59
+ * @param object - Object expression to search
60
+ * @param propName - Property name to find
61
+ * @returns String value if found, empty string if property exists but isn't a string, undefined if not found
62
+ *
63
+ * @private
64
+ */
65
+ function getObjectPropValue(object, propName) {
66
+ const prop = getObjectProperty(object, propName);
67
+ if (prop?.type === 'KeyValueProperty') {
68
+ const val = prop.value;
69
+ if (val.type === 'StringLiteral')
70
+ return val.value;
71
+ if (val.type === 'TemplateLiteral' && isSimpleTemplateLiteral(val))
72
+ return val.quasis[0].cooked;
73
+ if (val.type === 'BooleanLiteral')
74
+ return val.value;
75
+ if (val.type === 'NumericLiteral')
76
+ return val.value;
77
+ return ''; // Indicate presence for other types
78
+ }
79
+ return undefined;
80
+ }
81
+
82
+ exports.getObjectPropValue = getObjectPropValue;
83
+ exports.getObjectPropValueExpression = getObjectPropValueExpression;
84
+ exports.getObjectProperty = getObjectProperty;
85
+ exports.isSimpleTemplateLiteral = isSimpleTemplateLiteral;