// oxlint-disable import/no-nodejs-modules const {withDangerousMod} = require('@expo/config-plugins') /** * react-native-material-you calls jcenter(), which Gradle 9 removed. * Pin Gradle 8 instead. * * @param {import('@expo/config-types').ExpoConfig} config * @returns {import('@expo/config-types').ExpoConfig} */ module.exports = function withGradleWrapperVersion(config) { return withDangerousMod(config, [ 'android', /** * @param {import('@expo/config-plugins').ExportedConfigWithProps} modConfig * @returns {Promise} */ async modConfig => { const fs = require('node:fs/promises') const path = require('node:path') const wrapperProperties = path.join( modConfig.modRequest.projectRoot, 'android', 'gradle', 'wrapper', 'gradle-wrapper.properties', ) const contents = await fs.readFile(wrapperProperties, 'utf8') await fs.writeFile( wrapperProperties, contents.replace( /gradle-[0-9][0-9.]*-bin\.zip/, 'gradle-8.14.4-bin.zip', ), ) return modConfig }, ]) }