diff --git a/lib/rules/require-meta-schema.js b/lib/rules/require-meta-schema.js index 4b0c8913..f5174a1a 100644 --- a/lib/rules/require-meta-schema.js +++ b/lib/rules/require-meta-schema.js @@ -68,7 +68,7 @@ module.exports = { } let { value } = schemaNode; - if (value.type === 'Identifier') { + if (value.type === 'Identifier' && value.name !== 'undefined') { const variable = findVariable( scopeManager.acquire(value) || scopeManager.globalScope, value diff --git a/tests/lib/rules/require-meta-docs-description.js b/tests/lib/rules/require-meta-docs-description.js index c174e5f2..e8c67109 100644 --- a/tests/lib/rules/require-meta-docs-description.js +++ b/tests/lib/rules/require-meta-docs-description.js @@ -134,6 +134,26 @@ ruleTester.run('require-meta-docs-description', rule, { output: null, errors: [{ messageId: 'wrongType', type: 'Literal' }], }, + { + code: ` + module.exports = { + meta: { docs: { description: null } }, + create(context) {} + }; + `, + output: null, + errors: [{ messageId: 'wrongType', type: 'Literal' }], + }, + { + code: ` + module.exports = { + meta: { docs: { description: undefined } }, + create(context) {} + }; + `, + output: null, + errors: [{ messageId: 'wrongType', type: 'Identifier' }], + }, { code: ` const DESCRIPTION = true; diff --git a/tests/lib/rules/require-meta-has-suggestions.js b/tests/lib/rules/require-meta-has-suggestions.js index 38e6005c..b8e6927e 100644 --- a/tests/lib/rules/require-meta-has-suggestions.js +++ b/tests/lib/rules/require-meta-has-suggestions.js @@ -74,6 +74,24 @@ ruleTester.run('require-meta-has-suggestions', rule, { } }; `, + // No suggestions reported, hasSuggestions property set to `null`. + ` + module.exports = { + meta: { hasSuggestions: null }, + create(context) { + context.report({node, message}); + } + }; + `, + // No suggestions reported, hasSuggestions property set to `undefined`. + ` + module.exports = { + meta: { hasSuggestions: undefined }, + create(context) { + context.report({node, message}); + } + }; + `, // No suggestions reported, hasSuggestions property set to false (as variable). ` const hasSuggestions = false; diff --git a/tests/lib/rules/require-meta-schema.js b/tests/lib/rules/require-meta-schema.js index 0a32c60f..90c5f85a 100644 --- a/tests/lib/rules/require-meta-schema.js +++ b/tests/lib/rules/require-meta-schema.js @@ -129,6 +129,16 @@ schema: [] }, output: null, errors: [{ messageId: 'wrongType', type: 'Literal' }], }, + { + code: ` + module.exports = { + meta: { schema: undefined }, + create(context) {} + }; + `, + output: null, + errors: [{ messageId: 'wrongType', type: 'Identifier' }], + }, { code: ` const schema = null;