Getting Markdown syntax, well, more correcterer :)
Added these libraries... but early days with WebStorm, so not sure if I should have
Added these libraries... but early days with WebStorm, so not sure if I should have
ok, I installed a plugin called Line Sorter... this was useful for the (dev)dependencies in a package.json file.  I can see use wanting to group them by functionality, but alphabetic seemed useful for now, especially as people seem to be splitting up projects into lots of smaller sub-ones, starting with the main project name.  Alt-Shift-L to sort (or via menu)
npm install npm-check-updates

Find newer versions of dependencies than what your package.json allows

In our case, this is probably worth running reasonably often as we don't have to be too fearful of breaking anything

As the project progresses, we'll get a better idea of what packages change, and how, and how often.
Couple more books...
Couple more articles...
stephens-air:satoyma si$ npm install

> kerberos@0.0.3 install /training/subjects/programming/web/satoyma/node_modules/mongodb/node_modules/kerberos
> (node-gyp rebuild 2> builderror.log) || (exit 0)

  CXX(target) Release/obj.target/kerberos/lib/kerberos.o
  CXX(target) Release/obj.target/kerberos/lib/worker.o
  CC(target) Release/obj.target/kerberos/lib/kerberosgss.o
  CC(target) Release/obj.target/kerberos/lib/base64.o
  CXX(target) Release/obj.target/kerberos/lib/kerberos_context.o
  SOLINK_MODULE(target) Release/kerberos.node
  SOLINK_MODULE(target) Release/kerberos.node: Finished

> bson@0.2.11 install /training/subjects/programming/web/satoyma/node_modules/mongodb/node_modules/bson
> (node-gyp rebuild 2> builderror.log) || (exit 0)

  CXX(target) Release/obj.target/bson/ext/bson.o
  SOLINK_MODULE(target) Release/bson.node
  SOLINK_MODULE(target) Release/bson.node: Finished
mongodb@1.4.8 node_modules/mongodb
├── readable-stream@1.0.31 (isarray@0.0.1, string_decoder@0.10.31, inherits@2.0.1, core-util-is@1.0.1)
├── kerberos@0.0.3
└── bson@0.2.11 (nan@1.2.0)
Well that explains why the dev dependency was not working. devDependecies, not dev-dependencies.

Also --save-dev reformats the package.json (as would --save), so forget trying to keep it formatted, for now.
Should probably uninstall the mocha-mongo - it is very out of date for mongodb

stephens-air:satoyma si$ npm install mocha --save-dev
mocha@1.21.4 node_modules/mocha
├── diff@1.0.7
├── growl@1.8.1
├── commander@2.0.0
├── mkdirp@0.3.5
├── jade@0.26.3 (commander@0.6.1, mkdirp@0.3.0)
└── glob@3.2.3 (inherits@2.0.1, graceful-fs@2.0.3, minimatch@0.2.14)
stephens-air:satoyma si$ npm install mocha-mongo --save-dev
-
> kerberos@0.0.3 install /training/subjects/programming/web/satoyma/node_modules/mocha-mongo/node_modules/mongodb/node_modules/kerberos
> (node-gyp rebuild 2> builderror.log) || (exit 0)

  CXX(target) Release/obj.target/kerberos/lib/kerberos.o
  CXX(target) Release/obj.target/kerberos/lib/worker.o
  CC(target) Release/obj.target/kerberos/lib/kerberosgss.o
  CC(target) Release/obj.target/kerberos/lib/base64.o
  CXX(target) Release/obj.target/kerberos/lib/kerberos_context.o
  SOLINK_MODULE(target) Release/kerberos.node
  SOLINK_MODULE(target) Release/kerberos.node: Finished

> bson@0.2.5 install /training/subjects/programming/web/satoyma/node_modules/mocha-mongo/node_modules/mongodb/node_modules/bson
> (node-gyp rebuild 2> builderror.log) || (exit 0)

  CXX(target) Release/obj.target/bson/ext/bson.o
  SOLINK_MODULE(target) Release/bson.node
  SOLINK_MODULE(target) Release/bson.node: Finished
mocha-mongo@0.1.1 node_modules/mocha-mongo
├── qbox@0.1.7
└── mongodb@1.3.23 (kerberos@0.0.3, bson@0.2.5)
Keeping links in one place, rather than in email.  Will get out of date, I realise.
Fixing up package.json entries as I read this...

