From d538c0a1a2d7b8b0acf5cba21b95470109386686 Mon Sep 17 00:00:00 2001 From: Mark Anderson Date: Tue, 17 Dec 2024 12:40:35 -0500 Subject: [PATCH 1/2] update ios/update to remove cordova if not needed --- cli/src/ios/update.ts | 45 ++++++++++++++++++++++++++++--------------- 1 file changed, 30 insertions(+), 15 deletions(-) diff --git a/cli/src/ios/update.ts b/cli/src/ios/update.ts index 0697ca6fc..485c71f54 100644 --- a/cli/src/ios/update.ts +++ b/cli/src/ios/update.ts @@ -45,34 +45,43 @@ export async function updateIOS(config: Config, deployment: boolean): Promise getPluginType(p, platform) === PluginType.Cordova); - if (cordovaPlugins.length > 0) { - // TODO: all the new logic should probably go here - // with an else that removes cordova plugins + const enableCordova = cordovaPlugins.length > 0 + + if (enableCordova) { await copyPluginsNativeFiles(config, cordovaPlugins); } + if (!(await pathExists(await config.ios.webDirAbs))) { await copyTask(config, platform); } + await handleCordovaPluginsJS(cordovaPlugins, config, platform); await checkPluginDependencies(plugins, platform); - await generateCordovaPodspecs(cordovaPlugins, config); - await installCocoaPodsPlugins(config, plugins, deployment); - await logCordovaManualSteps(cordovaPlugins, config, platform); + + if (enableCordova) { + await generateCordovaPodspecs(cordovaPlugins, config); + } + + await installCocoaPodsPlugins(config, plugins, deployment, enableCordova); + + if (enableCordova) { + await logCordovaManualSteps(cordovaPlugins, config, platform); + } const incompatibleCordovaPlugins = plugins.filter((p) => getPluginType(p, platform) === PluginType.Incompatible); printPlugins(incompatibleCordovaPlugins, platform, 'incompatible'); await checkPlatformVersions(config, platform); } -export async function installCocoaPodsPlugins(config: Config, plugins: Plugin[], deployment: boolean): Promise { +export async function installCocoaPodsPlugins(config: Config, plugins: Plugin[], deployment: boolean, enableCordova: boolean): Promise { await runTask(`Updating iOS native dependencies with ${c.input(`${await config.ios.podPath} install`)}`, () => { - return updatePodfile(config, plugins, deployment); + return updatePodfile(config, plugins, deployment, enableCordova); }); } -async function updatePodfile(config: Config, plugins: Plugin[], deployment: boolean): Promise { - const dependenciesContent = await generatePodFile(config, plugins); +async function updatePodfile(config: Config, plugins: Plugin[], deployment: boolean, enableCordova: boolean): Promise { + const dependenciesContent = await generatePodFile(config, plugins, enableCordova); const relativeCapacitoriOSPath = await getRelativeCapacitoriOSPath(config); const podfilePath = join(config.ios.nativeProjectDirAbs, 'Podfile'); let podfileContent = await readFile(podfilePath, { encoding: 'utf-8' }); @@ -123,7 +132,7 @@ async function getRelativeCapacitoriOSPath(config: Config) { return convertToUnixPath(relative(config.ios.nativeProjectDirAbs, await realpath(dirname(capacitoriOSPath)))); } -async function generatePodFile(config: Config, plugins: Plugin[]): Promise { +async function generatePodFile(config: Config, plugins: Plugin[], enableCordova: boolean): Promise { const relativeCapacitoriOSPath = await getRelativeCapacitoriOSPath(config); const capacitorPlugins = plugins.filter((p) => getPluginType(p, platform) === PluginType.Core); @@ -141,10 +150,16 @@ async function generatePodFile(config: Config, plugins: Plugin[]): Promise '${relativeCapacitoriOSPath}' - pod 'CapacitorCordova', :path => '${relativeCapacitoriOSPath}' - ${pods.join('').trimEnd()}`; + let podfileString = '\n' + podfileString += ` pod 'Capacitor', :path => '${relativeCapacitoriOSPath}'\n` + + if (enableCordova) { + podfileString += ` pod 'CapacitorCordova', :path => '${relativeCapacitoriOSPath}'\n` + } + + podfileString += pods.join('').trimEnd() + + return podfileString } async function getPluginsTask(config: Config) { From 805be0e3f3c8a8a56969a5b43d8d8ce1a19aab92 Mon Sep 17 00:00:00 2001 From: Mark Anderson Date: Tue, 17 Dec 2024 13:06:00 -0500 Subject: [PATCH 2/2] npm run fmt --- cli/src/ios/update.ts | 26 ++++++++++++++++++-------- 1 file changed, 18 insertions(+), 8 deletions(-) diff --git a/cli/src/ios/update.ts b/cli/src/ios/update.ts index 485c71f54..178118a42 100644 --- a/cli/src/ios/update.ts +++ b/cli/src/ios/update.ts @@ -46,7 +46,7 @@ async function updateIOSCocoaPods(config: Config, plugins: Plugin[], deployment: await removePluginsNativeFiles(config); const cordovaPlugins = plugins.filter((p) => getPluginType(p, platform) === PluginType.Cordova); - const enableCordova = cordovaPlugins.length > 0 + const enableCordova = cordovaPlugins.length > 0; if (enableCordova) { await copyPluginsNativeFiles(config, cordovaPlugins); @@ -74,13 +74,23 @@ async function updateIOSCocoaPods(config: Config, plugins: Plugin[], deployment: await checkPlatformVersions(config, platform); } -export async function installCocoaPodsPlugins(config: Config, plugins: Plugin[], deployment: boolean, enableCordova: boolean): Promise { +export async function installCocoaPodsPlugins( + config: Config, + plugins: Plugin[], + deployment: boolean, + enableCordova: boolean, +): Promise { await runTask(`Updating iOS native dependencies with ${c.input(`${await config.ios.podPath} install`)}`, () => { return updatePodfile(config, plugins, deployment, enableCordova); }); } -async function updatePodfile(config: Config, plugins: Plugin[], deployment: boolean, enableCordova: boolean): Promise { +async function updatePodfile( + config: Config, + plugins: Plugin[], + deployment: boolean, + enableCordova: boolean, +): Promise { const dependenciesContent = await generatePodFile(config, plugins, enableCordova); const relativeCapacitoriOSPath = await getRelativeCapacitoriOSPath(config); const podfilePath = join(config.ios.nativeProjectDirAbs, 'Podfile'); @@ -150,16 +160,16 @@ async function generatePodFile(config: Config, plugins: Plugin[], enableCordova: const cordovaPodlines = cordovaPodfileLines(config, plugins); pods.concat(cordovaPodlines); - let podfileString = '\n' - podfileString += ` pod 'Capacitor', :path => '${relativeCapacitoriOSPath}'\n` + let podfileString = '\n'; + podfileString += ` pod 'Capacitor', :path => '${relativeCapacitoriOSPath}'\n`; if (enableCordova) { - podfileString += ` pod 'CapacitorCordova', :path => '${relativeCapacitoriOSPath}'\n` + podfileString += ` pod 'CapacitorCordova', :path => '${relativeCapacitoriOSPath}'\n`; } - podfileString += pods.join('').trimEnd() + podfileString += pods.join('').trimEnd(); - return podfileString + return podfileString; } async function getPluginsTask(config: Config) {