From 92ab56448c364e988d03fe44d1a640c46c4017ad Mon Sep 17 00:00:00 2001 From: Jonathan Kingston Date: Tue, 9 May 2017 13:29:08 +0100 Subject: [PATCH] Move to the Mozilla backed no-unsanitized ESLint plugin --- .eslintrc.js | 22 ++++++++++++++++------ package.json | 2 +- webextension/js/popup.js | 4 ++-- 3 files changed, 19 insertions(+), 9 deletions(-) diff --git a/.eslintrc.js b/.eslintrc.js index d44e921..68705ff 100644 --- a/.eslintrc.js +++ b/.eslintrc.js @@ -5,9 +5,6 @@ module.exports = { "node": true, "webextensions": true }, - "extends": [ - "eslint:recommended" - ], "globals": { "CustomizableUI": true, "CustomizableWidgets": true, @@ -16,7 +13,10 @@ module.exports = { }, "plugins": [ "promise", - "no-unescaped" + "no-unsanitized" + ], + "extends": [ + "eslint:recommended" ], "root": true, "rules": { @@ -29,8 +29,18 @@ module.exports = { "promise/no-promise-in-callback": "warn", "promise/no-return-wrap": "error", "promise/param-names": "error", - "no-unescaped/no-key-assignment": "error", - "no-unescaped/enforce": "error", + + "no-unsanitized/method": [ + "error" + ], + "no-unsanitized/property": [ + "error", + { + "escape": { + "taggedTemplates": ["escaped"] + } + } + ], "eqeqeq": "error", "indent": ["error", 2], diff --git a/package.json b/package.json index 8fa61ea..30d562f 100644 --- a/package.json +++ b/package.json @@ -12,7 +12,7 @@ "addons-linter": "^0.15.14", "deploy-txp": "^1.0.7", "eslint": "^3.17.1", - "eslint-plugin-no-unescaped": "^1.1.0", + "eslint-plugin-no-unsanitized": "^2.0.0", "eslint-plugin-promise": "^3.4.0", "htmllint-cli": "^0.0.5", "jpm": "^1.2.2", diff --git a/webextension/js/popup.js b/webextension/js/popup.js index 7ed2b50..ab347ed 100644 --- a/webextension/js/popup.js +++ b/webextension/js/popup.js @@ -555,7 +555,7 @@ Logic.registerPanel(P_CONTAINER_EDIT, { const colorRadioFieldset = document.getElementById("edit-container-panel-choose-color"); colors.forEach((containerColor) => { const templateInstance = document.createElement("span"); - // eslint-disable-next-line no-unescaped/enforce + // eslint-disable-next-line no-unsanitized/property templateInstance.innerHTML = colorRadioTemplate(containerColor); colorRadioFieldset.appendChild(templateInstance); }); @@ -568,7 +568,7 @@ Logic.registerPanel(P_CONTAINER_EDIT, { const iconRadioFieldset = document.getElementById("edit-container-panel-choose-icon"); icons.forEach((containerIcon) => { const templateInstance = document.createElement("span"); - // eslint-disable-next-line no-unescaped/enforce + // eslint-disable-next-line no-unsanitized/property templateInstance.innerHTML = iconRadioTemplate(containerIcon); iconRadioFieldset.appendChild(templateInstance); });