https://www.npmjs.org/doc/files/package.json.html
grunt plugin to check modules
Ran npm-check-updates:

./node_modules/npm-check-updates/bin/npm-check-updates

This is the current output.

"body-parser" can be updated from ~1.0.0 to ~1.6.5 (Installed: 1.0.2, Latest: 1.6.5)
"cookie-parser" can be updated from ~1.0.1 to ~1.3.2 (Installed: 1.0.1, Latest: 1.3.2)
"debug" can be updated from ~0.7.4 to ~1.0.4 (Installed: 0.7.4, Latest: 1.0.4)
"express" can be updated from ~4.0.0 to ~4.8.5 (Installed: 4.0.0, Latest: 4.8.5)
"jade" can be updated from ~1.3.0 to ~1.5.0 (Installed: 1.3.1, Latest: 1.5.0)
"mongodb" can be updated from 1.4.8 to 1.4.9 (Installed: 1.4.8, Latest: 1.4.9)
"morgan" can be updated from ~1.0.0 to ~1.2.3 (Installed: 1.0.1, Latest: 1.2.3)
"static-favicon" can be updated from ~1.0.0 to ~2.0.0-alpha (Installed: 1.0.2, Latest: 2.0.0-alpha)
"grunt-contrib-clean" can be updated from ~0.5.0 to ~0.6.0 (Installed: 0.5.0, Latest: 0.6.0)
"grunt-contrib-compress" can be updated from ~0.9.1 to ~0.10.0 (Installed: 0.9.1, Latest: 0.10.0)
"grunt-contrib-concat" can be updated from ~0.4.0 to ~0.5.0 (Installed: 0.4.0, Latest: 0.5.0)
"grunt-contrib-jasmine" can be updated from ~0.6.5 to ~0.7.0 (Installed: 0.6.5, Latest: 0.7.0)
"grunt-contrib-nodeunit" can be updated from ~0.3.3 to ~0.4.1 (Installed: 0.3.3, Latest: 0.4.1)
"grunt-contrib-uglify" can be updated from ~0.4.0 to ~0.5.1 (Installed: 0.4.0, Latest: 0.5.1)
"grunt-contrib-watch" can be updated from ~0.6.0 to ~0.6.1 (Installed: 0.6.1, Latest: 0.6.1)
"grunt-curl" can be updated from ~2.0.0 to ~2.0.2 (Installed: 2.0.2, Latest: 2.0.2)
"grunt-exec" can be updated from ~0.4.5 to ~0.4.6 (Installed: 0.4.6, Latest: 0.4.6)
"grunt-htmlhint" can be updated from ~0.4.0 to ~0.4.1 (Installed: 0.4.1, Latest: 0.4.1)

Run 'npm-check-updates -u' to upgrade your package.json automatically
That was easy!

stephens-air:satoyma si$ ./node_modules/npm-check-updates/bin/npm-check-updates -u

