diff --git a/lib/rules/no-console.js b/lib/rules/no-console.js index cf4254035..5c5e8b5e0 100644 --- a/lib/rules/no-console.js +++ b/lib/rules/no-console.js @@ -8,6 +8,7 @@ const utils = require('../utils') // eslint-disable-next-line no-invalid-meta, no-invalid-meta-docs-categories module.exports = utils.wrapCoreRule('no-console', { + skipCoreHandlers: true, create(context) { const options = context.options[0] || {} const allowed = options.allow || [] diff --git a/lib/utils/index.js b/lib/utils/index.js index 1c54ef3f0..337b31a83 100644 --- a/lib/utils/index.js +++ b/lib/utils/index.js @@ -382,6 +382,7 @@ module.exports = { * @param {boolean} [options.skipDynamicArguments] If `true`, skip validation within dynamic arguments. * @param {boolean} [options.skipDynamicArgumentsReport] If `true`, skip report within dynamic arguments. * @param {boolean} [options.applyDocument] If `true`, apply check to document fragment. + * @param {boolean} [options.skipCoreHandlers] If `true`, skip core handlers. * @param {WrapCoreRulePreprocess} [options.preprocess] Preprocess to calling create of core rule. * @param {WrapCoreRuleCreate} [options.create] If define, extend core rule. * @returns {RuleModule} The wrapped rule implementation. @@ -418,6 +419,7 @@ module.exports = { categories, skipDynamicArguments, skipDynamicArgumentsReport, + skipCoreHandlers, applyDocument, preprocess, create @@ -457,7 +459,9 @@ module.exports = { } const coreHandlers = coreRule.create(context) - compositingVisitors(handlers, coreHandlers) + if (!skipCoreHandlers) { + compositingVisitors(handlers, coreHandlers) + } // Move `Program` handlers to `VElement[parent.type!='VElement']` if (handlers.Program) { diff --git a/tests/lib/rules/no-console.js b/tests/lib/rules/no-console.js index a0c273042..7b6acfeab 100644 --- a/tests/lib/rules/no-console.js +++ b/tests/lib/rules/no-console.js @@ -53,6 +53,15 @@ tester.run('no-console', rule, { `, options: [{ allow: ['log', 'warn', 'info'] }] + }, + { + filename: 'test.vue', + code: ` + + + ` } ], invalid: [