diff --git a/lib/rules/require-meta-schema.js b/lib/rules/require-meta-schema.js index a4d5def9..01510520 100644 --- a/lib/rules/require-meta-schema.js +++ b/lib/rules/require-meta-schema.js @@ -28,7 +28,7 @@ module.exports = { ], messages: { missing: '`meta.schema` is required (use [] if rule has no schema).', - wrongType: '`meta.schema` should be an array (use [] if rule has no schema).', + wrongType: '`meta.schema` should be an array or object (use [] if rule has no schema).', }, }, @@ -56,7 +56,7 @@ module.exports = { return utils.insertProperty(fixer, metaNode, 'schema: []', sourceCode); }, }); - } else if (schemaNode.value.type !== 'ArrayExpression') { + } else if (!['ArrayExpression', 'ObjectExpression'].includes(schemaNode.value.type)) { context.report({ node: schemaNode.value, messageId: 'wrongType' }); } }, diff --git a/tests/lib/rules/require-meta-schema.js b/tests/lib/rules/require-meta-schema.js index 21acd912..db79efba 100644 --- a/tests/lib/rules/require-meta-schema.js +++ b/tests/lib/rules/require-meta-schema.js @@ -26,6 +26,12 @@ ruleTester.run('require-meta-schema', rule, { create(context) {} }; `, + ` + module.exports = { + meta: { schema: { "enum": ["always", "never"] } }, + create(context) {} + }; + `, ], invalid: [