From 555b64b4bd4c53148843b635ba89a2ae8214f96d Mon Sep 17 00:00:00 2001 From: Douglas Wade Date: Thu, 17 Mar 2022 21:46:57 -0700 Subject: [PATCH 01/21] Add new rule: html-forbid-elements --- docs/rules/html-forbid-elements.md | 49 ++++++++++++++++++ lib/index.js | 1 + lib/rules/html-forbid-elements.js | 66 +++++++++++++++++++++++++ tests/lib/rules/html-forbid-elements.js | 41 +++++++++++++++ 4 files changed, 157 insertions(+) create mode 100644 docs/rules/html-forbid-elements.md create mode 100644 lib/rules/html-forbid-elements.js create mode 100644 tests/lib/rules/html-forbid-elements.js diff --git a/docs/rules/html-forbid-elements.md b/docs/rules/html-forbid-elements.md new file mode 100644 index 000000000..9a4666558 --- /dev/null +++ b/docs/rules/html-forbid-elements.md @@ -0,0 +1,49 @@ +--- +pageClass: rule-details +sidebarDepth: 0 +title: vue/html-forbid-elements +description: prevent use of forbidden html elements +since: v8.6.0 +--- + +# vue/html-forbid-elements + +> prevent use of forbidden html elements + +## :book: Rule Details + +This rule aims to disallow html elements that have been forbidden. + + + +```vue + +``` + + + +## :wrench: Options + +```json +{ + "vue/html-forbid-elements": ["error", { "forbid": ["button"] }] +} +``` + +## :rocket: Version + +This rule was introduced in eslint-plugin-vue v8.6.0 + +## :mag: Implementation + +- [Rule source](https://github.com/vuejs/eslint-plugin-vue/blob/master/lib/rules/html-forbid-elements.js) +- [Test source](https://github.com/vuejs/eslint-plugin-vue/blob/master/tests/lib/rules/html-forbid-elements.js) diff --git a/lib/index.js b/lib/index.js index 97ff805d3..c9deb9abc 100644 --- a/lib/index.js +++ b/lib/index.js @@ -40,6 +40,7 @@ module.exports = { 'html-comment-content-spacing': require('./rules/html-comment-content-spacing'), 'html-comment-indent': require('./rules/html-comment-indent'), 'html-end-tags': require('./rules/html-end-tags'), + 'html-forbid-elements': require('./rules/html-forbid-elements'), 'html-indent': require('./rules/html-indent'), 'html-quotes': require('./rules/html-quotes'), 'html-self-closing': require('./rules/html-self-closing'), diff --git a/lib/rules/html-forbid-elements.js b/lib/rules/html-forbid-elements.js new file mode 100644 index 000000000..998f925d7 --- /dev/null +++ b/lib/rules/html-forbid-elements.js @@ -0,0 +1,66 @@ +/** + * @author Doug Wade + */ + +'use strict' + +const utils = require('../utils') + +module.exports = { + meta: { + type: 'suggestion', + docs: { + description: 'prevent usage of forbidden html elements', + categories: undefined, + url: 'https://eslint.vuejs.org/rules/html-forbid-elements.html' + }, + fixable: null, + schema: [ + { + type: 'object', + additionalProperties: false, + properties: { + forbid: { + type: 'array', + uniqueItems: true, + minItems: 1, + items: { + type: 'string' + } + } + }, + required: ['forbid'] + } + ], + messages: { + unexpectedUseOfForbiddenElement: + 'Unexpected use of forbidden HTML element {{ actual }}.' + } + }, + /** + * @param {RuleContext} context - The rule context. + * @returns {RuleListener} AST event handlers. + */ + create(context) { + const option = context.options[0] + + return utils.defineTemplateBodyVisitor(context, { + /** + * @param {VElement} node + */ + VElement(node) { + if (!utils.isHtmlElementNode(node)) { + return + } + + if (option.forbid.includes(node.name)) { + context.report({ + messageId: 'unexpectedUseOfForbiddenElement', + node: node.startTag, + data: { actual: node.name } + }) + } + } + }) + } +} diff --git a/tests/lib/rules/html-forbid-elements.js b/tests/lib/rules/html-forbid-elements.js new file mode 100644 index 000000000..acbc4890e --- /dev/null +++ b/tests/lib/rules/html-forbid-elements.js @@ -0,0 +1,41 @@ +/** + * @author Doug Wade + */ +'use strict' + +const RuleTester = require('eslint').RuleTester +const rule = require('../../../lib/rules/html-forbid-elements') + +const tester = new RuleTester({ + parser: require.resolve('vue-eslint-parser'), + parserOptions: { ecmaVersion: 2015 } +}) + +tester.run('html-forbid-elements', rule, { + valid: [ + { + filename: 'test.vue', + code: '', + options: [{ forbid: ['button'] }] + }, + { + filename: 'test.vue', + code: '', + options: [{ forbid: ['button'] }] + } + ], + invalid: [ + { + filename: 'test.vue', + code: '', + errors: ['Unexpected use of forbidden HTML element button.'], + options: [{ forbid: ['button'] }] + }, + { + filename: 'test.vue', + code: "", + errors: ['Unexpected use of forbidden HTML element div.'], + options: [{ forbid: ['div'] }] + } + ] +}) From 994bbe90c5effaabf932e38944485d3f65c8d0cf Mon Sep 17 00:00:00 2001 From: Douglas Wade Date: Sat, 19 Mar 2022 21:56:36 -0700 Subject: [PATCH 02/21] PR Feedback --- docs/rules/html-forbid-elements.md | 49 ----------- docs/rules/no-restricted-html-elements.md | 82 +++++++++++++++++++ lib/index.js | 2 +- lib/rules/html-forbid-elements.js | 66 --------------- lib/rules/no-restricted-html-elements.js | 72 ++++++++++++++++ tests/lib/rules/html-forbid-elements.js | 41 ---------- .../lib/rules/no-restricted-html-elements.js | 75 +++++++++++++++++ 7 files changed, 230 insertions(+), 157 deletions(-) delete mode 100644 docs/rules/html-forbid-elements.md create mode 100644 docs/rules/no-restricted-html-elements.md delete mode 100644 lib/rules/html-forbid-elements.js create mode 100644 lib/rules/no-restricted-html-elements.js delete mode 100644 tests/lib/rules/html-forbid-elements.js create mode 100644 tests/lib/rules/no-restricted-html-elements.js diff --git a/docs/rules/html-forbid-elements.md b/docs/rules/html-forbid-elements.md deleted file mode 100644 index 9a4666558..000000000 --- a/docs/rules/html-forbid-elements.md +++ /dev/null @@ -1,49 +0,0 @@ ---- -pageClass: rule-details -sidebarDepth: 0 -title: vue/html-forbid-elements -description: prevent use of forbidden html elements -since: v8.6.0 ---- - -# vue/html-forbid-elements - -> prevent use of forbidden html elements - -## :book: Rule Details - -This rule aims to disallow html elements that have been forbidden. - - - -```vue - -``` - - - -## :wrench: Options - -```json -{ - "vue/html-forbid-elements": ["error", { "forbid": ["button"] }] -} -``` - -## :rocket: Version - -This rule was introduced in eslint-plugin-vue v8.6.0 - -## :mag: Implementation - -- [Rule source](https://github.com/vuejs/eslint-plugin-vue/blob/master/lib/rules/html-forbid-elements.js) -- [Test source](https://github.com/vuejs/eslint-plugin-vue/blob/master/tests/lib/rules/html-forbid-elements.js) diff --git a/docs/rules/no-restricted-html-elements.md b/docs/rules/no-restricted-html-elements.md new file mode 100644 index 000000000..a49a304d5 --- /dev/null +++ b/docs/rules/no-restricted-html-elements.md @@ -0,0 +1,82 @@ +# vue/no-restricted-html-elements + +> Disallow specific html elements + +## :book: Rule Details + +This rule allows you to specify html elements that you don't want to use in your application. + + + +```vue + +

