UNPKG

@wscsports/blaze-rtn-sdk

Version:
68 lines (66 loc) 2.48 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); const config_plugins_1 = require("@expo/config-plugins"); const fs_1 = __importDefault(require("fs")); const util_1 = require("util"); // Promisify readFile and writeFile for async/await usage const readFile = (0, util_1.promisify)(fs_1.default.readFile); const writeFile = (0, util_1.promisify)(fs_1.default.writeFile); const withMultiplePodSources = (config, { sources } = {}) => { if (!sources || sources.length === 0) { return config; } // Use withDangerousMod to modify the Podfile directly return (0, config_plugins_1.withDangerousMod)(config, [ 'ios', async (config) => { const file = config.modRequest.platformProjectRoot + '/Podfile'; let podfileContents = await readFile(file, 'utf8'); // Prepend source URLs to the Podfile sources.forEach(source => { if (!podfileContents.includes(`source '${source}'`)) { podfileContents = `source '${source}'\n` + podfileContents; } }); await writeFile(file, podfileContents, 'utf8'); return config; } ]); }; const withBlaze = (config, { gprUsr, gprKey } = {}) => { // Modify iOS Podfile const iosSources = [ 'https://github.com/WSCSports/blaze-specs-ios.git', 'https://cdn.cocoapods.org/' ]; config = withMultiplePodSources(config, { sources: iosSources }); // Modify Android build.gradle config = (0, config_plugins_1.withProjectBuildGradle)(config, async (config) => { const buildGradle = config.modResults; const user = gprUsr || process.env.GPR_USER; const key = gprKey || process.env.GPR_API_KEY; if (!buildGradle.contents.includes('https://maven.pkg.github.com/WSCSports/blaze-android-release')) { buildGradle.contents = `${buildGradle.contents} allprojects { repositories { maven { name = "GitHubPackages" url = uri("https://maven.pkg.github.com/WSCSports/blaze-android-release") credentials { username = "${user}" password = "${key}" } } } } `; } return config; }); return config; }; exports.default = withBlaze;