UNPKG

chai-latte

Version:

Build expressive & readable fluent interface libraries.

40 lines 1.6 kB
#! /usr/bin/env node "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const tslib_1 = require("tslib"); const commander_1 = require("commander"); const chokidar_1 = tslib_1.__importDefault(require("chokidar")); const fs_1 = tslib_1.__importDefault(require("fs")); const path_1 = tslib_1.__importDefault(require("path")); const compileUsingTsNode_1 = require("./codegen/actions/compileUsingTsNode"); const getPkgInfo = () => { const pkgjsonPath = path_1.default.resolve(__dirname, '..', 'package.json'); const pkgInfoString = fs_1.default.readFileSync(pkgjsonPath, 'utf-8'); const pkgInfo = JSON.parse(pkgInfoString); return pkgInfo; }; const pkgInfo = getPkgInfo(); commander_1.program.name(pkgInfo.name) .version(pkgInfo.version) .option('-i --input <path>', 'Input file path that should be typed') .option('-o --output <filename>', 'Desired generated file name') .option('-w --watch', 'Watch for changes and re-generate typed file'); commander_1.program.parse(); const options = commander_1.program.opts(); const input = options.input || './index'; const output = options.output ? `${options.output}.ts` : 'generated.ts'; const runCompilation = () => { console.log('Start compiling...'); (0, compileUsingTsNode_1.compileUsingTsNode)({ input, output, }); console.log('Done!'); }; runCompilation(); if (options.watch) { const watchPath = path_1.default.resolve(process.cwd(), input + '.ts'); chokidar_1.default.watch(watchPath) .on('change', runCompilation); } //# sourceMappingURL=cli.js.map