eslint-plugin-no-copy-paste-default-export
Version:
no more copy-pasted classes with wrong display name
26 lines (19 loc) • 719 B
JavaScript
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
var _path = require('path');
var _path2 = _interopRequireDefault(_path);
var classNameMatch = /export[\s]+default[\s]+class[\s]+([\S]+)/i;
module.exports = function (context) {
return {
'ExportDefaultDeclaration': function ExportDefaultDeclaration(node) {
var filename = _path2['default'].parse(context.getFilename()).name;
var match = classNameMatch.exec(context.getSource(node));
if (match && match[1] !== filename) {
context.report(node, '(class name) ' + match[1] + ' !== ' + filename + ' (file name)');
}
}
};
};
module.exports.meta = {
config: 2
};
;