expo-shopify-performance
Version:
Config plugin to setup @shopify/react-native-performance on prebuild
36 lines (35 loc) • 1.47 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 iOS Shopify Performance integration
* @param config - Expo config
* @returns Modified config with Shopify Performance native initialization
*/
const withShopifyPerformanceIOS = (config) => {
return (0, config_plugins_1.withAppDelegate)(config, (config) => {
const { modResults } = config;
// Add import statement
modResults.contents = (0, generateCode_1.mergeContents)({
tag: 'shopify-performance-import',
src: modResults.contents,
newSrc: constants_1.IOS.IMPORT_STATEMENT,
anchor: /#import "AppDelegate.h"/,
offset: 1, // Insert after the matched line
comment: '//'
}).contents;
// Add initialization method call
modResults.contents = (0, generateCode_1.mergeContents)({
tag: 'shopify-performance-init',
src: modResults.contents,
newSrc: constants_1.IOS.INIT_METHOD_CALL,
anchor: constants_1.IOS.LAUNCH_METHOD_REGEX,
offset: 2, // Insert after the opening bracket
comment: '//'
}).contents;
return config;
});
};
exports.default = withShopifyPerformanceIOS;