diff --git a/package-lock.json b/package-lock.json index 0af4db585..204703778 100644 --- a/package-lock.json +++ b/package-lock.json @@ -12,7 +12,7 @@ "@wdio/local-runner": "7.30.1", "@wdio/mocha-framework": "7.26.0", "@wdio/spec-reporter": "7.29.1", - "eslint-config-wikimedia": "0.24.0", + "eslint-config-wikimedia": "0.25.0", "grunt-banana-checker": "0.10.0", "jsdoc": "3.6.10", "mwbot": "2.0.0", @@ -3798,28 +3798,35 @@ } }, "node_modules/eslint-config-wikimedia": { - "version": "0.24.0", - "resolved": "https://registry.npmjs.org/eslint-config-wikimedia/-/eslint-config-wikimedia-0.24.0.tgz", - "integrity": "sha512-8oH/YhJ87ONSmuRfATgx8U7Jcwz3tBemrh6YOezIfj9f2QfE71ZhaKZrNPdfS7vIklLor/cB9vX7sxN10nz8xw==", + "version": "0.25.0", + "resolved": "https://registry.npmjs.org/eslint-config-wikimedia/-/eslint-config-wikimedia-0.25.0.tgz", + "integrity": "sha512-xLvXPyPmBLMPCE/FDy69ViFNsA3+uvFpH63IKtiqS9Olv1kWU2TWFlpJMFFEu0RWVnbciUKFOoLy3P36UvNHag==", "dev": true, "dependencies": { - "browserslist-config-wikimedia": "^0.4.0", + "browserslist-config-wikimedia": "^0.5.0", "eslint": "^8.31.0", "eslint-plugin-compat": "^4.0.2", "eslint-plugin-es-x": "^5.2.1", "eslint-plugin-jsdoc": "39.2.2", "eslint-plugin-json-es": "^1.5.7", - "eslint-plugin-mediawiki": "^0.4.0", + "eslint-plugin-mediawiki": "^0.5.0", "eslint-plugin-mocha": "^9.0.0", "eslint-plugin-no-jquery": "^2.7.0", "eslint-plugin-node": "^11.1.0", - "eslint-plugin-qunit": "^7.2.0", + "eslint-plugin-qunit": "^7.3.0", + "eslint-plugin-security": "^1.7.1", "eslint-plugin-unicorn": "^42.0.0", "eslint-plugin-vue": "^8.7.1", "eslint-plugin-wdio": "^7.19.4", "eslint-plugin-yml": "^0.14.0" } }, + "node_modules/eslint-config-wikimedia/node_modules/browserslist-config-wikimedia": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/browserslist-config-wikimedia/-/browserslist-config-wikimedia-0.5.0.tgz", + "integrity": "sha512-t+tvSnTeVhVF2lNRxoAlE51/ZCfUs5SNNZUnWu2N8xXOGMPTMyKk5l4mayvDdm+5L8oqmnALU+TjnN2Z+ZTCTw==", + "dev": true + }, "node_modules/eslint-plugin-compat": { "version": "4.0.2", "resolved": "https://registry.npmjs.org/eslint-plugin-compat/-/eslint-plugin-compat-4.0.2.tgz", @@ -3938,9 +3945,9 @@ } }, "node_modules/eslint-plugin-mediawiki": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-mediawiki/-/eslint-plugin-mediawiki-0.4.0.tgz", - "integrity": "sha512-Eufptb8lrElYwIONvgxlMBnPD6PYT4xAFprWlBxV5brCmUh8MZ41+lMxt2TPwEC6C85ngflkVez8BV8tWS9RyQ==", + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-mediawiki/-/eslint-plugin-mediawiki-0.5.0.tgz", + "integrity": "sha512-rjkHFyv3VDan/dmu7YpD1Rl9h64NOlz4mqqesRN316R+571+ymmb6lXVOdNMbT8H1iPhmtHc+nijVLVkn7pYDw==", "dev": true, "dependencies": { "eslint-plugin-vue": "^8.7.1", @@ -4048,9 +4055,9 @@ } }, "node_modules/eslint-plugin-qunit": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-qunit/-/eslint-plugin-qunit-7.2.0.tgz", - "integrity": "sha512-ebT6aOpmMj4vchG0hVw9Ukbutk/lgywrc8gc9w9hH2/4WjKqwMlyM7iVwqB7OAXv6gtQMJZuziT0wNjjymAuWA==", + "version": "7.3.4", + "resolved": "https://registry.npmjs.org/eslint-plugin-qunit/-/eslint-plugin-qunit-7.3.4.tgz", + "integrity": "sha512-EbDM0zJerH9zVdUswMJpcFF7wrrpvsGuYfNexUpa5hZkkdFhaFcX+yD+RSK4Nrauw4psMGlcqeWUMhaVo+Manw==", "dev": true, "dependencies": { "eslint-utils": "^3.0.0", @@ -4060,6 +4067,15 @@ "node": "12.x || 14.x || >=16.0.0" } }, + "node_modules/eslint-plugin-security": { + "version": "1.7.1", + "resolved": "https://registry.npmjs.org/eslint-plugin-security/-/eslint-plugin-security-1.7.1.tgz", + "integrity": "sha512-sMStceig8AFglhhT2LqlU5r+/fn9OwsA72O5bBuQVTssPCdQAOQzL+oMn/ZcpeUY6KcNfLJArgcrsSULNjYYdQ==", + "dev": true, + "dependencies": { + "safe-regex": "^2.1.1" + } + }, "node_modules/eslint-plugin-unicorn": { "version": "42.0.0", "resolved": "https://registry.npmjs.org/eslint-plugin-unicorn/-/eslint-plugin-unicorn-42.0.0.tgz", @@ -4127,9 +4143,9 @@ } }, "node_modules/eslint-plugin-vue/node_modules/semver": { - "version": "7.3.7", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.7.tgz", - "integrity": "sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g==", + "version": "7.5.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.1.tgz", + "integrity": "sha512-Wvss5ivl8TMRZXXESstBA4uR5iXgEN/VC5/sOcuXdVLzcdkz4HWetIoRfG5gb5X+ij/G9rw9YoGn3QoQ8OCSpw==", "dev": true, "dependencies": { "lru-cache": "^6.0.0" @@ -10324,9 +10340,9 @@ } }, "node_modules/vue-eslint-parser/node_modules/semver": { - "version": "7.3.7", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.7.tgz", - "integrity": "sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g==", + "version": "7.5.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.1.tgz", + "integrity": "sha512-Wvss5ivl8TMRZXXESstBA4uR5iXgEN/VC5/sOcuXdVLzcdkz4HWetIoRfG5gb5X+ij/G9rw9YoGn3QoQ8OCSpw==", "dev": true, "dependencies": { "lru-cache": "^6.0.0" @@ -11031,7 +11047,8 @@ "version": "2.2.0", "resolved": "https://registry.npmjs.org/@csstools/selector-specificity/-/selector-specificity-2.2.0.tgz", "integrity": "sha512-+OJ9konv95ClSTOJCmMZqpd5+YGsB2S+x6w3E1oaM8UuR5j8nTNHYSz8c9BEPGDOCMQYIEEGlVPj/VY64iTbGw==", - "dev": true + "dev": true, + "requires": {} }, "@cucumber/ci-environment": { "version": "9.1.0", @@ -11255,13 +11272,15 @@ "version": "20.0.0", "resolved": "https://registry.npmjs.org/@cucumber/html-formatter/-/html-formatter-20.0.0.tgz", "integrity": "sha512-I6ZzUZ0CkaaPm6QHThoCRmdcuEIV9kJlNjaWvQ3PRkJm0OscQkQ0SXL/j73U30RDPiCAWwtq6ZSeQrgkTnSK+Q==", - "dev": true + "dev": true, + "requires": {} }, "@cucumber/message-streams": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/@cucumber/message-streams/-/message-streams-4.0.1.tgz", "integrity": "sha512-Kxap9uP5jD8tHUZVjTWgzxemi/0uOsbGjd4LBOSxcJoOCRbESFwemUzilJuzNTB8pcTQUh8D5oudUyxfkJOKmA==", - "dev": true + "dev": true, + "requires": {} }, "@cucumber/messages": { "version": "21.0.1", @@ -12327,7 +12346,8 @@ "version": "5.3.2", "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", - "dev": true + "dev": true, + "requires": {} }, "agent-base": { "version": "6.0.2", @@ -14031,26 +14051,35 @@ } }, "eslint-config-wikimedia": { - "version": "0.24.0", - "resolved": "https://registry.npmjs.org/eslint-config-wikimedia/-/eslint-config-wikimedia-0.24.0.tgz", - "integrity": "sha512-8oH/YhJ87ONSmuRfATgx8U7Jcwz3tBemrh6YOezIfj9f2QfE71ZhaKZrNPdfS7vIklLor/cB9vX7sxN10nz8xw==", + "version": "0.25.0", + "resolved": "https://registry.npmjs.org/eslint-config-wikimedia/-/eslint-config-wikimedia-0.25.0.tgz", + "integrity": "sha512-xLvXPyPmBLMPCE/FDy69ViFNsA3+uvFpH63IKtiqS9Olv1kWU2TWFlpJMFFEu0RWVnbciUKFOoLy3P36UvNHag==", "dev": true, "requires": { - "browserslist-config-wikimedia": "^0.4.0", + "browserslist-config-wikimedia": "^0.5.0", "eslint": "^8.31.0", "eslint-plugin-compat": "^4.0.2", "eslint-plugin-es-x": "^5.2.1", "eslint-plugin-jsdoc": "39.2.2", "eslint-plugin-json-es": "^1.5.7", - "eslint-plugin-mediawiki": "^0.4.0", + "eslint-plugin-mediawiki": "^0.5.0", "eslint-plugin-mocha": "^9.0.0", "eslint-plugin-no-jquery": "^2.7.0", "eslint-plugin-node": "^11.1.0", - "eslint-plugin-qunit": "^7.2.0", + "eslint-plugin-qunit": "^7.3.0", + "eslint-plugin-security": "^1.7.1", "eslint-plugin-unicorn": "^42.0.0", "eslint-plugin-vue": "^8.7.1", "eslint-plugin-wdio": "^7.19.4", "eslint-plugin-yml": "^0.14.0" + }, + "dependencies": { + "browserslist-config-wikimedia": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/browserslist-config-wikimedia/-/browserslist-config-wikimedia-0.5.0.tgz", + "integrity": "sha512-t+tvSnTeVhVF2lNRxoAlE51/ZCfUs5SNNZUnWu2N8xXOGMPTMyKk5l4mayvDdm+5L8oqmnALU+TjnN2Z+ZTCTw==", + "dev": true + } } }, "eslint-plugin-compat": { @@ -14133,9 +14162,9 @@ } }, "eslint-plugin-mediawiki": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-mediawiki/-/eslint-plugin-mediawiki-0.4.0.tgz", - "integrity": "sha512-Eufptb8lrElYwIONvgxlMBnPD6PYT4xAFprWlBxV5brCmUh8MZ41+lMxt2TPwEC6C85ngflkVez8BV8tWS9RyQ==", + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-mediawiki/-/eslint-plugin-mediawiki-0.5.0.tgz", + "integrity": "sha512-rjkHFyv3VDan/dmu7YpD1Rl9h64NOlz4mqqesRN316R+571+ymmb6lXVOdNMbT8H1iPhmtHc+nijVLVkn7pYDw==", "dev": true, "requires": { "eslint-plugin-vue": "^8.7.1", @@ -14156,7 +14185,8 @@ "version": "2.7.0", "resolved": "https://registry.npmjs.org/eslint-plugin-no-jquery/-/eslint-plugin-no-jquery-2.7.0.tgz", "integrity": "sha512-Aeg7dA6GTH1AcWLlBtWNzOU9efK5KpNi7b0EhBO0o0M+awyzguUUo8gF6hXGjQ9n5h8/uRtYv9zOqQkeC5CG0w==", - "dev": true + "dev": true, + "requires": {} }, "eslint-plugin-node": { "version": "11.1.0", @@ -14206,15 +14236,24 @@ } }, "eslint-plugin-qunit": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-qunit/-/eslint-plugin-qunit-7.2.0.tgz", - "integrity": "sha512-ebT6aOpmMj4vchG0hVw9Ukbutk/lgywrc8gc9w9hH2/4WjKqwMlyM7iVwqB7OAXv6gtQMJZuziT0wNjjymAuWA==", + "version": "7.3.4", + "resolved": "https://registry.npmjs.org/eslint-plugin-qunit/-/eslint-plugin-qunit-7.3.4.tgz", + "integrity": "sha512-EbDM0zJerH9zVdUswMJpcFF7wrrpvsGuYfNexUpa5hZkkdFhaFcX+yD+RSK4Nrauw4psMGlcqeWUMhaVo+Manw==", "dev": true, "requires": { "eslint-utils": "^3.0.0", "requireindex": "^1.2.0" } }, + "eslint-plugin-security": { + "version": "1.7.1", + "resolved": "https://registry.npmjs.org/eslint-plugin-security/-/eslint-plugin-security-1.7.1.tgz", + "integrity": "sha512-sMStceig8AFglhhT2LqlU5r+/fn9OwsA72O5bBuQVTssPCdQAOQzL+oMn/ZcpeUY6KcNfLJArgcrsSULNjYYdQ==", + "dev": true, + "requires": { + "safe-regex": "^2.1.1" + } + }, "eslint-plugin-unicorn": { "version": "42.0.0", "resolved": "https://registry.npmjs.org/eslint-plugin-unicorn/-/eslint-plugin-unicorn-42.0.0.tgz", @@ -14263,9 +14302,9 @@ }, "dependencies": { "semver": { - "version": "7.3.7", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.7.tgz", - "integrity": "sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g==", + "version": "7.5.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.1.tgz", + "integrity": "sha512-Wvss5ivl8TMRZXXESstBA4uR5iXgEN/VC5/sOcuXdVLzcdkz4HWetIoRfG5gb5X+ij/G9rw9YoGn3QoQ8OCSpw==", "dev": true, "requires": { "lru-cache": "^6.0.0" @@ -16454,7 +16493,8 @@ "version": "8.6.4", "resolved": "https://registry.npmjs.org/markdown-it-anchor/-/markdown-it-anchor-8.6.4.tgz", "integrity": "sha512-Ul4YVYZNxMJYALpKtu+ZRdrryYt/GlQ5CK+4l1bp/gWXOG2QWElt6AqF3Mih/wfUKdZbNAZVXGR73/n6U/8img==", - "dev": true + "dev": true, + "requires": {} }, "marked": { "version": "4.0.15", @@ -17337,7 +17377,8 @@ "version": "6.0.0", "resolved": "https://registry.npmjs.org/postcss-less/-/postcss-less-6.0.0.tgz", "integrity": "sha512-FPX16mQLyEjLzEuuJtxA8X3ejDLNGGEG503d2YGZR5Ask1SpDN8KmZUMpzCvyalWRywAn1n1VOA5dcqfCLo5rg==", - "dev": true + "dev": true, + "requires": {} }, "postcss-media-query-parser": { "version": "0.2.3", @@ -17355,7 +17396,8 @@ "version": "6.0.0", "resolved": "https://registry.npmjs.org/postcss-safe-parser/-/postcss-safe-parser-6.0.0.tgz", "integrity": "sha512-FARHN8pwH+WiS2OPCxJI8FuRJpTVnn6ZNFiqAM2aeW2LwTHWWmWgIyKC6cUo0L8aeKiF/14MNvnpls6R2PBeMQ==", - "dev": true + "dev": true, + "requires": {} }, "postcss-selector-parser": { "version": "6.0.11", @@ -17570,7 +17612,8 @@ "version": "7.5.9", "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.9.tgz", "integrity": "sha512-F+P9Jil7UiSKSkppIiD94dN07AwvFixvLIj1Og1Rl9GGMuNipJnV9JzjD6XuqmAeiswGvUmNLjr5cFuXwNS77Q==", - "dev": true + "dev": true, + "requires": {} } } }, @@ -18463,7 +18506,8 @@ "version": "9.0.0", "resolved": "https://registry.npmjs.org/stylelint-config-recommended/-/stylelint-config-recommended-9.0.0.tgz", "integrity": "sha512-9YQSrJq4NvvRuTbzDsWX3rrFOzOlYBmZP+o513BJN/yfEmGSr0AxdvrWs0P/ilSpVV/wisamAHu5XSk8Rcf4CQ==", - "dev": true + "dev": true, + "requires": {} }, "stylelint-config-wikimedia": { "version": "0.14.0", @@ -18929,9 +18973,9 @@ }, "dependencies": { "semver": { - "version": "7.3.7", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.7.tgz", - "integrity": "sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g==", + "version": "7.5.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.1.tgz", + "integrity": "sha512-Wvss5ivl8TMRZXXESstBA4uR5iXgEN/VC5/sOcuXdVLzcdkz4HWetIoRfG5gb5X+ij/G9rw9YoGn3QoQ8OCSpw==", "dev": true, "requires": { "lru-cache": "^6.0.0" @@ -19174,7 +19218,8 @@ "version": "8.5.0", "resolved": "https://registry.npmjs.org/ws/-/ws-8.5.0.tgz", "integrity": "sha512-BWX0SWVgLPzYwF8lTzEy1egjhS4S4OEAHfsO8o65WOVsrnSRGaSiUaa9e0ggGlkMTtBlmOpEXiie9RUcBO86qg==", - "dev": true + "dev": true, + "requires": {} }, "xmlbuilder": { "version": "15.1.1", diff --git a/package.json b/package.json index 073286a06..7361a5167 100644 --- a/package.json +++ b/package.json @@ -22,7 +22,7 @@ "@wdio/local-runner": "7.30.1", "@wdio/mocha-framework": "7.26.0", "@wdio/spec-reporter": "7.29.1", - "eslint-config-wikimedia": "0.24.0", + "eslint-config-wikimedia": "0.25.0", "grunt-banana-checker": "0.10.0", "jsdoc": "3.6.10", "mwbot": "2.0.0", diff --git a/resources/.eslintrc.json b/resources/.eslintrc.json index 05ebf39fe..300eae94d 100644 --- a/resources/.eslintrc.json +++ b/resources/.eslintrc.json @@ -39,7 +39,8 @@ "mediawiki/class-doc": "off", "no-use-before-define": "off", "no-underscore-dangle": "off", - "jsdoc/no-undefined-types": "off" + "jsdoc/no-undefined-types": "off", + "no-var": "warn" }, "overrides": [ { diff --git a/tests/qunit/.eslintrc.json b/tests/qunit/.eslintrc.json index 654f04b11..c238ae141 100644 --- a/tests/qunit/.eslintrc.json +++ b/tests/qunit/.eslintrc.json @@ -6,6 +6,7 @@ ], "rules": { "no-restricted-properties": "off", - "no-jquery/no-parse-html-literal": "off" + "no-jquery/no-parse-html-literal": "off", + "no-var": "warn" } }