eslint-plugin-no-unsanitized
Advanced tools
Comparing version 3.0.1 to 3.0.2
@@ -16,6 +16,9 @@ /** | ||
* @param {Object} context ESLint configuration context | ||
* @param {Object} defaultRuleChecks Default rules to merge with | ||
* this.context | ||
* | ||
*/ | ||
function RuleHelper(context) { | ||
function RuleHelper(context, defaultRuleChecks) { | ||
this.context = context; | ||
this.ruleChecks = this.combineRuleChecks(defaultRuleChecks); | ||
} | ||
@@ -216,13 +219,10 @@ | ||
* @param {Object} node Call expression node | ||
* @param {Object} defaultRuleChecks Default rules to merge with | ||
* this.context | ||
* @returns {undefined} Does not return | ||
*/ | ||
checkMethod(node, defaultRuleChecks) { | ||
const ruleChecks = this.combineRuleChecks(defaultRuleChecks); | ||
checkMethod(node) { | ||
const normalizeMethodCall = this.normalizeMethodCall(node.callee); | ||
const methodName = normalizeMethodCall.methodName; | ||
if (ruleChecks.hasOwnProperty(methodName)) { | ||
const ruleCheck = ruleChecks[methodName]; | ||
if (this.ruleChecks.hasOwnProperty(methodName)) { | ||
const ruleCheck = this.ruleChecks[methodName]; | ||
if (!Array.isArray(ruleCheck.properties)) { | ||
@@ -245,11 +245,7 @@ this.context.report(node, `Method check requires properties array in eslint rule ${methodName}`); | ||
* @param {Object} node Assignment expression node | ||
* @param {Object} defaultRuleChecks Default rules to merge with | ||
* this.context | ||
* @returns {undefined} Does not return | ||
*/ | ||
checkProperty(node, defaultRuleChecks) { | ||
const ruleChecks = this.combineRuleChecks(defaultRuleChecks); | ||
if (ruleChecks.hasOwnProperty(node.left.property.name)) { | ||
const ruleCheck = ruleChecks[node.left.property.name]; | ||
checkProperty(node) { | ||
if (this.ruleChecks.hasOwnProperty(node.left.property.name)) { | ||
const ruleCheck = this.ruleChecks[node.left.property.name]; | ||
if (!this.allowedExpression(node.right, ruleCheck.escape)) { | ||
@@ -256,0 +252,0 @@ this.context.report(node, `Unsafe assignment to ${node.left.property.name}`); |
@@ -57,3 +57,3 @@ /* global module */ | ||
if (callExpr.arguments.length > 0) { | ||
ruleHelper.checkMethod(callExpr, defaultRuleChecks); | ||
ruleHelper.checkMethod(callExpr); | ||
} | ||
@@ -98,5 +98,5 @@ break; | ||
create(context) { | ||
const ruleHelper = new RuleHelper(context, defaultRuleChecks); | ||
return { | ||
CallExpression(node) { | ||
const ruleHelper = new RuleHelper(context); | ||
checkCallExpression(ruleHelper, node, node.callee); | ||
@@ -103,0 +103,0 @@ } |
@@ -42,3 +42,3 @@ /* global module */ | ||
create(context) { | ||
const ruleHelper = new RuleHelper(context); | ||
const ruleHelper = new RuleHelper(context, defaultRuleChecks); | ||
@@ -64,3 +64,3 @@ // operators to not check, such as X.innerHTML *= 12; is likely very safe | ||
} | ||
ruleHelper.checkProperty(node, defaultRuleChecks); | ||
ruleHelper.checkProperty(node); | ||
} | ||
@@ -67,0 +67,0 @@ } |
{ | ||
"name": "eslint-plugin-no-unsanitized", | ||
"description": "ESLint rule to disallow unsanitized code", | ||
"version": "3.0.1", | ||
"version": "3.0.2", | ||
"author": { | ||
@@ -14,3 +14,3 @@ "name": "Frederik Braun et al." | ||
"eslint": "^4.16.0", | ||
"mocha": "^3.2.0" | ||
"mocha": "^5.1.1" | ||
}, | ||
@@ -17,0 +17,0 @@ "peerDependencies": { |
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
47585
1015