eslint-plugin-roblox-ts
Advanced tools
Comparing version 0.0.27 to 0.0.28
@@ -77,2 +77,3 @@ "use strict"; | ||
"lua-truthiness": "warn", | ||
"no-array-pairs": "warn", | ||
}), | ||
@@ -79,0 +80,0 @@ "no-debugger": "error", |
@@ -32,1 +32,2 @@ "use strict"; | ||
__exportStar(require("./noSpreadDestructuring"), exports); | ||
__exportStar(require("./noArrayPairs"), exports); |
@@ -29,5 +29,3 @@ "use strict"; | ||
create(context) { | ||
const service = rules_1.getParserServices(context); | ||
const checker = service.program.getTypeChecker(); | ||
function validateNotAnyType(esNode, tsNode) { | ||
function validateNotAnyType(checker, esNode, tsNode) { | ||
if (typescript_1.default.isSpreadElement(tsNode)) { | ||
@@ -53,26 +51,38 @@ tsNode = traversal_1.skipDownwards(tsNode.expression); | ||
BinaryExpression(esNode) { | ||
const service = rules_1.getParserServices(context); | ||
const checker = service.program.getTypeChecker(); | ||
const tsNode = service.esTreeNodeToTSNodeMap.get(esNode); | ||
validateNotAnyType(esNode.left, tsNode.left); | ||
validateNotAnyType(esNode.right, tsNode.right); | ||
validateNotAnyType(checker, esNode.left, tsNode.left); | ||
validateNotAnyType(checker, esNode.right, tsNode.right); | ||
}, | ||
UnaryExpression(esNode) { | ||
const service = rules_1.getParserServices(context); | ||
const checker = service.program.getTypeChecker(); | ||
const tsNode = service.esTreeNodeToTSNodeMap.get(esNode); | ||
if (typescript_1.default.isPrefixUnaryExpression(tsNode) || typescript_1.default.isPostfixUnaryExpression(tsNode)) { | ||
validateNotAnyType(esNode.argument, tsNode.operand); | ||
validateNotAnyType(checker, esNode.argument, tsNode.operand); | ||
} | ||
}, | ||
CallExpression(esNode) { | ||
validateNotAnyType(esNode.callee, service.esTreeNodeToTSNodeMap.get(esNode).expression); | ||
const service = rules_1.getParserServices(context); | ||
const checker = service.program.getTypeChecker(); | ||
validateNotAnyType(checker, esNode.callee, service.esTreeNodeToTSNodeMap.get(esNode).expression); | ||
}, | ||
NewExpression(esNode) { | ||
validateNotAnyType(esNode.callee, service.esTreeNodeToTSNodeMap.get(esNode).expression); | ||
const service = rules_1.getParserServices(context); | ||
const checker = service.program.getTypeChecker(); | ||
validateNotAnyType(checker, esNode.callee, service.esTreeNodeToTSNodeMap.get(esNode).expression); | ||
}, | ||
SpreadElement(esNode) { | ||
validateNotAnyType(esNode.argument, service.esTreeNodeToTSNodeMap.get(esNode).expression); | ||
const service = rules_1.getParserServices(context); | ||
const checker = service.program.getTypeChecker(); | ||
validateNotAnyType(checker, esNode.argument, service.esTreeNodeToTSNodeMap.get(esNode).expression); | ||
}, | ||
MemberExpression(esNode) { | ||
const service = rules_1.getParserServices(context); | ||
const checker = service.program.getTypeChecker(); | ||
const tsNode = service.esTreeNodeToTSNodeMap.get(esNode); | ||
validateNotAnyType(esNode.object, tsNode.expression); | ||
validateNotAnyType(checker, esNode.object, tsNode.expression); | ||
if (typescript_1.default.isElementAccessExpression(tsNode)) { | ||
validateNotAnyType(esNode.property, tsNode.argumentExpression); | ||
validateNotAnyType(checker, esNode.property, tsNode.argumentExpression); | ||
} | ||
@@ -79,0 +89,0 @@ }, |
@@ -18,3 +18,3 @@ "use strict"; | ||
messages: { | ||
nullViolation: "Don't use null. Use undefined instead", | ||
nullViolation: "Do not use null. Use undefined instead", | ||
}, | ||
@@ -21,0 +21,0 @@ schema: [], |
@@ -26,6 +26,6 @@ "use strict"; | ||
messages: { | ||
addViolation: "Don't use `+` use .add() instead.", | ||
subViolation: "Don't use `-` use .sub() instead.", | ||
mulViolation: "Don't use `*` use .mul() instead.", | ||
divViolation: "Don't use `/` use .div() instead.", | ||
addViolation: "Do not use `+` use .add() instead.", | ||
subViolation: "Do not use `-` use .sub() instead.", | ||
mulViolation: "Do not use `*` use .mul() instead.", | ||
divViolation: "Do not use `/` use .div() instead.", | ||
otherViolation: "Cannot use this operator on a Roblox Data type.", | ||
@@ -32,0 +32,0 @@ }, |
@@ -31,3 +31,3 @@ "use strict"; | ||
messages: { | ||
newViolation: "Don't use `.new` use `new X()` instead.", | ||
newViolation: "Do not use `.new` use `new X()` instead.", | ||
}, | ||
@@ -34,0 +34,0 @@ schema: [], |
{ | ||
"name": "eslint-plugin-roblox-ts", | ||
"version": "0.0.27", | ||
"version": "0.0.28", | ||
"main": "out/index.js", | ||
@@ -30,2 +30,2 @@ "devDependencies": { | ||
] | ||
} | ||
} |
55157
27
1285