21 June 2017 P1.0 (Printing)

First printing.

09 June 2017 B7.0

  • Updated for the latest Rails 5.1.1, Webpacker 2.0, and all the various updates in the JavaScript ecosystem.
  • Although we aren’t using TypeScript, the book now uses Webpacker’s Angular support to set up the entire tool chain to compile TypeScript. You’ll write code in .ts, so if you want to switch, you can. The downloadable code also creates a final version with all the JavaScript converted to TypeScript if you want to see what that’s like.
  • CSS is now handled differently—and better. Before, we were using Webpack to insert style tags into our markup, live. Now, we’re using Webpacker’s configuration to generate an actual .css, which is more like what Sprockets does, and more like what you’d want in a real production application.
  • We removed the Angular test app, as Webpacker provides enough scaffolding for us to validate the configuration. This means you can go straight to coding the app.
  • We changed the JavaScript module style to use the more modern import (instead of require). import is how the latest versions of JavaScript will work, so this should age better and be more idiomatic.
  • We removed the bits about running Webpack’s dev server in tests. Rails 5.1 wants developers to either run Webpack manually, or have it run once before tests are run. We’re doing the latter. This isn’t a perfect workflow, but it’s simpler and one less thing to have to wrestle with when getting this stuff going. This workflow does allow you to avoid running Webpack for unit tests, whereas the previous version would run it every time.
  • The code examples are now organized in a better way.
  • The book is finished in production and heading to layout.

07 April 2017 B6.0

  • Updated to reference Angular 4 instead of Angular 2. Despite the drastic
    version number change, not much really changed for us, and all the
    examples still work. Also, there aren’t any relevant new features we need
    to worry about.
  • With the upcoming release of Rails 5.1, all the JavaScript got way better
    due to…Webpacker! This makes initial set up much simpler and more
  • Unit tests are now run via Karma, which uses Webpack during tests. This
    means no more proxyquire, and overall the tests are way simpler.
  • Due to Webpacker, the locations of various files have changed. No more
    webpack/ top-level directory. Everything is now the official Rails way of
    doing things.
  • We addressed some confusion around how the materialized views interact
    with tests.
  • We changed how we interact with Yarn and package.json by preferring the
    use of the yarn add command over hand-editing the file.

18 January 2017 B5.0

The book is content-complete and heading to production.

16 December 2016 B4.0

  • We added the final chapter, Chapter 13, Dig Deeper, and the final appendixes, Appendix 2, Creating Customer Address Seed Data, and Appendix 4, How Webpack Affects Deployment.
  • Given that Rails 5.1 will support Yarn, we’ve converted all use of NPM to Yarn, and the code examples should include a yarn.lock instead of the previous npm-shrinkwrap.json. Instructions for setting up and using Yarn are in Chapter 1, Set Up the Environment.

02 December 2016 B3.0

We added Chapter 12, Wrangle Forms and Validations with Angular, and Appendix 1, Full Listing of Customer Detail Page HTML, and all errata have been addressed.

04 November 2016 B2.0

  • We added Chapter 11, Asynchronously Load Data, and Appendix 3, Customer Details Extracted Components.
  • Errata have been addressed.

18 October 2016 B1.0

Initial beta release.