mirror of
https://github.com/urosran/cally.git
synced 2025-07-09 22:57:16 +00:00
42 lines
1.6 KiB
JavaScript
42 lines
1.6 KiB
JavaScript
const { withDangerousMod, withPlugins } = require('@expo/config-plugins');
|
|
|
|
const fs = require('fs');
|
|
const path = require('path');
|
|
|
|
async function readFile(path) {
|
|
return fs.promises.readFile(path, 'utf8');
|
|
}
|
|
|
|
async function saveFile(path, content) {
|
|
return fs.promises.writeFile(path, content, 'utf8');
|
|
}
|
|
|
|
module.exports = (config) =>
|
|
withPlugins(config, [
|
|
(config) => {
|
|
return withDangerousMod(config, [
|
|
'iOS',
|
|
async (config) => {
|
|
const file = path.join(config.modRequest.platformProjectRoot, 'Podfile');
|
|
|
|
/*
|
|
* You need to remove the line before adding it.
|
|
* If you don't do this and you run `expo prebuild` in a dirt project
|
|
* your file will have the same line added twice
|
|
*/
|
|
const contents = (await readFile(file)).replace(
|
|
/pod 'IQKeyboardManagerSwift', :git => 'https:\/\/github.com\/douglasjunior\/IQKeyboardManager.git', :branch => 'react-native-keyboard-manager'\n\n/g,
|
|
'',
|
|
);
|
|
/*
|
|
* Now re-adds the content
|
|
*/
|
|
await saveFile(
|
|
file,
|
|
`pod 'IQKeyboardManagerSwift', :git => 'https://github.com/douglasjunior/IQKeyboardManager.git', :branch => 'react-native-keyboard-manager'\n\n${contents}`,
|
|
);
|
|
return config;
|
|
},
|
|
]);
|
|
},
|
|
]); |