Make WordPress Core

Changes between Version 2 and Version 3 of Ticket #34177

10/07/2015 03:42:23 AM (9 years ago)

To clarify more on the semantic versioning of NodeJS packages:

The following dependencies are satisfied by their declared version range, but the installed versions are behind. You can install the latest versions without modifying your package.json by using npm update.

 grunt-browserify       ~4.0.0  →   ~4.0.1 
 grunt-contrib-copy     ~0.8.0  →   ~0.8.1 
 grunt-contrib-jshint  ~0.11.2  →  ~0.11.3 

Example, because we use the tilde ~ character e.g. "grunt-browserify": "~4.0.0", then version 4.0.1 will be installed via either a fresh checkout of the develop repo follwed by npm install or updated without a change to package.json via npm update

See for further details.

Example: From a fresh SVN checkout of the repo and npm install:

$ npm list --depth=0
WordPress@4.4.0 /Users/netweb/dev/weatherbot/wp/trunk
├── autoprefixer-core@5.2.1
├── grunt@0.4.5
├── grunt-browserify@4.0.1
├── grunt-contrib-clean@0.6.0
├── grunt-contrib-compress@0.13.0
├── grunt-contrib-concat@0.5.1
├── grunt-contrib-copy@0.8.1
├── grunt-contrib-cssmin@0.12.3
├── grunt-contrib-imagemin@0.9.4
├── grunt-contrib-jshint@0.11.3
├── grunt-contrib-qunit@0.7.0
├── grunt-contrib-uglify@0.9.2
├── grunt-contrib-watch@0.6.1
├── grunt-includes@0.5.1
├── grunt-jsvalidate@0.2.2
├── grunt-legacy-util@0.2.0
├── grunt-patch-wordpress@0.3.0
├── grunt-postcss@0.5.5
├── grunt-rtlcss@1.6.0
├── grunt-sass@1.0.0
└── matchdep@0.3.0

Per the above I'm removing the following from the original list of dependancies to update in this ticket: grunt-browserify, grunt-contrib-copy, and grunt-contrib-jshint.

If one of these dependancies are broken then we already have a problem without updating our package.json file as minor versions should not break anything per the semantic versioning of NodeJS package specifications. As such we no longer need to update minor versions of dependancies as long as we continue to use ~ to allow minor version updates in package.json.

If we want to use explicit versions then we should revisit using npm shrinkwrap to achieve this.


  • Ticket #34177 – Description

    v2 v3  
    44"autoprefixer-core" can be updated from ~5.2.1 to ~6.0.1 (Installed: 5.2.1, Latest: 6.0.1)
    5 "grunt-browserify" can be updated from ~4.0.0 to ~4.0.1 (Installed: 3.8.0, Latest: 4.0.1)
    6 "grunt-contrib-copy" can be updated from ~0.8.0 to ~0.8.1 (Installed: 0.8.0, Latest: 0.8.1)
    75"grunt-contrib-cssmin" can be updated from ~0.12.3 to ~0.14.0 (Installed: 0.12.3, Latest: 0.14.0)
    8 "grunt-contrib-jshint" can be updated from ~0.11.2 to ~0.11.3 (Installed: 0.11.2, Latest: 0.11.3)
    96"grunt-postcss" can be updated from ~0.5.4 to ~0.6.0 (Installed: 0.5.4, Latest: 0.6.0)
    107"grunt-sass" can be updated from ~1.0.0 to ~1.1.0-beta (Installed: 1.0.0, Latest: 1.1.0-beta)