When I sign in to GitHub I keep noticing new watchers appear on the
Nodepad project (it's currently at 207 watchers). Although the Let's Make a Web
App tutorials have already
noticably aged (particularly as Mongoose changed drastically in the
middle of the series), I thought I'd give the Nodepad followers
something to look at!
I updated the libraries by editing
- Express went from 2.2.2 to 2.4.x with no major API changes
- Mongoose has gone from 1.2.0 to 2.0.3 without much trouble
- Jade, Stylus and connect-mongodb have also been updated. Again, no major API changes affected Nodepad
Upgrading modules is a common task when maintaining production Node
apps. Keeping tight versions in
package.json can feel like
a pain at times, but it's really important for keeping production and
staging environments sane and working with other people.
I've updated Backbone.js to
0.5.3. This version has API changes, but the only one that affected us
was a naming change from
We've taken the opportunity to clarify some naming with the 0.5.0 release.
Controlleris now Router, and
refreshis now reset. The previous
setLocationfunctions have been replaced by navigate.
Backbone.sync's method signature has changed to allow the passing of arbitrary options to
jQuery.ajax. Be sure to opt-in to
pushStatesupport, if you want to use it.
While I was updating the client-side code I improved the 'empty state'
handling. Now when first logging in, Nodepad will behave much better.
There's no-longer a different add document view when creating the first
document, in fact it's now possible to just press 'Save' right away (an
empty document will be created, but it makes more sense than the old
The main Nodepad resurrection commit was
- Client-side sorting uses
- Most persistent views are now on AppView
- Nobody keeps document model references around unless they need them directly
selectedDocumentto track the currently viewed document
resetto support Backbone 0.5.0+
- Improved new account handling by handling an empty document list correctly
And I followed that up with the library updates. See the full history
here: Nodepad commit
Hopefully this will make Nodepad a little less confusing for people just
discovering the tutorials and app!