"body-parser" can be updated from ^1.0.0 to ^1.6.5 (Installed: 1.0.2, Latest: 1.6.5)
"cookie-parser" can be updated from ^1.0.1 to ^1.3.2 (Installed: 1.0.1, Latest: 1.3.2)
"debug" can be updated from ~0.7.4 to ~1.0.4 (Installed: 0.7.4, Latest: 1.0.4)
"express" can be updated from ^4.0.0 to ^4.8.5 (Installed: 4.0.0, Latest: 4.8.5)
"jade" can be updated from ^1.3.0 to ^1.5.0 (Installed: 1.3.1, Latest: 1.5.0)
"mongodb" can be updated from ^1.4.8 to ^1.4.9 (Installed: 1.4.8, Latest: 1.4.9)
"morgan" can be updated from ^1.0.0 to ^1.2.3 (Installed: 1.0.1, Latest: 1.2.3)
"static-favicon" can be updated from ^1.0.0 to ^2.0.0-alpha (Installed: 1.0.2, Latest: 2.0.0-alpha)
"grunt-contrib-clean" can be updated from ^0.5.0 to ^0.6.0 (Installed: 0.5.0, Latest: 0.6.0)
"grunt-contrib-compress" can be updated from ^0.9.1 to ^0.10.0 (Installed: 0.9.1, Latest: 0.10.0)
"grunt-contrib-concat" can be updated from ^0.4.0 to ^0.5.0 (Installed: 0.4.0, Latest: 0.5.0)
"grunt-contrib-jasmine" can be updated from ^0.6.5 to ^0.7.0 (Installed: 0.6.5, Latest: 0.7.0)
"grunt-contrib-nodeunit" can be updated from ^0.3.3 to ^0.4.1 (Installed: 0.3.3, Latest: 0.4.1)
"grunt-contrib-uglify" can be updated from ^0.4.0 to ^0.5.1 (Installed: 0.4.0, Latest: 0.5.1)
"grunt-contrib-watch" can be updated from ^0.6.0 to ^0.6.1 (Installed: 0.6.1, Latest: 0.6.1)
"grunt-curl" can be updated from ^2.0.0 to ^2.0.2 (Installed: 2.0.2, Latest: 2.0.2)
"grunt-exec" can be updated from ^0.4.5 to ^0.4.6 (Installed: 0.4.6, Latest: 0.4.6)
"grunt-htmlhint" can be updated from ^0.4.0 to ^0.4.1 (Installed: 0.4.1, Latest: 0.4.1)

package.json upgraded
Hmm... was node_modules under git?

The following caused a mass of changes under there...

stephens-air:satoyma si$ ./node_modules/npm-check-updates/bin/npm-check-updates -u

"body-parser" can be updated from ^1.0.0 to ^1.6.5 (Installed: 1.0.2, Latest: 1.6.5)
"cookie-parser" can be updated from ^1.0.1 to ^1.3.2 (Installed: 1.0.1, Latest: 1.3.2)
"debug" can be updated from ~0.7.4 to ~1.0.4 (Installed: 0.7.4, Latest: 1.0.4)
"express" can be updated from ^4.0.0 to ^4.8.5 (Installed: 4.0.0, Latest: 4.8.5)
"jade" can be updated from ^1.3.0 to ^1.5.0 (Installed: 1.3.1, Latest: 1.5.0)
"mongodb" can be updated from ^1.4.8 to ^1.4.9 (Installed: 1.4.8, Latest: 1.4.9)
"morgan" can be updated from ^1.0.0 to ^1.2.3 (Installed: 1.0.1, Latest: 1.2.3)
"static-favicon" can be updated from ^1.0.0 to ^2.0.0-alpha (Installed: 1.0.2, Latest: 2.0.0-alpha)
"grunt-contrib-clean" can be updated from ^0.5.0 to ^0.6.0 (Installed: 0.5.0, Latest: 0.6.0)
"grunt-contrib-compress" can be updated from ^0.9.1 to ^0.10.0 (Installed: 0.9.1, Latest: 0.10.0)
"grunt-contrib-concat" can be updated from ^0.4.0 to ^0.5.0 (Installed: 0.4.0, Latest: 0.5.0)
"grunt-contrib-jasmine" can be updated from ^0.6.5 to ^0.7.0 (Installed: 0.6.5, Latest: 0.7.0)
"grunt-contrib-nodeunit" can be updated from ^0.3.3 to ^0.4.1 (Installed: 0.3.3, Latest: 0.4.1)
"grunt-contrib-uglify" can be updated from ^0.4.0 to ^0.5.1 (Installed: 0.4.0, Latest: 0.5.1)
"grunt-contrib-watch" can be updated from ^0.6.0 to ^0.6.1 (Installed: 0.6.1, Latest: 0.6.1)
"grunt-curl" can be updated from ^2.0.0 to ^2.0.2 (Installed: 2.0.2, Latest: 2.0.2)
"grunt-exec" can be updated from ^0.4.5 to ^0.4.6 (Installed: 0.4.6, Latest: 0.4.6)
"grunt-htmlhint" can be updated from ^0.4.0 to ^0.4.1 (Installed: 0.4.1, Latest: 0.4.1)

package.json upgraded
I guess node_modules was under git - must re-read that argument for/against
Things to run as a developer... this might be duplicated elsewhere. Tom may hate the CAPITALS! :)
removing npm-check-updates... making global...
Only check in modules we *deploy* - c.f, bundleDependencies?