@localey/react 0.1.12 → 0.1.14

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":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAS5E,qBAAa,YAAa,SAAQ,gBAAgB;IAChD,IAAI,SAAW;IACf,UAAU,WAAkC;IAE5C,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,UAAU,EAAE;IAoDrD,OAAO,CACL,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,MAAM,EAChB,YAAY,EAAE,KAAK,CAAC;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAA;KAAE,CAAC,GACvE,aAAa;CA2CjB"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAS5E,qBAAa,YAAa,SAAQ,gBAAgB;IAChD,IAAI,SAAW;IACf,UAAU,WAAkC;IAE5C,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,UAAU,EAAE;IAqFrD,OAAO,CACL,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,MAAM,EAChB,YAAY,EAAE,KAAK,CAAC;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAA;KAAE,CAAC,GACvE,aAAa;CAuDjB"}
package/dist/index.js CHANGED
@@ -27,6 +27,20 @@ export class ReactAdapter extends FrameworkAdapter {
27
27
  });
28
28
  }
29
29
  },
30
+ JSXExpressionContainer(path) {
31
+ if (path.node.expression.type === "StringLiteral") {
32
+ const value = path.node.expression.value.trim();
33
+ if (value) {
34
+ results.push({
35
+ file: filePath,
36
+ line: path.node.expression.loc?.start.line || 0,
37
+ column: path.node.expression.loc?.start.column || 0,
38
+ value,
39
+ context: "JSXExpressionContainer",
40
+ });
41
+ }
42
+ }
43
+ },
30
44
  JSXAttribute(path) {
31
45
  const blacklist = [
32
46
  "className",
@@ -50,6 +64,22 @@ export class ReactAdapter extends FrameworkAdapter {
50
64
  context: `JSXAttribute:${attrName}`,
51
65
  });
52
66
  }
67
+ else if (path.node.value?.type === "JSXExpressionContainer" &&
68
+ path.node.value.expression.type === "StringLiteral") {
69
+ results.push({
70
+ file: filePath,
71
+ line: path.node.value.expression.loc?.start.line || 0,
72
+ column: path.node.value.expression.loc?.start.column || 0,
73
+ value: path.node.value.expression.value,
74
+ context: `JSXAttributeExpression:${attrName}`,
75
+ });
76
+ }
77
+ },
78
+ CallExpression(path) {
79
+ if (path.node.callee.type === "Identifier" &&
80
+ path.node.callee.name === "t") {
81
+ path.skip();
82
+ }
53
83
  },
54
84
  });
55
85
  return results;
@@ -71,6 +101,18 @@ export class ReactAdapter extends FrameworkAdapter {
71
101
  keys[replacement.key] = replacement.oldValue;
72
102
  }
73
103
  },
