Skip to content
An example driven guide on modern javascript with real world and easy to understand examples
CSS JavaScript
Branch: master
Clone or download
MrBenJ Merge pull request #251 from MrBenJ/greenkeeper/eslint-plugin-jest-22…

Greenkeeper/eslint plugin jest 22.14.0
Latest commit 2bec1cd Jul 26, 2019
Type Name Latest commit message Commit time
Failed to load latest commit information.
.circleci Add flow typechecking to components Dec 1, 2018
__mocks__ Unit testing. Prepare for v1.0.0 Dec 15, 2018
flow-typed/npm Update flow-typed. Supress flow on style files Jan 5, 2019
src Styling fix Jun 30, 2019
.alexrc Restore 'savage' in .alexrc Apr 23, 2019
.babelrc File structure organization + architecture Dec 1, 2018
.eslintrc.js Add remark. Get pages (unstyled) rendering Dec 1, 2018
.flowconfig Update @emotion/core to fix flowtype context.js issues Jan 7, 2019
.gitignore Unit testing. Prepare for v1.0.0 Dec 15, 2018
.prettierrc Added Gatsby 2. Removed everything else Dec 1, 2018 Create (#12) Oct 10, 2018
LICENSE Create LICENSE (#11) Oct 10, 2018 Add @marwahaha to contributors Mar 22, 2019
gatsby-browser.js Unit testing. Prepare for v1.0.0 Dec 15, 2018
gatsby-node.js Add remark. Get pages (unstyled) rendering Dec 1, 2018
gatsby-ssr.js Added Gatsby 2. Removed everything else Dec 1, 2018
jest-preprocess.js Unit testing. Prepare for v1.0.0 Dec 15, 2018
jest.config.js Unit testing. Prepare for v1.0.0 Dec 15, 2018
jest.setup.js Unit testing. Prepare for v1.0.0 Dec 15, 2018
loadershim.js Unit testing. Prepare for v1.0.0 Dec 15, 2018
package-lock.json chore(package): update lockfile package-lock.json Jul 26, 2019
package.json chore(package): update eslint-plugin-jest to version 22.14.0 Jul 26, 2019
stylesheet.css Change container to 680px total width per @revelt in #64 Mar 22, 2019

Modern JavaScript by Example

Greenkeeper badge

A Practical and Example filled book about good ol' JavaScript

Written by Ben Junya @MrBenJ

JavaScript doesn't just move fast, it smashed the accelerator down so hard it went through the chassis of the car and already colonized Pluto before your instant noodles finished cooking.

This open source free to read and consume book is meant for beginner to intermediate programmers looking to use all the brand new features of JavaScript with real-world pragmatic examples that are easy to use and fun to implement in your own project.

This book is a work in progress and will continue to be updated and worked on regularly.

Check out the /book folder and pick a chapter to start reading up and enjoying the book :).

Contributions welcome. Contributor Code of Conduct, Pull Request Policies, and more coming soon!



You'll need

  • Node v8 or newer
  • npm
  1. Clone the repo
git clone
  1. Install dependencies
cd modern-js-by-example
npm install
  1. Start a development server locally
npm run dev

You should be able to open up localhost:9000 in your browser and start poking around the site. You can view the GraphQL API at localhost:9000/___graphql with GraphiQL for your convenience.

npm Scripts

  • npm run build - Builds the project for deployment
  • npm run lint - Lints all the js files in src
  • npm run test - Runs unit tests with jest and alex
  • npm run dev - Starts a Gatsby development server
  • npm run flow - Runs flow static typechecking


Want to see what's happening with the book right now? See what's in progress and what I haven't started yet to get a good idea of what's on the horizon, or if you'd like to contribute, these are great ways to help out!

In progress:

  • Chapter on Node JS
    • Some basics of common Node modules like child_process, fs, path, and more

Not Started

  • Chapter on Automation
    • We'll talk about automating creating template files with EJS or similar tooling, and some headless chrome testing as well
  • Weird Stuff
    • Some of the oddities that come with Javascript, like automatic semicolon insertion, typeof null, and all the other weird quirks that come with the language.


  • Print version?


This book would not have been possible for the several contributors that have graciously donated their time and energy to making this book better.

  • fangstar - Proofreading and editing examples
  • spamyak - Proofreading and catching incorrect examples
  • Anton Halim - Heavy proofreading, catching incorrect examples, and grammar
  • sabrinakoehler - Additional proofreading for spelling and grammar issues
  • rw251 - Proofreading
  • jessmear - Proofreading and content suggestion
  • pauldariye - Proofreading and example edits
  • marwahaha - Proofreading and fixing misinformation on Set
You can’t perform that action at this time.