react-native-nitro-screen-recorder
Version:
A library to capture screen recordings with react-native powered by NitroModules.
29 lines (25 loc) • 1.24 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.updatePodfile = updatePodfile;
var _fs = _interopRequireDefault(require("fs"));
var _iosConstants = require("./iosConstants");
var _ScreenRecorderLog = require("./ScreenRecorderLog");
var _FileManager = require("./FileManager");
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
// updatePodfile.ts
async function updatePodfile(iosPath) {
const podfilePath = `${iosPath}/Podfile`;
let podfile = await _FileManager.FileManager.readFile(podfilePath);
// Skip if already present
if (podfile.includes(_iosConstants.BROADCAST_EXT_TARGET_NAME)) {
_ScreenRecorderLog.ScreenRecorderLog.log('Extension target already in Podfile. Skipping…');
return;
}
// Inject snippet into every `target 'Something' do … end` that looks like an iOS app
podfile = podfile.replace(/target ['"][^'"]+['"] do([\s\S]*?)end/g, block => block.replace(/\nend$/, `${_iosConstants.BROADCAST_EXT_PODFILE_SNIPPET}\nend`));
await _fs.default.promises.writeFile(podfilePath, podfile, 'utf8');
_ScreenRecorderLog.ScreenRecorderLog.log('Inserted BroadcastExtension into Podfile.');
}
//# sourceMappingURL=updatePodfile.js.map