What are the "official" dependencies for Ionic?

How do I find out the “official” dependencies for Ionic? For example, what versions of rxjs should, or can, I use with an Ionic 3 app? What version of Typescript, cordova-android etc.?

Is looking at the package.json here https://github.com/ionic-team/ionic-app-scripts/blob/master/package.json the definitive list of dependencies? Or is there another package.json I should be looking at?

I’m looking at the list of packages that have updates (npm outdated) - how do I know what can or should be updated and what shouldn’t?

ionic-app-script is use to bundle/compile your app

ionic cli is the command line executor

ionic aka ionic-angular is the framework itself

the list of dependencies are described in the package.json you are right, but for v3.9.2 (the actual version) the link is https://github.com/ionic-team/ionic/blob/v3/package.json

Makes sense… to a point. For example, that core package.json has a dependency:

@angular/common”: “4.4.6”

but we know ionic 3.9.2 works with Angular 5.0.0, as per the 3.9.0 changelog here: https://github.com/ionic-team/ionic/releases/tag/v3.9.0
which says “ionic-angular 3.9.0 adds support for @angular 5.0.0”

So there is no consistency or clear answer to this yet.

You are right, checked https://github.com/ionic-team/ionic/blob/v3.9.2/package.json it contains v4.4.6 of angular

But like you said, in the CHANGELOG you could found the last dependencies updated https://github.com/ionic-team/ionic/blob/v3/CHANGELOG.md (angular v5.0.0)

this part

“dependencies” : {

@angular/common”: “5.0.0”,
@angular/compiler”: “5.0.0”,
@angular/compiler-cli”: “5.0.0”,
@angular/core”: “5.0.0”,
@angular/forms”: “5.0.0”,
@angular/http”: “5.0.0”,
@angular/platform-browser”: “5.0.0”,
@angular/platform-browser-dynamic”: “5.0.0”,
@ionic/storage”: “2.1.3”,
“ionic-angular”: “3.9.0”,
“rxjs”: “5.5.2”,
“zone.js”: “0.8.18”

},
"devDependencies: {
@ionic/app-scripts”: “3.1.0”,
“typescript” : “2.4.2”
}

so I guess these are the one compatible/needed for v3.9.2, at least is the one I used :wink:

Use ionic start with a current installation of Ionic CLI - this will give you the last published dependencies of a default project.

The changelogs are mostly sync with that, but in the past also sometimes were forgotten or just contained broken information. Happens.

(I built myself a tool http://update.ionic.zone that updates a package.json to whatever version of Ionic you want, including the last published one and an updated one where I even updated Ionic-made dependencies to newer versions)

2 Likes

Very nice tool! Thanks.