Defining a schema for each rule allows eslint to validate that configuration options are passed correctly. Even when there are no options for a rule, a schema should still be defined (as an empty array) so that eslint can validate that no data is passed to the rule.
This rule requires ESLint rules to have a valid meta.schema
property.
Examples of incorrect code for this rule:
/* eslint eslint-plugin/require-meta-schema: error */
module.exports = {
meta: {},
create: function(context) { /* ... */}
};
module.exports = {
meta: { schema: null },
create: function(context) { /* ... */}
};
Examples of correct code for this rule:
/* eslint eslint-plugin/require-meta-schema: error */
module.exports = {
meta: { schema: [] }, // ensures no options are passed to the rule
create: function(context) { /* ... */}
};
module.exports = {
meta: {
schema: [
{
type: 'object',
properties: {
exceptRange: {
type: 'boolean'
}
},
additionalProperties: false
}
]
},
create: function(context) { /* ... */}
};