Ionic 4 new project not using the latest modules

Hello,
I am creating a new project via ionic start.

My current node version is 12.9.0.

My current ionic cli version is 5.4.5

Ionic:

   Ionic CLI : 5.4.5

Utility:

   cordova-res : 0.6.0 (update available: 0.8.1)
   native-run  : 0.2.8 (update available: 0.2.9)

System:

   NodeJS : v12.9.0
   npm    : 6.10.2
   OS     : macOS Mojave

When I create a new ionic 4 project from the command line (blank project).

I notice in the package.json that a number of the modules are out of date:

  "dependencies": {
    "@angular/common": "~8.1.2",
    "@angular/compiler": "~8.1.2",
    "@angular/core": "~8.1.2",
    "@angular/forms": "~8.1.2",
    "@angular/platform-browser": "~8.1.2",
    "@angular/platform-browser-dynamic": "~8.1.2",
    "@angular/router": "~8.1.2",
    "@ionic-native/core": "^5.0.0",
    "@ionic-native/splash-screen": "^5.0.0",
    "@ionic-native/status-bar": "^5.0.0",
    "@ionic/angular": "^4.7.1",
    "core-js": "^2.5.4",
    "rxjs": "~6.5.1",
    "tslib": "^1.9.0",
    "zone.js": "~0.9.1"
  },

Why are these starter ionic projects not using the latest modules?

For example @ionic/angular the latest version is 4.11.3, @ionic-native/core is 5.16.0.

Notice ^ in the version? That means npm will install the latest compatible version based on semver calculations. Meaning ^5.0.0 will resolve to 5.16.0. We do this because it would be constantly updating the versions. This way, we can let semver do it’s thing and npm (or yarn) will give us the correct version.

3 Likes

Thank you for the explanation. Is the best way to determine if you have the latest is to then run npm outdated?

Thanks again.

Yep, npm outdated will help you.

1 Like