UNPKG

@nativescript/firebase-analytics

Version:
31 lines (30 loc) 1.82 kB
"use strict"; const fs = require("fs"); const path = require("path"); module.exports = function ($logger, $projectData, hookArgs) { const platformName = ((hookArgs.prepareData && hookArgs.prepareData.platform) || (hookArgs.platformData && hookArgs.platformData.normalizedPlatformName) || '').toLowerCase(); if (platformName === 'ios') { const ResourcePodfile = $projectData.podfilePath; const PluginPodfile = path.join(__dirname, '..', 'platforms', 'ios', 'Podfile'); if (fs.existsSync(PluginPodfile) && fs.existsSync(ResourcePodfile)) { const pluginPodData = fs.readFileSync(PluginPodfile, 'utf8') || ''; const resourcePodData = fs.readFileSync(ResourcePodfile, 'utf8'); if (pluginPodData) { const placeholderRegex = /^(\s*)(.*?)### PLACEHOLDER_FOR_HOOK: \$NSFirebaseAnalyticsWithoutAdIdSupport$/m; const enabledRegex = /^(\s*)\$NSFirebaseAnalyticsWithoutAdIdSupport=true\b/m; const isEnabled = enabledRegex.test(resourcePodData); const pluginMatch = pluginPodData.match(placeholderRegex); if (pluginMatch) { const replacement = isEnabled ? '$NSFirebaseAnalyticsWithoutAdIdSupport=true ' : ''; const replacementLine = `${pluginMatch[1]}${replacement}### PLACEHOLDER_FOR_HOOK: $NSFirebaseAnalyticsWithoutAdIdSupport`; if (replacementLine !== pluginMatch[0]) { fs.writeFileSync(PluginPodfile, pluginPodData.replace(placeholderRegex, replacementLine)); } } else { $logger.warn(`Could not find NSFirebaseAnalyticsWithoutAdIdSupport placeholder in ${PluginPodfile}`); } } } } };