eslint-plugin-listeners
Version:
ESLint plugin for preventing memory leaks around event listeners
32 lines (31 loc) • 1.17 kB
JavaScript
;
const event_listener_1 = require("./rules/event-listener");
const utils_1 = require("./utils");
const rules = {
'no-missing-remove-event-listener': (0, event_listener_1.createRule)(utils_1.RuleType.MissingRemoveEventListener),
'matching-remove-event-listener': (0, event_listener_1.createRule)(utils_1.RuleType.MatchingRemoveEventListener),
'no-inline-function-event-listener': (0, event_listener_1.createRule)(utils_1.RuleType.InlineFunctionEventListener),
};
const ruleSettings = {
'listeners/no-missing-remove-event-listener': 'error',
'listeners/matching-remove-event-listener': 'error',
'listeners/no-inline-function-event-listener': 'error',
};
const plugin = {
rules,
configs: {
recommended: {
plugins: ['listeners'],
rules: ruleSettings,
},
strict: {
plugins: ['listeners'],
rules: ruleSettings,
},
},
};
Object.assign(plugin.configs, {
'flat/recommended': [{ plugins: { listeners: plugin }, rules: ruleSettings }],
'flat/strict': [{ plugins: { listeners: plugin }, rules: ruleSettings }],
});
module.exports = plugin;