JavaScript Application Design: A Build First Approach (2015)
Part 1. Build processes
Chapter 1. Introduction to Build First
Chapter 2. Composing build tasks and flows
Chapter 3. Mastering environments and the development workflow
Chapter 4. Release, deployment, and monitoring
Part 2. Managing complexity
Chapter 5. Embracing modularity and dependency management
Chapter 6. Understanding asynchronous flow control methods in JavaScript
Chapter 7. Leveraging the Model-View-Controller
Chapter 8. Testing JavaScript components
Chapter 9. REST API design and layered service architectures
Appendix A. Modules in Node.js
Appendix B. Introduction to Grunt
Appendix C. Picking your build tool
Appendix D. JavaScript code quality guide