@react-native-firebase/perf
Version:
React Native Firebase - React Native Firebase provides native integration with Performance Monitoring to gain insight into key performance characteristics within your React Native application.
28 lines (25 loc) • 961 B
text/typescript
import { ConfigPlugin, WarningAggregator, withAppBuildGradle } from '@expo/config-plugins';
import { perfMonitoringPlugin } from './constants';
/**
* Update `app/build.gradle` by applying performance monitoring plugin
*/
export const withApplyPerfPlugin: ConfigPlugin = config => {
return withAppBuildGradle(config, config => {
if (config.modResults.language === 'groovy') {
config.modResults.contents = applyPlugin(config.modResults.contents);
} else {
WarningAggregator.addWarningAndroid(
'react-native-firebase-perf',
`Cannot automatically configure app build.gradle if it's not groovy`,
);
}
return config;
});
};
export function applyPlugin(appBuildGradle: string) {
const perfPattern = new RegExp(`apply\\s+plugin:\\s+['"]${perfMonitoringPlugin}['"]`);
if (!appBuildGradle.match(perfPattern)) {
appBuildGradle += `\napply plugin: '${perfMonitoringPlugin}'`;
}
return appBuildGradle;
}