49 lines
1.8 KiB
JavaScript
49 lines
1.8 KiB
JavaScript
"use strict";
|
|
var _a;
|
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
exports.run = void 0;
|
|
const Debug = require("debug");
|
|
const path = require("path");
|
|
const errors_1 = require("./errors");
|
|
const debug = Debug('native-run');
|
|
async function run() {
|
|
const args = process.argv.slice(2);
|
|
if (args.includes('--version')) {
|
|
const pkg = await (_a = path.resolve(__dirname, '../package.json'), Promise.resolve().then(() => require(_a)));
|
|
process.stdout.write(pkg.version + '\n');
|
|
return;
|
|
}
|
|
let cmd;
|
|
const [platform, ...platformArgs] = args;
|
|
try {
|
|
if (platform === 'android') {
|
|
cmd = await Promise.resolve().then(() => require('./android'));
|
|
await cmd.run(platformArgs);
|
|
}
|
|
else if (platform === 'ios') {
|
|
cmd = await Promise.resolve().then(() => require('./ios'));
|
|
await cmd.run(platformArgs);
|
|
}
|
|
else if (platform === '--list') {
|
|
cmd = await Promise.resolve().then(() => require('./list'));
|
|
await cmd.run(args);
|
|
}
|
|
else {
|
|
if (!platform ||
|
|
platform === 'help' ||
|
|
args.includes('--help') ||
|
|
args.includes('-h') ||
|
|
platform.startsWith('-')) {
|
|
cmd = await Promise.resolve().then(() => require('./help'));
|
|
return cmd.run(args);
|
|
}
|
|
throw new errors_1.CLIException(`Unsupported platform: "${platform}"`, errors_1.ERR_BAD_INPUT);
|
|
}
|
|
}
|
|
catch (e) {
|
|
debug('Caught fatal error: %O', e);
|
|
process.exitCode = e instanceof errors_1.Exception ? e.exitCode : 1 /* ExitCode.GENERAL */;
|
|
process.stdout.write((0, errors_1.serializeError)(e));
|
|
}
|
|
}
|
|
exports.run = run;
|