react-native-version-update
Version:
Change Android and iOS files before build
57 lines (38 loc) • 1.91 kB
JavaScript
;
var _path = _interopRequireDefault(require("path"));
var _fs = _interopRequireDefault(require("fs"));
var _chalk = _interopRequireDefault(require("chalk"));
var _package = require("./package");
var _ios = require("./ios");
var _android = require("./android");
var _version = require("./version");
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
const BUILDER = '--builder=';
const DATE = '--date';
const NEXT = '--next';
const execute = async () => {
const packagePath = _path.default.resolve('package.json');
if (!_fs.default.existsSync(packagePath)) {
return console.log(_chalk.default.red('package.json not found'));
}
let pkg = await (0, _package.getPackage)(packagePath);
const basePath = _path.default.dirname(packagePath);
const builderArg = process.argv.find(arg => arg.includes(BUILDER));
const updateDate = process.argv.some(arg => arg.includes(DATE));
const nextArg = process.argv.some(arg => arg.includes(NEXT));
if (nextArg) {
await (0, _version.nextVersionNumber)(builderArg.slice(BUILDER.length));
return console.log(_chalk.default.green('Build number updated'));
}
let buildNumber = null;
if (builderArg) {
buildNumber = await (0, _version.getVersionNumber)(builderArg.slice(BUILDER.length));
buildNumber = parseInt(buildNumber.replace(/\D/g, ''));
}
pkg = await (0, _package.updatePackage)(packagePath, pkg, buildNumber, updateDate);
if (!pkg.dependencies['react-native']) return console.log(_chalk.default.red('this command is optimized to run with \'react-native\' package'));
if (!pkg.version) return console.log(_chalk.default.red('Attribute'), _chalk.default.red.bold('Version'), _chalk.default.red('is required in the package.json'));
await (0, _ios.setVersionIOS)(basePath, pkg);
await (0, _android.setVersionAndroid)(basePath, pkg);
};
execute();