Skip to content
🏊 Dive into ES6 and the future of JavaScript
Branch: master
Clone or download
2 authors and bevacqua Fixes arrow function arguments description (#75)
* Fixes description of arrow function arguments

* Update ch02.asciidoc

Co-Authored-By: Jordan Harband <>
Latest commit 7f9241c Jun 24, 2019
Type Name Latest commit message Commit time
Failed to load latest commit information.
code move chapter 8 code Jun 1, 2017
images updating cover file Jun 26, 2017
theme Edited theme/epub/layout.html with Atlas code editor Jun 26, 2017
tools Completing the intake report May 15, 2017
.editorconfig initial commit Oct 25, 2016
.gitignore several fixes Jan 20, 2017
atlas.json Updated atlas.json Jun 26, 2017
author_bio.html Edited author_bio.html with Atlas code editor Jun 15, 2017
ch01.asciidoc add space after period (#68) Oct 16, 2018
ch02.asciidoc Fixes arrow function arguments description (#75) Jun 24, 2019
ch03.asciidoc update sentence syntax (#69) Oct 16, 2018
ch04.asciidoc Fix typo `System.iterator` -> `Symbol.iterator` (#71) Mar 13, 2019
ch05.asciidoc Edited ch05.asciidoc with Atlas code editor Jun 20, 2017
ch06.asciidoc Fix 'Scheme validation with proxies' part: (#70) Mar 13, 2019
ch08.asciidoc Pass-through for generator stars in code. (#39) Aug 13, 2017
ch09.asciidoc fix typo (#53) Feb 23, 2018
colo.html Edited colo.html with Atlas code editor Jun 21, 2017 renamed as Practical Modern JavaScript: Dive into ES6 and the future … Jun 1, 2017
copyright.html Edited copyright.html with Atlas code editor Jun 23, 2017
cover.html Edited cover.html with Atlas code editor Jun 26, 2017
foreword.asciidoc Edited foreword.asciidoc with Atlas code editor Jun 16, 2017
ix.html Moving all chapter and book frontmatter files into the top level of t… May 9, 2017 license years Feb 7, 2017
praise.html Edited praise.html with Atlas code editor Jun 16, 2017
preface.asciidoc fix possible typo in preface (#46) Feb 6, 2018 slugs Jun 1, 2017
titlepage.html Edited titlepage.html with Atlas code editor Jun 16, 2017
toc.html Moving all chapter and book frontmatter files into the top level of t… May 9, 2017

The Modular JavaScript book series glowing over the desktop of an eager learner.

Practical Modern JavaScript

Dive into ES6 and the future of JavaScript 🏊

Modular JavaScript is a book series with the mission of improving our collective understanding of writing robust, well-tested, modular JavaScript code. Practical Modern JavaScript is the first book in the series, and it discusses ES6 features in detail. Practical Modern JavaScript includes hundreds of real-world use cases for the new language features, as well as detailed explanations of what works and what hasn’t when it comes to leveraging ES6 in the wild.

πŸ—ž Start with the book launch announcement on Pony Foo
πŸ’³ Participate in the crowdfunding campaign on Indiegogo
🐀 Share a message on Twitter or within your social circles
🌩 Amplify the announcement on social media via Thunderclap
πŸ““ Purchase the Early Release from O'Reilly
πŸ‘ Contribute to the source code repository on GitHub
πŸ¦„ Read the free HTML version of the book on Pony Foo

This book focuses on two aspects of JavaScript development: modularity and ES6 features. You’ll learn how to tackle application development by following a scale-out approach. As pieces of your codebase grow too big, you can break them up into smaller modules.

Practical Modern JavaScript is Free to Read!

The book is publicly available in HTML format and free forever. Each book chapter is styled similarly to how Pony Foo blog posts β€” such as the book series launch announcement β€” are styled, which makes for a fairly enjoyable read as far as HTML books go.

Every book in the series will be distributed in this way.

The free-to-read version of Practical Modern JavaScript is subject to the same license as the rest of the content I publish on Pony Foo: Creative Commons Attribution-NonCommercial-ShareAlike.

It took me a bit of time but I've managed to get the git repository to trigger builds on the O'Reilly build server. The build server then pings back to, letting the site know when a build is ready. Lastly, Pony Foo finally downloads the updated HTML files for the web version. Luckily I developed the code in such a way that I will be able to share HTML versions of other books in the series effortlessly.

Read the HTML version of the book on Pony Foo! πŸ¦„

Source Code Repository!

I want this book series to be as widely available as possible, and the best course of action for that purpose was to release the vast majority of its contents to the open-source community.

The book chapters, code samples, and related graphics are all open-source and free to read online. The repository is the same one I work on while writing the book. You can help me in real-time, or just take a peek at my writing process and progress.

The GitHub repository is automatically synchronized with the website using webhooks and the O'Reilly Atlas API.

O'Reilly provides their authors with git repositories under a system dubbed "Atlas" β€” the same system that handles the HTML and PDF build jobs. They also offer a way of using a GitHub repository while keeping their remote up to date via git hooks.

Those are the implementation details, but it means I can offer an open-source repository for the books β€” the same repository I will be working on myself. This means I can take issues, pull requests, and everything directly on GitHub. You can fork the book, fix some typos or add a new paragraph, and submit a PR.

When I merge a PR, the website will be updated after an automated build courtesy of the O'Reilly Atlas service!

Contribute to the source code repository on GitHub! πŸ‘

A Crowdfunding Campaign!

Offering all of this content free of charge is amazing because I can ensure that anybody who's interested in JavaScript can learn more about it. The satisfaction alone doesn't pay any bills, though.

At the same time, I have to manage to write the series somewhere in between my day job at Elastic (it's the absolute best company β€” we're hiring! πŸ¦„πŸ’–πŸ”ŽπŸŽ‰) and my night job life bliss being a husband.

That's why I'm asking for your help with a crowdfunding campaign. The main concern in the campaign is to keep me motivated to find the time to see the series to its end. The first book is already well underway, and I'd love to be able to justify the dedication that each book in the series deserves.

There's a few perks in the campaign, as is the norm with crowdfunding campaigns. Go check out the campaign and let's make this happen!

Participate in the crowdfunding campaign on Indiegogo! πŸ’Έ

O'Reilly Media Early Release!

I've partnered with O'Reilly Media to publish the book. This is a paid offering that includes a PDF ebook and eventually a print book. The published book is a great way to show your support for my work, by paying a bit for it β€” and telling your friends how awesome my writing is. 😘

We'll start with an Early Release, where you will get the first few chapters in ebook format. As new chapters come out and old ones get improvements, you'll receive those updates at no extra cost to you. You'll also get an opportunity to steer the direction of my writing efforts by reporting errors and delivering book reviews.

This is a great way to stay in touch with me through the writing process and letting me have it when drafts are not up to your expectations, so that we can improve the book iteratively before it goes to print.

Purchase the Early Release from O'Reilly! πŸ““


Check out the contributing guidelines! πŸ‘


NicolΓ‘s Bevacqua Β© 2016-2017. Creative Commons. Details at

You can’t perform that action at this time.