UNPKG

react-native-version-update

Version:
50 lines (37 loc) 1.54 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.setVersionAndroid = void 0; var _fs = _interopRequireDefault(require("fs")); var _path = _interopRequireDefault(require("path")); var _chalk = _interopRequireDefault(require("chalk")); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } const VERSION_NAME = 'versionName '; const VERSION_CODE = 'versionCode '; const setVersionAndroid = (basePath, pkg) => { return new Promise((resolve, reject) => { const buildGradlePath = _path.default.resolve(basePath, 'android', 'app', 'build.gradle'); if (!_fs.default.existsSync(buildGradlePath)) return console.log(_chalk.default.red('build.gradle not found')); _fs.default.readFile(buildGradlePath, 'utf8', (err, gradle) => { if (err) throw err; gradle = gradle.set(VERSION_NAME, '"' + pkg.version + '"'); if (pkg.buildNumber) { gradle = gradle.set(VERSION_CODE, pkg.buildNumber); } _fs.default.writeFile(buildGradlePath, gradle, err => { if (err) throw err; console.log(_chalk.default.yellow(`File ${buildGradlePath} changed`)); resolve(); }); }); }); }; exports.setVersionAndroid = setVersionAndroid; String.prototype.set = function (procura, novo) { const posIni = this.indexOf(procura); let aux = this.slice(posIni, this.length); const posFim = posIni + aux.indexOf('\n'); aux = this.slice(posIni, posFim); return this.replace(aux, procura + novo); };