UNPKG

@appworks/doctor

Version:

Analyse and running codemods over react/rax projects, troubleshooting and automatically fixing errors

48 lines (47 loc) 1.49 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var path = require("path"); var getFiles_1 = require("./getFiles"); var LANGUAGE_MAP = { '.html': 'HTML', '.js': 'JavaScript', '.jsx': 'JavaScript', '.ts': 'TypeScript', '.tsx': 'TypeScript', '.css': 'CSS', '.scss': 'SASS', '.less': 'Less', '.md': 'Markdown', '.json': 'JSON', '.vue': 'VUE', }; var UNKNOWN_LANGUAGE = 'Other'; var Analyzer = /** @class */ (function () { function Analyzer(options) { this.options = options; } Analyzer.prototype.analyse = function (directory) { var report = { languages: [] }; var languageCache = {}; var files = getFiles_1.default(directory, this.options.ignore); files.forEach(function (file) { var language = LANGUAGE_MAP[path.extname(file.path)] || UNKNOWN_LANGUAGE; if (!languageCache[language]) { languageCache[language] = { language: language, count: 1 }; } else { languageCache[language].count++; } }); Object.keys(languageCache).forEach(function (key) { report.languages.push(languageCache[key]); }); report.filesInfo = { count: files.length, lines: files.reduce(function (total, file) { return total + file.LoC; }, 0), }; return report; }; return Analyzer; }()); exports.default = Analyzer;