104
+ JSXExpressionContainer(path) {
105
+ if (path.node.expression.type === "StringLiteral") {
106
+ const value = path.node.expression.value.trim();
107
+ const replacement = replacements.find((r) => r.oldValue === value);
108
+ if (replacement) {
109
+ path.node.expression = t.callExpression(t.identifier("t"), [
110
+ t.stringLiteral(replacement.key),
111
+ ]);
112
+ keys[replacement.key] = replacement.oldValue;
113
+ }
114
+ }
115
+ },
74
116
  JSXAttribute(path) {
75
117
  if (path.node.value?.type === "StringLiteral") {
76
118
  const value = path.node.value.value;
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAA6B,MAAM,eAAe,CAAC;AAC5E,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAO,SAAuB,MAAM,iBAAiB,CAAC;AACtD,OAAO,SAAS,MAAM,kBAAkB,CAAC;AACzC,OAAO,KAAK,CAAC,MAAM,cAAc,CAAC;AAElC,MAAM,QAAQ,GAAI,SAAiB,CAAC,OAAO,IAAI,SAAS,CAAC;AACzD,MAAM,QAAQ,GAAI,SAAiB,CAAC,OAAO,IAAI,SAAS,CAAC;AAEzD,MAAM,OAAO,YAAa,SAAQ,gBAAgB;IAChD,IAAI,GAAG,OAAO,CAAC;IACf,UAAU,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;IAE5C,IAAI,CAAC,OAAe,EAAE,QAAgB;QACpC,MAAM,OAAO,GAAiB,EAAE,CAAC;QACjC,MAAM,GAAG,GAAG,MAAM,CAAC,KAAK,CAAC,OAAO,EAAE;YAChC,UAAU,EAAE,QAAQ;YACpB,OAAO,EAAE,CAAC,KAAK,EAAE,YAAY,CAAC;SAC/B,CAAC,CAAC;QAEH,QAAQ,CAAC,GAAG,EAAE;YACZ,OAAO,CAAC,IAAyB;gBAC/B,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;gBACrC,IAAI,KAAK,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;oBACzC,OAAO,CAAC,IAAI,CAAC;wBACX,IAAI,EAAE,QAAQ;wBACd,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,IAAI,CAAC;wBACpC,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,MAAM,IAAI,CAAC;wBACxC,KAAK;wBACL,OAAO,EAAE,SAAS;qBACnB,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;YACD,YAAY,CAAC,IAA8B;gBACzC,MAAM,SAAS,GAAG;oBAChB,WAAW;oBACX,OAAO;oBACP,IAAI;oBACJ,KAAK;oBACL,KAAK;oBACL,MAAM;oBACN,KAAK;oBACL,MAAM;iBACP,CAAC;gBACF,MAAM,QAAQ,GAAG,CACf,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,KAAK,eAAe,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CACzD,CAAC;gBAEZ,IAAI,SAAS,CAAC,QAAQ,CAAC,QAAQ,CAAC;oBAAE,OAAO;gBAEzC,IAAI,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,KAAK,eAAe,EAAE,CAAC;oBAC9C,OAAO,CAAC,IAAI,CAAC;wBACX,IAAI,EAAE,QAAQ;wBACd,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,IAAI,CAAC;wBAC1C,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,KAAK,CAAC,MAAM,IAAI,CAAC;wBAC9C,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK;wBAC5B,OAAO,EAAE,gBAAgB,QAAQ,EAAE;qBACpC,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;SACF,CAAC,CAAC;QAEH,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,OAAO,CACL,OAAe,EACf,QAAgB,EAChB,YAAwE;QAExE,MAAM,GAAG,GAAG,MAAM,CAAC,KAAK,CAAC,OAAO,EAAE;YAChC,UAAU,EAAE,QAAQ;YACpB,OAAO,EAAE,CAAC,KAAK,EAAE,YAAY,CAAC;SAC/B,CAAC,CAAC;QAEH,MAAM,IAAI,GAA2B,EAAE,CAAC;QAExC,QAAQ,CAAC,GAAG,EAAE;YACZ,OAAO,CAAC,IAAyB;gBAC/B,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;gBACrC,MAAM,WAAW,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,KAAK,CAAC,CAAC;gBACnE,IAAI,WAAW,EAAE,CAAC;oBAChB,IAAI,CAAC,WAAW,CACd,CAAC,CAAC,sBAAsB,CACtB,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE;wBAClC,CAAC,CAAC,aAAa,CAAC,WAAW,CAAC,GAAG,CAAC;qBACjC,CAAC,CACH,CACF,CAAC;oBACF,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,GAAG,WAAW,CAAC,QAAQ,CAAC;gBAC/C,CAAC;YACH,CAAC;YACD,YAAY,CAAC,IAA8B;gBACzC,IAAI,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,KAAK,eAAe,EAAE,CAAC;oBAC9C,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC;oBACpC,MAAM,WAAW,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,KAAK,CAAC,CAAC;oBACnE,IAAI,WAAW,EAAE,CAAC;wBAChB,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,sBAAsB,CACxC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE;4BAClC,CAAC,CAAC,aAAa,CAAC,WAAW,CAAC,GAAG,CAAC;yBACjC,CAAC,CACH,CAAC;wBACF,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,GAAG,WAAW,CAAC,QAAQ,CAAC;oBAC/C,CAAC;gBACH,CAAC;YACH,CAAC;SACF,CAAC,CAAC;QAEH,MAAM,EAAE,IAAI,EAAE,GAAG,QAAQ,CAAC,GAAG,EAAE,EAAE,EAAE,OAAO,CAAC,CAAC;QAE5C,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;IACxB,CAAC;CACF"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@localey/react",
3
- "version": "0.1.12",
3
+ "version": "0.1.14",
4
4
  "type": "module",
5
5
  "main": "./dist/index.js",
6
6
  "dependencies": {
package/src/index.ts CHANGED
@@ -31,6 +31,20 @@ export class ReactAdapter extends FrameworkAdapter {
31
31
  });
32
32
  }
33
33
  },
34
+ JSXExpressionContainer(path: NodePath<t.JSXExpressionContainer>) {
35
+ if (path.node.expression.type === "StringLiteral") {
36
+ const value = path.node.expression.value.trim();
37
+ if (value) {
38
+ results.push({
39
+ file: filePath,
40
+ line: path.node.expression.loc?.start.line || 0,
41
+ column: path.node.expression.loc?.start.column || 0,
42
+ value,
43
+ context: "JSXExpressionContainer",
44
+ });
45
+ }
46
+ }
47
+ },
34
48
  JSXAttribute(path: NodePath<t.JSXAttribute>) {
35
49
  const blacklist = [
36
50
  "className",
@@ -56,6 +70,25 @@ export class ReactAdapter extends FrameworkAdapter {
56
70
  value: path.node.value.value,
57
71
  context: `JSXAttribute:${attrName}`,
58
72
  });
73
+ } else if (
74
+ path.node.value?.type === "JSXExpressionContainer" &&
75
+ path.node.value.expression.type === "StringLiteral"
76
+ ) {
77
+ results.push({
78
+ file: filePath,
79
+ line: path.node.value.expression.loc?.start.line || 0,
80
+ column: path.node.value.expression.loc?.start.column || 0,
81
+ value: path.node.value.expression.value,
82
+ context: `JSXAttributeExpression:${attrName}`,
83
+ });
84
+ }
85
+ },
86
+ CallExpression(path: NodePath<t.CallExpression>) {
87
+ if (
88
+ path.node.callee.type === "Identifier" &&
89
+ path.node.callee.name === "t"
90
+ ) {
91
+ path.skip();
59
92
  }
60
93
  },
61
94
  });
@@ -90,6 +123,18 @@ export class ReactAdapter extends FrameworkAdapter {
90
123
  keys[replacement.key] = replacement.oldValue;
91
124
  }
92
125
  },
126
+ JSXExpressionContainer(path: NodePath<t.JSXExpressionContainer>) {
127
+ if (path.node.expression.type === "StringLiteral") {
128
+ const value = path.node.expression.value.trim();
129
+ const replacement = replacements.find((r) => r.oldValue === value);
130
+ if (replacement) {
131
+ path.node.expression = t.callExpression(t.identifier("t"), [
132
+ t.stringLiteral(replacement.key),
133
+ ]);
134
+ keys[replacement.key] = replacement.oldValue;
135
+ }
136
+ }
137
+ },
93
138
  JSXAttribute(path: NodePath<t.JSXAttribute>) {
94
139
  if (path.node.value?.type === "StringLiteral") {
95
140
  const value = path.node.value.value;