UNPKG

react-klasha

Version:

This is an reactJS library for implementing klasha payment gateway

156 lines (155 loc) 8.12 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.runProgram = exports.run = void 0; const tslib_1 = require("tslib"); const commander_1 = tslib_1.__importDefault(require("commander")); const colors_1 = tslib_1.__importDefault(require("./colors")); const config_1 = require("./config"); const errors_1 = require("./errors"); const ipc_1 = require("./ipc"); const log_1 = require("./log"); const telemetry_1 = require("./telemetry"); const cli_1 = require("./util/cli"); const emoji_1 = require("./util/emoji"); process.on('unhandledRejection', error => { console.error(colors_1.default.failure('[fatal]'), error); }); process.on('message', ipc_1.receive); async function run() { try { const config = await config_1.loadConfig(); runProgram(config); } catch (e) { process.exitCode = errors_1.isFatal(e) ? e.exitCode : 1; log_1.logger.error(e.message ? e.message : String(e)); } } exports.run = run; function runProgram(config) { commander_1.default.version(config.cli.package.version); commander_1.default .command('config', { hidden: true }) .description(`print evaluated Capacitor config`) .option('--json', 'Print in JSON format') .action(cli_1.wrapAction(async ({ json }) => { const { configCommand } = await Promise.resolve().then(() => tslib_1.__importStar(require('./tasks/config'))); await configCommand(config, json); })); commander_1.default .command('create [directory] [name] [id]', { hidden: true }) .description('Creates a new Capacitor project') .action(cli_1.wrapAction(async () => { const { createCommand } = await Promise.resolve().then(() => tslib_1.__importStar(require('./tasks/create'))); await createCommand(); })); commander_1.default .command('init [appName] [appId]') .description(`Initialize Capacitor configuration`) .option('--web-dir <value>', 'Optional: Directory of your projects built web assets') .action(cli_1.wrapAction(telemetry_1.telemetryAction(config, async (appName, appId, { webDir }) => { const { initCommand } = await Promise.resolve().then(() => tslib_1.__importStar(require('./tasks/init'))); await initCommand(config, appName, appId, webDir); }))); commander_1.default .command('serve', { hidden: true }) .description('Serves a Capacitor Progressive Web App in the browser') .action(cli_1.wrapAction(async () => { const { serveCommand } = await Promise.resolve().then(() => tslib_1.__importStar(require('./tasks/serve'))); await serveCommand(); })); commander_1.default .command('sync [platform]') .description(`${colors_1.default.input('copy')} + ${colors_1.default.input('update')}`) .option('--deployment', "Optional: if provided, Podfile.lock won't be deleted and pod install will use --deployment option") .action(cli_1.wrapAction(telemetry_1.telemetryAction(config, async (platform, { deployment }) => { const { syncCommand } = await Promise.resolve().then(() => tslib_1.__importStar(require('./tasks/sync'))); await syncCommand(config, platform, deployment); }))); commander_1.default .command('update [platform]') .description(`updates the native plugins and dependencies based on ${colors_1.default.strong('package.json')}`) .option('--deployment', "Optional: if provided, Podfile.lock won't be deleted and pod install will use --deployment option") .action(cli_1.wrapAction(telemetry_1.telemetryAction(config, async (platform, { deployment }) => { const { updateCommand } = await Promise.resolve().then(() => tslib_1.__importStar(require('./tasks/update'))); await updateCommand(config, platform, deployment); }))); commander_1.default .command('copy [platform]') .description('copies the web app build into the native app') .action(cli_1.wrapAction(telemetry_1.telemetryAction(config, async (platform) => { const { copyCommand } = await Promise.resolve().then(() => tslib_1.__importStar(require('./tasks/copy'))); await copyCommand(config, platform); }))); commander_1.default .command(`run [platform]`) .description(`runs ${colors_1.default.input('sync')}, then builds and deploys the native app`) .option('--list', 'list targets, then quit') // TODO: remove once --json is a hidden option (https://github.com/tj/commander.js/issues/1106) .allowUnknownOption(true) .option('--target <id>', 'use a specific target') .option('--no-sync', `do not run ${colors_1.default.input('sync')}`) .action(cli_1.wrapAction(telemetry_1.telemetryAction(config, async (platform, { list, target, sync }) => { const { runCommand } = await Promise.resolve().then(() => tslib_1.__importStar(require('./tasks/run'))); await runCommand(config, platform, { list, target, sync }); }))); commander_1.default .command('open [platform]') .description('opens the native project workspace (Xcode for iOS)') .action(cli_1.wrapAction(telemetry_1.telemetryAction(config, async (platform) => { const { openCommand } = await Promise.resolve().then(() => tslib_1.__importStar(require('./tasks/open'))); await openCommand(config, platform); }))); commander_1.default .command('add [platform]') .description('add a native platform project') .action(cli_1.wrapAction(telemetry_1.telemetryAction(config, async (platform) => { const { addCommand } = await Promise.resolve().then(() => tslib_1.__importStar(require('./tasks/add'))); await addCommand(config, platform); }))); commander_1.default .command('ls [platform]') .description('list installed Cordova and Capacitor plugins') .action(cli_1.wrapAction(telemetry_1.telemetryAction(config, async (platform) => { const { listCommand } = await Promise.resolve().then(() => tslib_1.__importStar(require('./tasks/list'))); await listCommand(config, platform); }))); commander_1.default .command('doctor [platform]') .description('checks the current setup for common errors') .action(cli_1.wrapAction(telemetry_1.telemetryAction(config, async (platform) => { const { doctorCommand } = await Promise.resolve().then(() => tslib_1.__importStar(require('./tasks/doctor'))); await doctorCommand(config, platform); }))); commander_1.default .command('telemetry [on|off]', { hidden: true }) .description('enable or disable telemetry') .action(cli_1.wrapAction(async (onOrOff) => { const { telemetryCommand } = await Promise.resolve().then(() => tslib_1.__importStar(require('./tasks/telemetry'))); await telemetryCommand(onOrOff); })); commander_1.default .command('📡', { hidden: true }) .description('IPC receiver command') .action(() => { // no-op: IPC messages are received via `process.on('message')` }); commander_1.default .command('plugin:generate', { hidden: true }) .description('start a new Capacitor plugin') .action(cli_1.wrapAction(async () => { const { newPluginCommand } = await Promise.resolve().then(() => tslib_1.__importStar(require('./tasks/new-plugin'))); await newPluginCommand(); })); commander_1.default.arguments('[command]').action(cli_1.wrapAction(async (cmd) => { if (typeof cmd === 'undefined') { log_1.output.write(`\n ${emoji_1.emoji('⚡️', '--')} ${colors_1.default.strong('Capacitor - Cross-Platform apps with JavaScript and the Web')} ${emoji_1.emoji('⚡️', '--')}\n\n`); commander_1.default.outputHelp(); } else { errors_1.fatal(`Unknown command: ${colors_1.default.input(cmd)}`); } })); commander_1.default.parse(process.argv); } exports.runProgram = runProgram;