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,80 @@
1
- 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(t,r){return e(t,r)?.value??t.properties.find(e=>"Identifier"===e.type&&e.value===r)}function r(e){return 1===e.quasis.length&&0===e.expressions.length&&null!=e.quasis[0].cooked}function i(t,i){const n=e(t,i);if("KeyValueProperty"===n?.type){const e=n.value;return"StringLiteral"===e.type?e.value:"TemplateLiteral"===e.type&&r(e)?e.quasis[0].cooked:"BooleanLiteral"===e.type||"NumericLiteral"===e.type?e.value:""}}export{i as getObjectPropValue,t as getObjectPropValueExpression,e as getObjectProperty,r as isSimpleTemplateLiteral};
1
+ /**
2
+ * Finds and returns the full property node (KeyValueProperty) for the given
3
+ * property name from an ObjectExpression.
4
+ *
5
+ * Matches both identifier keys (e.g., { ns: 'value' }) and string literal keys
6
+ * (e.g., { 'ns': 'value' }).
7
+ *
8
+ * This helper returns the full property node rather than just its primitive
9
+ * value so callers can inspect expression types (ConditionalExpression, etc.).
10
+ *
11
+ * @private
12
+ * @param object - The SWC ObjectExpression to search
13
+ * @param propName - The property name to locate
14
+ * @returns The matching KeyValueProperty node if found, otherwise undefined.
15
+ */
16
+ function getObjectProperty(object, propName) {
17
+ return (object.properties).filter((p) => p.type === 'KeyValueProperty')
18
+ .find((p) => ((p.key?.type === 'Identifier' && p.key.value === propName) ||
19
+ (p.key?.type === 'StringLiteral' && p.key.value === propName)));
20
+ }
21
+ /**
22
+ * Finds and returns the value node for the given property name from an ObjectExpression.
23
+ *
24
+ * Matches both identifier keys (e.g., { ns: 'value' }), string literal keys
25
+ * (e.g., { 'ns': 'value' }) and shorthand properties (e.g., { ns }).
26
+ *
27
+ * This helper returns the full value node rather than just its primitive
28
+ * value so callers can inspect expression types (ConditionalExpression, etc.).
29
+ *
30
+ * @private
31
+ * @param object - The SWC ObjectExpression to search
32
+ * @param propName - The property name to locate
33
+ * @returns The matching value node if found, otherwise undefined.
34
+ */
35
+ function getObjectPropValueExpression(object, propName) {
36
+ return getObjectProperty(object, propName)?.value ?? (object.properties).find(
37
+ // For shorthand properties like { ns }.
38
+ (p) => p.type === 'Identifier' && p.value === propName);
39
+ }
40
+ /**
41
+ * Checks if the given template literal has no interpolation expressions
42
+ *
43
+ * @param literal - Template literal to check
44
+ * @returns Boolean true if the literal has no expressions and can be parsed (no invalid escapes), false otherwise
45
+ *
46
+ * @private
47
+ */
48
+ function isSimpleTemplateLiteral(literal) {
49
+ return literal.quasis.length === 1 && literal.expressions.length === 0 && literal.quasis[0].cooked != null;
50
+ }
51
+ /**
52
+ * Extracts string value from object property.
53
+ *
54
+ * Looks for properties by name and returns their string values.
55
+ * Used for extracting options like 'ns', 'defaultValue', 'context', etc.
56
+ *
57
+ * @param object - Object expression to search
58
+ * @param propName - Property name to find
59
+ * @returns String value if found, empty string if property exists but isn't a string, undefined if not found
60
+ *
61
+ * @private
62
+ */
63
+ function getObjectPropValue(object, propName) {
64
+ const prop = getObjectProperty(object, propName);
65
+ if (prop?.type === 'KeyValueProperty') {
66
+ const val = prop.value;
67
+ if (val.type === 'StringLiteral')
68
+ return val.value;
69
+ if (val.type === 'TemplateLiteral' && isSimpleTemplateLiteral(val))
70
+ return val.quasis[0].cooked;
71
+ if (val.type === 'BooleanLiteral')
72
+ return val.value;
73
+ if (val.type === 'NumericLiteral')
74
+ return val.value;
75
+ return ''; // Indicate presence for other types
76
+ }
77
+ return undefined;
78
+ }
79
+
80
+ export { getObjectPropValue, getObjectPropValueExpression, getObjectProperty, isSimpleTemplateLiteral };