UNPKG

cognitive-complexity-ts

Version:

This program analyses TypeScript and JavaScript code according to the [Cognitive Complexity metric](https://www.sonarsource.com/docs/CognitiveComplexity.pdf). It produces a JSON summary and a GUI for exploring the complexity of your codebase.

39 lines 1.57 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); const minimist_1 = __importDefault(require("minimist")); const open_1 = __importDefault(require("open")); const util_1 = require("./util/util"); const output_1 = require("./cognitive-complexity/output"); const ui_server_1 = require("./ui-server/ui-server"); const helpText = "Arguments: [-h | --help] [--port <NUMBER>] [FILE]..."; main(); async function main() { const args = (0, minimist_1.default)(process.argv.slice(2)); if (args["h"] || args["help"]) { console.log(helpText); return; } const givenPort = parseInt(args["port"]); const port = (0, util_1.nonNaN)(givenPort, 5678); const url = `http://localhost:${port}`; const inputFiles = args["_"]; if (inputFiles.length === 0) { console.error("No files given."); console.error(helpText); return; } const combinedOutputsJson = await generateComplexityJson(inputFiles); const server = (0, ui_server_1.createUiServer)(combinedOutputsJson); server.listen(port, () => { console.log(`Server started at ${url}`); (0, open_1.default)(url); }); } async function generateComplexityJson(inputFiles) { const combinedOutputs = await (0, util_1.keysToAsyncValues)(inputFiles, file => (0, output_1.getFileOrFolderOutput)(file)); return JSON.stringify(combinedOutputs); } //# sourceMappingURL=ui.js.map