react-native-keys
Version:
🔐 Make protected .ENVs variables
36 lines (35 loc) • 1.94 kB
JavaScript
Object.defineProperty(exports, "__esModule", { value: true });
exports.withAndroidBuildscriptDependency = void 0;
const config_plugins_1 = require("@expo/config-plugins");
function applyImplementation(appBuildGradle, defaultKeyFile = 'keys.development.json', IS_EXAMPLE) {
var _a, _b;
const RnkeysImplementation = `
project.ext.IS_EXAMPLE = ${IS_EXAMPLE};
project.ext.DEFAULT_FILE_NAME = "${defaultKeyFile}"
apply from: project(':react-native-keys').projectDir.getPath() + "/RNKeys.gradle"
`;
if (!appBuildGradle.includes('project.ext.DEFAULT_FILE_NAME')) {
const enableProguardInReleaseBuildsLine = (_a = appBuildGradle.match(/def enableProguardInReleaseBuilds.+/)) === null || _a === void 0 ? void 0 : _a[0];
if (enableProguardInReleaseBuildsLine &&
appBuildGradle.includes(enableProguardInReleaseBuildsLine)) {
return appBuildGradle.replace(enableProguardInReleaseBuildsLine, `${enableProguardInReleaseBuildsLine}\n${RnkeysImplementation}`);
}
}
else {
let regex = /(project\.ext\.DEFAULT_FILE_NAME\s*=\s*").*?"/;
const projectExtKeyFilesLine = (_b = appBuildGradle.match(regex)) === null || _b === void 0 ? void 0 : _b[0];
if (projectExtKeyFilesLine) {
return appBuildGradle.replace(regex, `$1${defaultKeyFile}"`);
}
}
return appBuildGradle;
}
const withAndroidBuildscriptDependency = (config, props) => {
return (0, config_plugins_1.withAppBuildGradle)(config, (config) => {
var _a;
config.modResults.contents = applyImplementation(config.modResults.contents, (_a = props === null || props === void 0 ? void 0 : props.android) === null || _a === void 0 ? void 0 : _a.defaultKeyFile, (props === null || props === void 0 ? void 0 : props.IS_EXAMPLE) ? 'true' : 'false');
return config;
});
};
exports.withAndroidBuildscriptDependency = withAndroidBuildscriptDependency;
;