+ +
+ + + + +``` + +
+ +## :wrench: Options + +This rule takes a list of strings, where each string is an html element name to be restricted: + +```json +{ + "vue/no-restricted-html-elements": ["error", "button", "marquee"] +} +``` + + + +```vue + + + +``` + + + +Alternatively, the rule also accepts objects. + +```json +{ + "vue/no-restricted-html-elements": [ + "error", + { + "element": "button", + "message": "Prefer use of our custom +``` + + + +## :mag: Implementation + +- [Rule source](https://github.com/vuejs/eslint-plugin-vue/blob/master/lib/rules/no-restricted-html-elements.js) +- [Test source](https://github.com/vuejs/eslint-plugin-vue/blob/master/tests/lib/rules/no-restricted-html-elements.js) diff --git a/lib/index.js b/lib/index.js index c9deb9abc..9f1e2bdde 100644 --- a/lib/index.js +++ b/lib/index.js @@ -40,7 +40,6 @@ module.exports = { 'html-comment-content-spacing': require('./rules/html-comment-content-spacing'), 'html-comment-indent': require('./rules/html-comment-indent'), 'html-end-tags': require('./rules/html-end-tags'), - 'html-forbid-elements': require('./rules/html-forbid-elements'), 'html-indent': require('./rules/html-indent'), 'html-quotes': require('./rules/html-quotes'), 'html-self-closing': require('./rules/html-self-closing'), @@ -114,6 +113,7 @@ module.exports = { 'no-restricted-class': require('./rules/no-restricted-class'), 'no-restricted-component-options': require('./rules/no-restricted-component-options'), 'no-restricted-custom-event': require('./rules/no-restricted-custom-event'), + 'no-restricted-html-elements': require('./rules/no-restricted-html-elements'), 'no-restricted-props': require('./rules/no-restricted-props'), 'no-restricted-static-attribute': require('./rules/no-restricted-static-attribute'), 'no-restricted-syntax': require('./rules/no-restricted-syntax'), diff --git a/lib/rules/html-forbid-elements.js b/lib/rules/html-forbid-elements.js deleted file mode 100644 index 998f925d7..000000000 --- a/lib/rules/html-forbid-elements.js +++ /dev/null @@ -1,66 +0,0 @@ -/** - * @author Doug Wade - */ - -'use strict' - -const utils = require('../utils') - -module.exports = { - meta: { - type: 'suggestion', - docs: { - description: 'prevent usage of forbidden html elements', - categories: undefined, - url: 'https://eslint.vuejs.org/rules/html-forbid-elements.html' - }, - fixable: null, - schema: [ - { - type: 'object', - additionalProperties: false, - properties: { - forbid: { - type: 'array', - uniqueItems: true, - minItems: 1, - items: { - type: 'string' - } - } - }, - required: ['forbid'] - } - ], - messages: { - unexpectedUseOfForbiddenElement: - 'Unexpected use of forbidden HTML element {{ actual }}.' - } - }, - /** - * @param {RuleContext} context - The rule context. - * @returns {RuleListener} AST event handlers. - */ - create(context) { - const option = context.options[0] - - return utils.defineTemplateBodyVisitor(context, { - /** - * @param {VElement} node - */ - VElement(node) { - if (!utils.isHtmlElementNode(node)) { - return - } - - if (option.forbid.includes(node.name)) { - context.report({ - messageId: 'unexpectedUseOfForbiddenElement', - node: node.startTag, - data: { actual: node.name } - }) - } - } - }) - } -} diff --git a/lib/rules/no-restricted-html-elements.js b/lib/rules/no-restricted-html-elements.js new file mode 100644 index 000000000..0998fed86 --- /dev/null +++ b/lib/rules/no-restricted-html-elements.js @@ -0,0 +1,72 @@ +/** + * @author Doug Wade + */ + +'use strict' + +const utils = require('../utils') + +module.exports = { + meta: { + type: 'suggestion', + docs: { + description: 'prevent usage of restricted html elements', + categories: undefined, + url: 'https://eslint.vuejs.org/rules/no-restricted-html-elements.html' + }, + fixable: null, + schema: { + type: 'array', + items: { + oneOf: [ + { type: 'string' }, + { + type: 'object', + properties: { + element: { type: 'string' }, + message: { type: 'string', minLength: 1 } + }, + required: ['element'], + additionalProperties: false + } + ] + }, + uniqueItems: true, + minItems: 0 + }, + messages: { + restrictedHtmlElement: '{{message}}' + } + }, + /** + * @param {RuleContext} context - The rule context. + * @returns {RuleListener} AST event handlers. + */ + create(context) { + return utils.defineTemplateBodyVisitor(context, { + /** + * @param {VElement} node + */ + VElement(node) { + if (!utils.isHtmlElementNode(node)) { + return + } + + context.options.forEach((option) => { + const message = + option.message || + `Unexpected use of forbidden HTML element ${node.rawName}.` + const element = option.element || option + + if (element === node.rawName) { + context.report({ + messageId: 'restrictedHtmlElement', + node: node.startTag, + data: { message } + }) + } + }) + } + }) + } +} diff --git a/tests/lib/rules/html-forbid-elements.js b/tests/lib/rules/html-forbid-elements.js deleted file mode 100644 index acbc4890e..000000000 --- a/tests/lib/rules/html-forbid-elements.js +++ /dev/null @@ -1,41 +0,0 @@ -/** - * @author Doug Wade - */ -'use strict' - -const RuleTester = require('eslint').RuleTester -const rule = require('../../../lib/rules/html-forbid-elements') - -const tester = new RuleTester({ - parser: require.resolve('vue-eslint-parser'), - parserOptions: { ecmaVersion: 2015 } -}) - -tester.run('html-forbid-elements', rule, { - valid: [ - { - filename: 'test.vue', - code: '', - options: [{ forbid: ['button'] }] - }, - { - filename: 'test.vue', - code: '', - options: [{ forbid: ['button'] }] - } - ], - invalid: [ - { - filename: 'test.vue', - code: '', - errors: ['Unexpected use of forbidden HTML element button.'], - options: [{ forbid: ['button'] }] - }, - { - filename: 'test.vue', - code: "", - errors: ['Unexpected use of forbidden HTML element div.'], - options: [{ forbid: ['div'] }] - } - ] -}) diff --git a/tests/lib/rules/no-restricted-html-elements.js b/tests/lib/rules/no-restricted-html-elements.js new file mode 100644 index 000000000..4b0b645bf --- /dev/null +++ b/tests/lib/rules/no-restricted-html-elements.js @@ -0,0 +1,75 @@ +/** + * @author Doug Wade + */ +'use strict' + +const RuleTester = require('eslint').RuleTester +const rule = require('../../../lib/rules/no-restricted-html-elements') + +const tester = new RuleTester({ + parser: require.resolve('vue-eslint-parser'), + parserOptions: { ecmaVersion: 2015 } +}) + +tester.run('no-restricted-html-elements', rule, { + valid: [ + { + filename: 'test.vue', + code: '', + options: ['error', 'button'] + }, + { + filename: 'test.vue', + code: '', + options: ['error', 'button'] + }, + { + filename: 'test.vue', + code: '', + options: ['error', 'div'] + }, + { + filename: 'test.vue', + code: '', + options: ['error', 'button'] + } + ], + invalid: [ + { + filename: 'test.vue', + code: '', + errors: [ + { + message: 'Unexpected use of forbidden HTML element button.', + line: 1, + column: 16 + } + ], + options: ['error', 'button'] + }, + { + filename: 'test.vue', + code: '', + errors: [ + { + message: 'Unexpected use of forbidden HTML element div.', + line: 1, + column: 11 + } + ], + options: ['error', 'div'] + }, + { + filename: 'test.vue', + code: '', + errors: [ + { + message: 'Custom error', + line: 1, + column: 11 + } + ], + options: ['error', { element: 'marquee', message: 'Custom error' }] + } + ] +}) From 40c20cdab69a3a369eb5642d935284a4e2e9bc95 Mon Sep 17 00:00:00 2001 From: Douglas Wade Date: Tue, 22 Mar 2022 19:40:12 -0700 Subject: [PATCH 03/21] Update lib/rules/no-restricted-html-elements.js Co-authored-by: Flo Edelmann --- lib/rules/no-restricted-html-elements.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/rules/no-restricted-html-elements.js b/lib/rules/no-restricted-html-elements.js index 0998fed86..b0e0f0bae 100644 --- a/lib/rules/no-restricted-html-elements.js +++ b/lib/rules/no-restricted-html-elements.js @@ -10,7 +10,7 @@ module.exports = { meta: { type: 'suggestion', docs: { - description: 'prevent usage of restricted html elements', + description: 'disallow specific HTML elements', categories: undefined, url: 'https://eslint.vuejs.org/rules/no-restricted-html-elements.html' }, From 2f837baaadf0dcd29ed9c6a04e731d12fa307a12 Mon Sep 17 00:00:00 2001 From: Douglas Wade Date: Tue, 22 Mar 2022 19:40:21 -0700 Subject: [PATCH 04/21] Update docs/rules/no-restricted-html-elements.md Co-authored-by: Flo Edelmann --- docs/rules/no-restricted-html-elements.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/rules/no-restricted-html-elements.md b/docs/rules/no-restricted-html-elements.md index a49a304d5..463eff6c4 100644 --- a/docs/rules/no-restricted-html-elements.md +++ b/docs/rules/no-restricted-html-elements.md @@ -53,7 +53,7 @@ Alternatively, the rule also accepts objects. }, { "element": "marquee", - "message": "Do not use deprecate html tags" + "message": "Do not use deprecated HTML tags" } ] } From d32eac129d6bce0e23d8f6ba0ae341e2851d6d2e Mon Sep 17 00:00:00 2001 From: Douglas Wade Date: Tue, 22 Mar 2022 19:40:28 -0700 Subject: [PATCH 05/21] Update lib/rules/no-restricted-html-elements.js Co-authored-by: Flo Edelmann --- lib/rules/no-restricted-html-elements.js | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/lib/rules/no-restricted-html-elements.js b/lib/rules/no-restricted-html-elements.js index b0e0f0bae..74fde1e69 100644 --- a/lib/rules/no-restricted-html-elements.js +++ b/lib/rules/no-restricted-html-elements.js @@ -60,9 +60,8 @@ module.exports = { if (element === node.rawName) { context.report({ - messageId: 'restrictedHtmlElement', - node: node.startTag, - data: { message } + message, + node: node.startTag }) } }) From 59d1c5d7ddc3f88280ca5e0d7bc775712413b3c6 Mon Sep 17 00:00:00 2001 From: Douglas Wade Date: Tue, 22 Mar 2022 19:40:41 -0700 Subject: [PATCH 06/21] Update tests/lib/rules/no-restricted-html-elements.js Co-authored-by: Yosuke Ota --- tests/lib/rules/no-restricted-html-elements.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/lib/rules/no-restricted-html-elements.js b/tests/lib/rules/no-restricted-html-elements.js index 4b0b645bf..346b7e495 100644 --- a/tests/lib/rules/no-restricted-html-elements.js +++ b/tests/lib/rules/no-restricted-html-elements.js @@ -16,7 +16,7 @@ tester.run('no-restricted-html-elements', rule, { { filename: 'test.vue', code: '', - options: ['error', 'button'] + options: ['button'] }, { filename: 'test.vue', From 409f48a46457331cb44e9097f3495ed9f5b515db Mon Sep 17 00:00:00 2001 From: Douglas Wade Date: Tue, 22 Mar 2022 19:40:47 -0700 Subject: [PATCH 07/21] Update tests/lib/rules/no-restricted-html-elements.js Co-authored-by: Yosuke Ota --- tests/lib/rules/no-restricted-html-elements.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/lib/rules/no-restricted-html-elements.js b/tests/lib/rules/no-restricted-html-elements.js index 346b7e495..b25511189 100644 --- a/tests/lib/rules/no-restricted-html-elements.js +++ b/tests/lib/rules/no-restricted-html-elements.js @@ -26,7 +26,7 @@ tester.run('no-restricted-html-elements', rule, { { filename: 'test.vue', code: '', - options: ['error', 'div'] + options: ['div'] }, { filename: 'test.vue', From b7ca92b3bed786ddcae9235991a68009bb624ec8 Mon Sep 17 00:00:00 2001 From: Douglas Wade Date: Tue, 22 Mar 2022 19:40:53 -0700 Subject: [PATCH 08/21] Update tests/lib/rules/no-restricted-html-elements.js Co-authored-by: Yosuke Ota --- tests/lib/rules/no-restricted-html-elements.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/lib/rules/no-restricted-html-elements.js b/tests/lib/rules/no-restricted-html-elements.js index b25511189..d1bc2344f 100644 --- a/tests/lib/rules/no-restricted-html-elements.js +++ b/tests/lib/rules/no-restricted-html-elements.js @@ -31,7 +31,7 @@ tester.run('no-restricted-html-elements', rule, { { filename: 'test.vue', code: '', - options: ['error', 'button'] + options: ['button'] } ], invalid: [ From 4a62c156f8eb539ca00fbafb1e7f072a384dc26f Mon Sep 17 00:00:00 2001 From: Douglas Wade Date: Tue, 22 Mar 2022 19:41:02 -0700 Subject: [PATCH 09/21] Update tests/lib/rules/no-restricted-html-elements.js Co-authored-by: Yosuke Ota --- tests/lib/rules/no-restricted-html-elements.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/lib/rules/no-restricted-html-elements.js b/tests/lib/rules/no-restricted-html-elements.js index d1bc2344f..5077cb0b3 100644 --- a/tests/lib/rules/no-restricted-html-elements.js +++ b/tests/lib/rules/no-restricted-html-elements.js @@ -45,7 +45,7 @@ tester.run('no-restricted-html-elements', rule, { column: 16 } ], - options: ['error', 'button'] + options: ['button'] }, { filename: 'test.vue', From 51c0f9bed60f8db386a250ead9dbd1d99e15a8cd Mon Sep 17 00:00:00 2001 From: Douglas Wade Date: Tue, 22 Mar 2022 19:41:07 -0700 Subject: [PATCH 10/21] Update tests/lib/rules/no-restricted-html-elements.js Co-authored-by: Yosuke Ota --- tests/lib/rules/no-restricted-html-elements.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/lib/rules/no-restricted-html-elements.js b/tests/lib/rules/no-restricted-html-elements.js index 5077cb0b3..6444896c4 100644 --- a/tests/lib/rules/no-restricted-html-elements.js +++ b/tests/lib/rules/no-restricted-html-elements.js @@ -57,7 +57,7 @@ tester.run('no-restricted-html-elements', rule, { column: 11 } ], - options: ['error', 'div'] + options: ['div'] }, { filename: 'test.vue', From 28b7883d4fb82eab6d964314b7a185743361b797 Mon Sep 17 00:00:00 2001 From: Douglas Wade Date: Tue, 22 Mar 2022 19:41:14 -0700 Subject: [PATCH 11/21] Update tests/lib/rules/no-restricted-html-elements.js Co-authored-by: Yosuke Ota --- tests/lib/rules/no-restricted-html-elements.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/lib/rules/no-restricted-html-elements.js b/tests/lib/rules/no-restricted-html-elements.js index 6444896c4..903cde02c 100644 --- a/tests/lib/rules/no-restricted-html-elements.js +++ b/tests/lib/rules/no-restricted-html-elements.js @@ -69,7 +69,7 @@ tester.run('no-restricted-html-elements', rule, { column: 11 } ], - options: ['error', { element: 'marquee', message: 'Custom error' }] + options: [{ element: 'marquee', message: 'Custom error' }] } ] }) From 680011877c0840d9bde27e691789a109feda81d0 Mon Sep 17 00:00:00 2001 From: Douglas Wade Date: Tue, 22 Mar 2022 19:41:19 -0700 Subject: [PATCH 12/21] Update docs/rules/no-restricted-html-elements.md Co-authored-by: Yosuke Ota --- docs/rules/no-restricted-html-elements.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/rules/no-restricted-html-elements.md b/docs/rules/no-restricted-html-elements.md index 463eff6c4..f30a376bc 100644 --- a/docs/rules/no-restricted-html-elements.md +++ b/docs/rules/no-restricted-html-elements.md @@ -6,7 +6,7 @@ This rule allows you to specify html elements that you don't want to use in your application. - + ```vue From 0202bced8da85c66f11acbd388819c3ac0c0ef5a Mon Sep 17 00:00:00 2001 From: Douglas Wade Date: Tue, 22 Mar 2022 19:41:29 -0700 Subject: [PATCH 13/21] Update tests/lib/rules/no-restricted-html-elements.js Co-authored-by: Yosuke Ota --- tests/lib/rules/no-restricted-html-elements.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/lib/rules/no-restricted-html-elements.js b/tests/lib/rules/no-restricted-html-elements.js index 903cde02c..775d94580 100644 --- a/tests/lib/rules/no-restricted-html-elements.js +++ b/tests/lib/rules/no-restricted-html-elements.js @@ -21,7 +21,7 @@ tester.run('no-restricted-html-elements', rule, { { filename: 'test.vue', code: '', - options: ['error', 'button'] + options: ['button'] }, { filename: 'test.vue', From d87c63b34bc2a7e6ab4d99a50d1d8d2ecbbc3cf7 Mon Sep 17 00:00:00 2001 From: Douglas Wade Date: Tue, 22 Mar 2022 19:41:46 -0700 Subject: [PATCH 14/21] Update docs/rules/no-restricted-html-elements.md Co-authored-by: Flo Edelmann --- docs/rules/no-restricted-html-elements.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/rules/no-restricted-html-elements.md b/docs/rules/no-restricted-html-elements.md index f30a376bc..a43b371a3 100644 --- a/docs/rules/no-restricted-html-elements.md +++ b/docs/rules/no-restricted-html-elements.md @@ -49,7 +49,7 @@ Alternatively, the rule also accepts objects. "error", { "element": "button", - "message": "Prefer use of our custom - + ``` @@ -42,9 +44,11 @@ This rule takes a list of strings, where each string is an HTML element name to ```vue - - - + ``` @@ -77,9 +81,11 @@ The following properties can be specified for the object. ```vue - - - + ```