UNPKG

@jqassistant/ts-lce

Version:

Tool to extract language concepts from a TypeScript codebase and export them to a JSON file.

38 lines (37 loc) 1.9 kB
#! /usr/bin/env node "use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); const commander_1 = require("commander"); const extractor_1 = require("./core/extractor"); const package_json_1 = __importDefault(require("../package.json")); const react_extractor_1 = require("./react/react-extractor"); const log_utils_1 = require("./core/utils/log.utils"); const type_utils_1 = require("./core/processors/type.utils"); // Setup CLI commander_1.program .name("jqa-ts-lce") .description("jQAssistant TypeScript Language Concept Extractor\n" + "Tool to extract language concepts from a TypeScript codebase and export them to a JSON file.") .version(package_json_1.default.version) .argument("[path]", "path to the root of the TypeScript project to be scanned", ".") .option("-e, --extension [extensions...]", "space separated list of extensions to activate (currently available: react)") .option("-p, --pretty", "pretty-print JSON result report") .option("--type-resolution-depth", "depth at which nested types are no longer resolved", "10") .option("-d, --debug", "print debug information"); commander_1.program.parse(); // retrieve CLI arguments and options const options = commander_1.program.opts(); const extensions = options.extension ?? []; const prettyPrint = !!options.pretty; (0, type_utils_1.setMaxTypeResolutionDepth)(parseInt(options.typeResolutionDepth)); (0, log_utils_1.setDebugLogging)(!!options.debug); const projectRootPath = commander_1.program.processedArgs[0]; // initialize extensions if (extensions.includes("react")) { (0, react_extractor_1.initializeReactExtractor)(); } // initializeReactExtractor(); (0, extractor_1.processProjectsAndOutputResult)(projectRootPath, { prettyPrint });