UNPKG

canonical

Version:

Canonical code style linter and formatter for JavaScript, SCSS and CSS.

84 lines (60 loc) 1.99 kB
'use strict'; Object.defineProperty(exports, "__esModule", { value: true }); var _forEach = require('lodash/collection/forEach'); var _forEach2 = _interopRequireDefault(_forEach); var _path = require('path'); var _path2 = _interopRequireDefault(_path); var _fs = require('fs'); var _fs2 = _interopRequireDefault(_fs); var _lintText = require('./lintText'); var _lintText2 = _interopRequireDefault(_lintText); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } var linterMap = undefined; linterMap = { '.js': 'js', '.css': 'scss', '.scss': 'scss' }; /** * @typedef lintFiles~report * @property {lintText~result[]} results * @property {number} errorCount * @property {number} warningCount */ /** * @param {string[]} filePaths * @return {lintFiles~report} */ exports.default = function (filePaths) { var report = undefined; report = {}; report.results = []; report.errorCount = 0; report.warningCount = 0; (0, _forEach2.default)(filePaths, function (filePath) { var extensionName = undefined, result = undefined, text = undefined; extensionName = _path2.default.extname(filePath); if (linterMap[extensionName]) { text = _fs2.default.readFileSync(filePath, { encoding: 'utf8' }); result = (0, _lintText2.default)(text, { linter: linterMap[extensionName] }); result.filePath = filePath; report.results.push(result); report.errorCount += result.errorCount; report.warningCount += result.warningCount; } else { /* eslint-disable no-console */ console.warn('Ignoring file "' + filePath + '". No linter mapped to "' + extensionName + '" extension.'); /* eslint-enable no-console */ } }); return report; }; //# sourceMappingURL=lintFiles.js.map