UNPKG

react-native-version-update

Version:
55 lines (38 loc) 2.06 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.setVersionIOS = void 0; var _path = _interopRequireDefault(require("path")); var _fs = _interopRequireDefault(require("fs")); var _plist = _interopRequireDefault(require("plist")); var _chalk = _interopRequireDefault(require("chalk")); var _jsonfile = _interopRequireDefault(require("jsonfile")); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } const setVersionIOS = async (basePath, pkg) => { const appPath = _path.default.resolve(basePath, 'app.json'); if (!_fs.default.existsSync(appPath)) return console.log(_chalk.default.red('app.json not found')); const app = _jsonfile.default.readFileSync(appPath); await changeInfoPList(_path.default.resolve(basePath, 'ios', app.name, 'Info.plist'), pkg); await changeInfoPList(_path.default.resolve(basePath, 'ios', `${app.name}-tvOS`, 'Info.plist'), pkg); await changeInfoPList(_path.default.resolve(basePath, 'ios', `${app.name}-tvOSTests`, 'Info.plist'), pkg); await changeInfoPList(_path.default.resolve(basePath, 'ios', `${app.name}Tests`, 'Info.plist'), pkg); await changeInfoPList(_path.default.resolve(basePath, 'ios', 'OneSignalNotificationServiceExtension', 'Info.plist'), pkg); await changeInfoPList(_path.default.resolve(basePath, 'ios', 'ShareMenuExtension', 'Info.plist'), pkg); }; exports.setVersionIOS = setVersionIOS; const changeInfoPList = (caminhoArquivo, pkg) => { if (!_fs.default.existsSync(caminhoArquivo)) return; const infoPlist = _plist.default.parse(_fs.default.readFileSync(caminhoArquivo, 'utf8')); infoPlist.CFBundleShortVersionString = pkg.version; if (pkg.buildNumber) { infoPlist.CFBundleVersion = String(pkg.buildNumber); } return new Promise((resolve, reject) => { return _fs.default.writeFile(caminhoArquivo, _plist.default.build(infoPlist), err => { if (err) reject(err); console.log(_chalk.default.yellow(`File ${caminhoArquivo} changed`)); resolve(); }); }); };