1.7.0 • Published 2 years ago

eslint-extends-callbacks v1.7.0

Weekly downloads
3
License
MIT
Repository
github
Last release
2 years ago

eslint-extends-callbacks

The default way to customize the base config is to override any rules completely. However, for things like modifying the severity, this causes needless duplication. To prevent this, this module allows you to override the rules using callbacks.

Whenever a rule is a function, it will be called with the rule from the base config's array as separate arguments. Its return value is then used as the new rule.

Alternatively, the entire rules property can be a function in which case it will be called with the full rules object from the base configs, and its return value is then used as the full ruleset.

Example

const extendsCallbacks = require('./eslint-extends-callbacks');

module.exports = extendsCallbacks({
	extends: [
		'airbnb',
	],
	rules: {
		// Don't allow multiple empty lines
		'no-multiple-empty-lines': (severity, options) => [severity, { ...options, 'max': 1 }],
	},
}, __filename, __dirname);
const extendsCallbacks = require('./eslint-extends-callbacks');

module.exports = extendsCallbacks({
	extends: [
		'airbnb',
	],
	rules: (rules) => ({
		// Don't allow multiple empty lines
		'no-multiple-empty-lines': (
			r = rules['no-multiple-empty-lines'],
			[r[0], { ...r[1], 'max': 1 }]
		),
	}),
}, __filename, __dirname);
1.7.0

2 years ago

1.6.0

2 years ago

1.5.2

4 years ago

1.5.1

4 years ago

1.5.0

4 years ago

1.4.0

4 years ago

1.3.0

4 years ago

1.2.0

6 years ago

1.1.0

6 years ago

1.0.2

6 years ago

1.0.1

6 years ago

1.0.0

6 years ago