- Durandal.js – a SPA (single page application framework) that adds powerful view composition. It uses what you might already know (like Knockout.js, SammyJS, and RequireJS). If you are building a SPA and aren’t using a formal framework like AngularJS, you should check this out.
- KoLite – this is small collection of KO extensions that I find useful. In particular, I like the “command” binding handling that adds a way to add XAML like ICommand-ness to KO.
- RequireJS – I use this in conjunction with Durandal as it is a requirement of Durandal. It allows you to organize your code into “modules” – a programming feature lacking from JS.
- SammyJS – this is a client-side routing engine that is a default routing plugin for Durandal.
- jQuery and jQuery UI – everybody knows these two.
- toastr – a small and effective notification library that “toasts” a message to the user. It is so simple and looks very beautiful too.
- accounting.js – this small library helps with parsing and formatting monetary amounts in JS. I use this a lot with professional projects because most of the work I do involves capturing and displaying monetary amounts (as do a great deal of applications).
- mustache.js – a small string template system for when you want to generate HTML using string templates (as opposed to Knockout’s or Angular’s DOM-based templating). I use this only when I need to work with a third-party control that allows custom templating but templates must be delivered as strings. In general, DOM templates tend to be better in my opinion.
- date.format.js – a small date/time parsing and formatting library that works quite well. I also hear that moment.js is really good, but have not used it. JS’s support for Dates is pretty bad so these libraries help ease the pain, considerably.
Most of these libraries have packages on NuGet. Some are on npm too.