Coder Social home page Coder Social logo

js-stack-from-scratch's Introduction

JavaScript Stack from Scratch

JS React Gulp Redux ESLint Webpack Mocha Chai Flow

Build Status

Welcome to my modern JavaScript stack tutorial: JavaScript Stack from Scratch.

This is a minimalistic and straight to the point guide to assembling a JavaScript stack. It teaches you how to set up ES6, Babel, Gulp, ESLint, React, Redux, Webpack, Immutable, Mocha, Chai, Sinon, and Flow. It requires some general programming knowledge, and JavaScript basics. It focuses on wiring all these tools together and giving you the simplest possible example for each tool. You can see this tutorial as a way to write your own boilerplate from scratch.

Since the goal of this tutorial is to assemble various tools, I do not go into details about how these tools work individually. Refer to their documentation or find other tutorials if you want to acquire deeper knowledge in them.

A big chunk of the stack described in this tutorial uses React. A lot of React tutorials completely skip the setup part, which makes newcomers build their learning on weak foundations. Instead of giving beginners a "black box" configuration, the approach I'm taking here is to set up the foundations in the simplest possible way, for a thorough understanding.

Code examples are available for each chapter, and you can run them all with yarn && yarn start or npm install && npm start. I recommend writing everything from scratch yourself by following the step-by-step instructions of each chapter.

Every chapter contains the code of previous chapters, so if you are simply looking for a boilerplate project containing everything, just clone the last chapter and you're good to go.

Note: The order of chapters is not necessarily the most educational. For instance, testing / type checking could have been done before introducing React. It is quite difficult to move chapters around or edit past ones, since I need to apply those changes to every following chapter. If things settle down, I might reorganize the whole thing in a better way.

The code of this tutorial works on Linux, macOS, and Windows.

Table of contents

1 - Node, NPM, Yarn, and package.json

2 - Installing and using a package

3 - Setting up ES6 with Babel and Gulp

4 - Using the ES6 syntax with a class

5 - The ES6 modules syntax

6 - ESLint

7 - Client app with Webpack

8 - React

9 - Redux

10 - Immutable JS and Redux Improvements

11 - Testing with Mocha, Chai, and Sinon

12 - Type Checking with Flow

Coming up: React Router, Server-Side Rendering, Styling, Enzyme, Minification, Git Hooks

Created by @verekia โ€“ verekia.com.

License: MIT

js-stack-from-scratch's People

Contributors

felixsanz avatar grabes avatar kevin-xi avatar radarhere avatar rouzazari avatar saniko avatar verekia avatar

Stargazers

 avatar

Watchers

 avatar  avatar

Forkers

ls404

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.