react-native-integrate
Version:
Automate integration of additional code into React Native projects
44 lines (43 loc) • 1.74 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
const commander_1 = require("commander");
require("isomorphic-fetch");
const options_1 = require("./options");
const progress_1 = require("./progress");
const prompter_1 = require("./prompter");
const upgrade_1 = require("./upgrade");
const getErrMessage_1 = require("./utils/getErrMessage");
// eslint-disable-next-line @typescript-eslint/no-require-imports
const { version } = require('../package.json');
const program = new commander_1.Command();
program
.version(version)
.name('upgrade')
.description('Upgrade React Native project. Re-integrate previously integrated modules and apply own changes.')
.option('-m, --manual', 'enables manual upgrade, you must run this command in the folder of the new created project', false)
.option('-v, --verbose', 'enables verbose logging', false)
.option('-i, --interactive', 'allow', false)
.action(async (args) => {
options_1.options.set(args);
(0, prompter_1.logIntro)('react-native-integrate - upgrade project');
try {
progress_1.progress.setOptions({
title: 'upgrading project',
total: 8,
step: 0,
});
if (!args.verbose)
progress_1.progress.display();
await (0, upgrade_1.upgrade)();
progress_1.progress.hide();
(0, prompter_1.logOutro)('completed project upgrade');
}
catch (e) {
progress_1.progress.hide();
const errMessage = (0, getErrMessage_1.getErrMessage)(e);
(0, prompter_1.logError)(errMessage);
(0, prompter_1.logOutro)('project upgrade failed', true);
}
})
.showHelpAfterError();
program.parseAsync().catch(console.warn);