@nativescript/firebase-analytics
Version:
NativeScript Firebase - Analytics
31 lines (30 loc) • 1.82 kB
JavaScript
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}`);
}
}
}
}
};
;