UNPKG

@opra/cli

Version:
41 lines (40 loc) 1.79 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const tslib_1 = require("tslib"); const console = tslib_1.__importStar(require("node:console")); const fs = tslib_1.__importStar(require("node:fs")); const node_path_1 = tslib_1.__importDefault(require("node:path")); const process = tslib_1.__importStar(require("node:process")); const common_1 = require("@opra/common"); const ansi_colors_1 = tslib_1.__importDefault(require("ansi-colors")); const commander_1 = require("commander"); const ts_generator_js_1 = require("./ts-generator/ts-generator.js"); const dirname = node_path_1.default.dirname((0, common_1.getStackFileName)()); const pkgJson = JSON.parse(fs.readFileSync(node_path_1.default.resolve(dirname, '../package.json'), 'utf-8')); commander_1.program .version(pkgJson.version) .argument('<serviceUrl>', 'OPRA service url') .argument('<outDir>', 'Output directory') .option('--ext', 'Adds js extension to imports') .option('--refns', 'Exports references with namespaces') .option('--no-color', 'Disables colors in logs messages') .action(async (serviceUrl, outDir, options) => { if (!options.color) ansi_colors_1.default.enabled = false; const generator = new ts_generator_js_1.TsGenerator({ serviceUrl, logger: console, outDir, importExt: options.ext, referenceNamespaces: options.refns, fileHeader: `/* Generated by OPRA Code Generator, Version ${pkgJson.version} */`, }); await generator .generate() .then(() => console.log(ansi_colors_1.default.greenBright('Completed'))) .catch(e => console.error(e.message)); }); if (process.argv.length < 3) commander_1.program.help(); else commander_1.program.parse(process.argv);