Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/MrBenJ/modern-js-by-example

An example driven guide on modern javascript with real world and easy to understand examples
https://github.com/MrBenJ/modern-js-by-example

books javascript learn-js learning study

Last synced: 19 days ago
JSON representation

An example driven guide on modern javascript with real world and easy to understand examples

Awesome Lists containing this project

README

        

Modern JavaScript by Example
============================

[![Greenkeeper badge](https://badges.greenkeeper.io/MrBenJ/modern-js-by-example.svg)](https://greenkeeper.io/)

### A Practical and Example filled book about good ol' JavaScript
#### Written by Ben Junya [@MrBenJ](https://www.github.com/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!

## Developing

### Prerequisites

You'll need
* Node v8 or newer
* npm

1. Clone the repo
```sh
git clone https://www.github.com/MrBenJ/modern-js-by-example
```

2. Install dependencies
```sh
cd modern-js-by-example
npm install
```

3. Start a development server locally
```sh
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

## ROADMAP

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.

### Considerations

* Print version?

## Contributors

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](https://www.github.com/fangstar) - Proofreading and editing examples
* [spamyak](https://www.github.com/spamyak) - Proofreading and catching incorrect examples
* [Anton Halim](https://www.github.com/antonhalim) - Heavy proofreading, catching incorrect examples, and grammar
* [sabrinakoehler](https://www.github.com/sabrinakoehler) - Additional proofreading for spelling and grammar issues
* [rw251](https://www.github.com/rw251) - Proofreading
* [jessmear](https://www.github.com/jessmear) - Proofreading and content suggestion
* [pauldariye](https://www.github.com/pauldariye) - Proofreading and example edits
* [marwahaha](https://www.github.com/marwahaha) - Proofreading and fixing misinformation on `Set`