Having just shipped a big “single-page app” project, I think it would be useful to list all of its dependencies among the current climate of dependency burnout in front-end land. Those were all very stable and easy to combine.
- React – I’m not doing any JS front-end without React these days. The development experience is amazing, and they have done a terrific job at being highly stable over time. It’s always a pleasure to upgrade the React version.
- Redux – Very stable and reliable, high learning curve but high reward too
- D3 (v3) – One of my favorite tools. Can’t wait for v4 to be out, the main issue with D3 as it stands now is that I’m only using a fifth of its features but still shipping it all in my JS
- Springload’s reusable components
react-accessible-modalBecause for UI elements you likely want to have your own touch.
- Flexbox – Such a pleasure to build layouts with this, if browser support isn’t too advanced (no IE10 and below)
react-autosuggest– A nice UI component that took care of what’s hard – keyboard interactions and accessibility
react-router– Probably the least stable of all of those building blocks, but they have done a better job at this since version 2.
- Browserify + gulp builds – Webpack might be better, but its documentation / ease of use is not.
- Client-side search with
elasticlunr– Like lunr.js but better.
- sessionStorage caching
- performance tracking
autotrackanalytics - Another one of my favorites, more recent.
babel-plugin-lodashfor smaller builds
- npm shrinkwrap – Finally!
- Integration tests with Nightmare
- SVG+CSS export as SVG/PNG – The more R&D part of this project, which turned out to work quite well