@generaltranslation/react-core-linter 0.1.0 → 0.1.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.
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/rules/static-string/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAY,MAAM,0BAA0B,CAAC;AAwBjE,eAAO,MAAM,YAAY;;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/rules/static-string/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAY,MAAM,0BAA0B,CAAC;AAwBjE,eAAO,MAAM,YAAY;;sCA2IvB,CAAC"}
|
|
@@ -58,8 +58,8 @@ export const staticString = createRule({
|
|
|
58
58
|
* Handle function calls
|
|
59
59
|
*/
|
|
60
60
|
CallExpression(node) {
|
|
61
|
-
|
|
62
|
-
|
|
61
|
+
const isMsgCall = isMsgFunction({ context, node, libs });
|
|
62
|
+
if (!isMsgCall && !isGTCallbackFunction({ context, node, libs })) {
|
|
63
63
|
return;
|
|
64
64
|
}
|
|
65
65
|
// Ignore if there is no first argument
|
|
@@ -73,15 +73,33 @@ export const staticString = createRule({
|
|
|
73
73
|
messageId: 'variableInterpolationRequired',
|
|
74
74
|
});
|
|
75
75
|
}
|
|
76
|
-
// Validate
|
|
77
|
-
validateGTInvocation(firstArgument);
|
|
76
|
+
// Validate params — arrays only allowed for msg()
|
|
77
|
+
validateGTInvocation(firstArgument, isMsgCall);
|
|
78
78
|
/**
|
|
79
79
|
* Helper function to validate gt()'s params
|
|
80
|
+
* TODO: when enable array support in gt function remove allowArrays parameter as it will always be true
|
|
80
81
|
*/
|
|
81
|
-
function validateGTInvocation(expression) {
|
|
82
|
+
function validateGTInvocation(expression, allowArrays = false) {
|
|
82
83
|
// Static string is okay
|
|
83
84
|
if (isStaticString(expression))
|
|
84
85
|
return;
|
|
86
|
+
// Array of static strings — only for msg() currently
|
|
87
|
+
if (allowArrays &&
|
|
88
|
+
expression.type === TSESTree.AST_NODE_TYPES.ArrayExpression) {
|
|
89
|
+
for (const element of expression.elements) {
|
|
90
|
+
if (element &&
|
|
91
|
+
element.type !== TSESTree.AST_NODE_TYPES.SpreadElement) {
|
|
92
|
+
validateGTInvocation(element, false); // no nested arrays
|
|
93
|
+
}
|
|
94
|
+
else if (element?.type === TSESTree.AST_NODE_TYPES.SpreadElement) {
|
|
95
|
+
return context.report({
|
|
96
|
+
node: element,
|
|
97
|
+
messageId: 'staticStringRequired',
|
|
98
|
+
});
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
return;
|
|
102
|
+
}
|
|
85
103
|
// declareStatic() is okay
|
|
86
104
|
if (expression.type === TSESTree.AST_NODE_TYPES.CallExpression &&
|
|
87
105
|
isDeclareStaticFunction({ context, node: expression, libs })) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/rules/static-string/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AACjE,OAAO,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AAClE,OAAO,EACL,uBAAuB,EACvB,oBAAoB,EACpB,aAAa,GACd,MAAM,6BAA6B,CAAC;AAErC;;GAEG;AACH,MAAM,UAAU,GAAG,WAAW,CAAC,WAAW,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,GAAG,QAAQ,GAAG,IAAI,EAAE,CAAC,CAAC;AAE3E,SAAS,cAAc,CAAC,IAAyB;IAC/C,QAAQ,IAAI,CAAC,IAAI,EAAE,CAAC;QAClB,KAAK,QAAQ,CAAC,cAAc,CAAC,OAAO;YAClC,OAAO,OAAO,IAAI,CAAC,KAAK,KAAK,QAAQ,CAAC;QACxC,KAAK,QAAQ,CAAC,cAAc,CAAC,eAAe;YAC1C,OAAO,IAAI,CAAC,WAAW,CAAC,MAAM,KAAK,CAAC,CAAC;QACvC;YACE,OAAO,KAAK,CAAC;IACjB,CAAC;AACH,CAAC;AAED,MAAM,CAAC,MAAM,YAAY,GAAG,UAAU,CAAC;IACrC,IAAI,EAAE,eAAe;IACrB,IAAI,EAAE;QACJ,IAAI,EAAE,SAAS;QACf,IAAI,EAAE;YACJ,WAAW,EAAE,wDAAwD;SACtE;QACD,OAAO,EAAE,MAAM;QACf,MAAM,EAAE;YACN;gBACE,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACV,IAAI,EAAE;wBACJ,IAAI,EAAE,OAAO;wBACb,KAAK,EAAE;4BACL,IAAI,EAAE,QAAQ;yBACf;wBACD,WAAW,EACT,6DAA6D;qBAChE;iBACF;gBACD,oBAAoB,EAAE,KAAK;aAC5B;SACF;QACD,cAAc,EAAE,KAAK;QACrB,QAAQ,EAAE;YACR,iCAAiC;YACjC,oBAAoB,EAClB,gHAAgH;YAClH,uCAAuC;YACvC,6BAA6B,EAC3B,4JAA4J;YAC9J,iEAAiE;YACjE,8BAA8B,EAC5B,gIAAgI;YAClI,oDAAoD;YACpD,yBAAyB,EACvB,gGAAgG;SACnG;KACF;IACD,cAAc,EAAE,CAAC,EAAE,IAAI,EAAE,YAAY,EAAE,CAAC;IACxC,MAAM,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC;QACvB,MAAM,EAAE,IAAI,GAAG,YAAY,EAAE,GAAG,OAAO,CAAC;QAExC,OAAO;YACL;;eAEG;YACH,cAAc,CAAC,IAA6B;gBAC1C,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/rules/static-string/index.ts"],"names":[],"mappings":"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"}
|