@crassaert/applovin-quality-service-expo-plugin
Version:
Expo plugin to automate installation of required packages from AppLovin Quality Service
32 lines (30 loc) • 1.45 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.withApplovinQualityServiceAndroid = void 0;
const config_plugins_1 = require("@expo/config-plugins");
const withApplovinQualityServiceAndroid = (config, { apiKey }) => {
config = (0, config_plugins_1.withProjectBuildGradle)(config, (config) => {
if (!config.modResults.contents.includes('https://artifacts.applovin.com/android')) {
config.modResults.contents = config.modResults.contents.replace(/(buildscript([^#]+?)repositories\s*{)/, `$1
maven { url 'https://artifacts.applovin.com/android' }`);
}
if (!config.modResults.contents.includes('com.applovin.quality:AppLovinQualityServiceGradlePlugin:')) {
config.modResults.contents = config.modResults.contents.replace(/dependencies\s*{/, `dependencies {
classpath 'com.applovin.quality:AppLovinQualityServiceGradlePlugin:+'`);
}
return config;
});
config = (0, config_plugins_1.withAppBuildGradle)(config, (config) => {
const buildGradle = config.modResults.contents;
if (!buildGradle.includes("apply plugin: 'applovin-quality-service'")) {
config.modResults.contents += `
apply plugin: 'applovin-quality-service'
applovin {
apiKey "${apiKey}"
}`;
}
return config;
});
return config;
};
exports.withApplovinQualityServiceAndroid = withApplovinQualityServiceAndroid;