Is there a dependency coupling between the following, and if so, what are they?:
Version of Angular
Version of Ionic
Version of ionic-native
Version of cordova plugins
Version of ionic-cli
Version of cordova itself
We are an enterprise app where we reuse other services and modules built in a particular version of Angular (non-ionic, normal SPA), so we cannot use the latest version of ionic.
I used this tool to get a glimpse of different dependency versions: https://update.ionic.zone/, but noticed that as i changed the version of ionic, other dependencies would downgrade.
For example, can i use Ionic CLI 4.5 (global), with a project that is running Ionic 3.20.x, running Angular 4.x.x? Or can I run @ionic-native dependencies at different versions from each other (@ionic-native/camera version different from @ionic-native/geolocation)? Are @ionic-native dependencies tied to certain versions of their cordova plugin equivalents?
Within limits. They all have to be on the same major version. You probably don’t want to do this, though, because:
Less so than they are tied to versions of the entire ionic-native ecosystem.
The most tightly coupled pair is the top two on your list: angular version and ionic version. A lot of seemingly mysterious problems seen here are the result of people upgrading Angular versions past what their Ionic version wants.
Second on the list would probably be “cordova itself” (also sort of platform-specific) and “cordova plugins”, but that’s true of any cordova-based system, and not necessarily ionic-related.
Finally, ionic version and ionic-native version must be major-matched: IOW, if you are using Ionic 3, you need ionic-native 4, and for Ionic 4 one needs ionic-native 5.