expo-shopify-performance
Version:
Config plugin to setup @shopify/react-native-performance on prebuild
36 lines (35 loc) • 1.52 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
const constants_1 = require("./constants");
const config_plugins_1 = require("@expo/config-plugins");
const generateCode_1 = require("@expo/config-plugins/build/utils/generateCode");
/**
* Expo config plugin for Android Shopify Performance integration
* @param config - Expo config
* @returns Modified config with Shopify Performance native initialization
*/
const withShopifyPerformanceAndroid = (config) => {
return (0, config_plugins_1.withMainApplication)(config, (config) => {
const { modResults } = config;
// Add import statement
modResults.contents = (0, generateCode_1.mergeContents)({
tag: 'shopify-performance-import',
src: modResults.contents,
newSrc: constants_1.ANDROID.IMPORT_STATEMENT,
anchor: constants_1.ANDROID.PACKAGE_REGEX,
offset: 1, // Insert after the package declaration
comment: '//'
}).contents;
// Add initialization method call
modResults.contents = (0, generateCode_1.mergeContents)({
tag: 'shopify-performance-init',
src: modResults.contents,
newSrc: ` ${constants_1.ANDROID.INIT_METHOD_CALL}`,
anchor: constants_1.ANDROID.ON_CREATE_REGEX,
offset: 1, // Insert after the opening bracket
comment: '//'
}).contents;
return config;
});
};
exports.default = withShopifyPerformanceAndroid;