const { withGradleProperties } = require("expo/config-plugins"); function setGradlePropertiesValue(config, key, value) { return withGradleProperties(config, (exportedConfig) => { const props = exportedConfig.modResults; const keyIdx = props.findIndex( (item) => item.type === "property" && item.key === key, ); const property = { type: "property", key, value, }; if (keyIdx >= 0) { props.splice(keyIdx, 1, property); } else { props.push(property); } return exportedConfig; }); } module.exports = function withCustomPlugin(config) { // Expo 52 is not setting this // https://github.com/expo/expo/issues/32558 config = setGradlePropertiesValue(config, "android.enableJetifier", "true"); config = setGradlePropertiesValue(config, "org.gradle.daemon", "true"); config = setGradlePropertiesValue(config, "org.gradle.parallel", "true"); config = setGradlePropertiesValue( config, "org.gradle.configureondemand", "true", ); // Increase memory config = setGradlePropertiesValue( config, "org.gradle.jvmargs", "-Xmx4096m -XX:MaxMetaspaceSize=1024m", ); return config; };