UNPKG

rollup-plugin-eslint

Version:

Verify entry point and all imported files with ESLint

56 lines (42 loc) 4.65 kB
'use strict'; function _interopDefault (ex) { return (ex && (typeof ex === 'object') && 'default' in ex) ? ex['default'] : ex; } var path = _interopDefault(require('path')); var rollupPluginutils = require('rollup-pluginutils'); var eslint = require('eslint'); function normalizePath(id) { return path.relative(process.cwd(), id).split(path.sep).join('/'); } function eslint$1(options) { if ( options === void 0 ) options = {}; var cli = new eslint.CLIEngine(options); var formatter = options.formatter; if (typeof formatter !== 'function') { formatter = cli.getFormatter(formatter || 'stylish'); } var filter = rollupPluginutils.createFilter( options.include, options.exclude || 'node_modules/**' ); return { name: 'eslint', transform: function transform(code, id) { var file = normalizePath(id); if (cli.isPathIgnored(file) || !filter(id)) { return null; } var report = cli.executeOnText(code, file); if (!report.errorCount && !report.warningCount) { return null; } var result = formatter(report.results); if (result) { console.log(result); } if (options.throwError) { throw Error('Warnings or errors were found'); } } }; } module.exports = eslint$1; //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjpudWxsLCJzb3VyY2VzIjpbIi4uL3NyYy9pbmRleC5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgcGF0aCBmcm9tICdwYXRoJztcclxuaW1wb3J0IHsgY3JlYXRlRmlsdGVyIH0gZnJvbSAncm9sbHVwLXBsdWdpbnV0aWxzJztcclxuaW1wb3J0IHsgQ0xJRW5naW5lIH0gZnJvbSAnZXNsaW50JztcclxuXHJcbmZ1bmN0aW9uIG5vcm1hbGl6ZVBhdGgoaWQpIHtcclxuXHRyZXR1cm4gcGF0aC5yZWxhdGl2ZShwcm9jZXNzLmN3ZCgpLCBpZCkuc3BsaXQocGF0aC5zZXApLmpvaW4oJy8nKTtcclxufVxyXG5cclxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gZXNsaW50KG9wdGlvbnMgPSB7fSkge1xyXG5cdGNvbnN0IGNsaSA9IG5ldyBDTElFbmdpbmUob3B0aW9ucyk7XHJcblx0bGV0IGZvcm1hdHRlciA9IG9wdGlvbnMuZm9ybWF0dGVyO1xyXG5cclxuXHRpZiAodHlwZW9mIGZvcm1hdHRlciAhPT0gJ2Z1bmN0aW9uJykge1xyXG5cdFx0Zm9ybWF0dGVyID0gY2xpLmdldEZvcm1hdHRlcihmb3JtYXR0ZXIgfHwgJ3N0eWxpc2gnKTtcclxuXHR9XHJcblxyXG5cdGNvbnN0IGZpbHRlciA9IGNyZWF0ZUZpbHRlcihcclxuXHRcdG9wdGlvbnMuaW5jbHVkZSxcclxuXHRcdG9wdGlvbnMuZXhjbHVkZSB8fCAnbm9kZV9tb2R1bGVzLyoqJ1xyXG5cdCk7XHJcblxyXG5cdHJldHVybiB7XHJcblx0XHRuYW1lOiAnZXNsaW50JyxcclxuXHJcblx0XHR0cmFuc2Zvcm0oY29kZSwgaWQpIHtcclxuXHRcdFx0Y29uc3QgZmlsZSA9IG5vcm1hbGl6ZVBhdGgoaWQpO1xyXG5cdFx0XHRpZiAoY2xpLmlzUGF0aElnbm9yZWQoZmlsZSkgfHwgIWZpbHRlcihpZCkpIHtcclxuXHRcdFx0XHRyZXR1cm4gbnVsbDtcclxuXHRcdFx0fVxyXG5cclxuXHRcdFx0Y29uc3QgcmVwb3J0ID0gY2xpLmV4ZWN1dGVPblRleHQoY29kZSwgZmlsZSk7XHJcblx0XHRcdGlmICghcmVwb3J0LmVycm9yQ291bnQgJiYgIXJlcG9ydC53YXJuaW5nQ291bnQpIHtcclxuXHRcdFx0XHRyZXR1cm4gbnVsbDtcclxuXHRcdFx0fVxyXG5cclxuXHRcdFx0Y29uc3QgcmVzdWx0ID0gZm9ybWF0dGVyKHJlcG9ydC5yZXN1bHRzKTtcclxuXHRcdFx0aWYgKHJlc3VsdCkge1xyXG5cdFx0XHRcdGNvbnNvbGUubG9nKHJlc3VsdCk7XHJcblx0XHRcdH1cclxuXHJcblx0XHRcdGlmIChvcHRpb25zLnRocm93RXJyb3IpIHtcclxuXHRcdFx0XHR0aHJvdyBFcnJvcignV2FybmluZ3Mgb3IgZXJyb3JzIHdlcmUgZm91bmQnKTtcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdH07XHJcbn1cclxuIl0sIm5hbWVzIjpbImVzbGludCIsImNvbnN0IiwiQ0xJRW5naW5lIiwibGV0IiwiY3JlYXRlRmlsdGVyIl0sIm1hcHBpbmdzIjoiOzs7Ozs7OztBQUlBLFNBQVMsYUFBYSxDQUFDLEVBQUUsRUFBRTtDQUMxQixPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLEdBQUcsRUFBRSxFQUFFLEVBQUUsQ0FBQyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0NBQ2xFOztBQUVELEFBQWUsU0FBU0EsUUFBTSxDQUFDLE9BQVksRUFBRTtrQ0FBUCxHQUFHLEVBQUU7O0NBQzFDQyxJQUFNLEdBQUcsR0FBRyxJQUFJQyxnQkFBUyxDQUFDLE9BQU8sQ0FBQyxDQUFDO0NBQ25DQyxJQUFJLFNBQVMsR0FBRyxPQUFPLENBQUMsU0FBUyxDQUFDOztDQUVsQyxJQUFJLE9BQU8sU0FBUyxLQUFLLFVBQVUsRUFBRTtFQUNwQyxTQUFTLEdBQUcsR0FBRyxDQUFDLFlBQVksQ0FBQyxTQUFTLElBQUksU0FBUyxDQUFDLENBQUM7RUFDckQ7O0NBRURGLElBQU0sTUFBTSxHQUFHRyw4QkFBWTtFQUMxQixPQUFPLENBQUMsT0FBTztFQUNmLE9BQU8sQ0FBQyxPQUFPLElBQUksaUJBQWlCO0VBQ3BDLENBQUM7O0NBRUYsT0FBTztFQUNOLElBQUksRUFBRSxRQUFROztFQUVkLFNBQVMsb0JBQUEsQ0FBQyxJQUFJLEVBQUUsRUFBRSxFQUFFO0dBQ25CSCxJQUFNLElBQUksR0FBRyxhQUFhLENBQUMsRUFBRSxDQUFDLENBQUM7R0FDL0IsSUFBSSxHQUFHLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxFQUFFO0lBQzNDLE9BQU8sSUFBSSxDQUFDO0lBQ1o7O0dBRURBLElBQU0sTUFBTSxHQUFHLEdBQUcsQ0FBQyxhQUFhLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxDQUFDO0dBQzdDLElBQUksQ0FBQyxNQUFNLENBQUMsVUFBVSxJQUFJLENBQUMsTUFBTSxDQUFDLFlBQVksRUFBRTtJQUMvQyxPQUFPLElBQUksQ0FBQztJQUNaOztHQUVEQSxJQUFNLE1BQU0sR0FBRyxTQUFTLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0dBQ3pDLElBQUksTUFBTSxFQUFFO0lBQ1gsT0FBTyxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUNwQjs7R0FFRCxJQUFJLE9BQU8sQ0FBQyxVQUFVLEVBQUU7SUFDdkIsTUFBTSxLQUFLLENBQUMsK0JBQStCLENBQUMsQ0FBQztJQUM3QztHQUNEO0VBQ0QsQ0FBQztDQUNGOzsifQ==