Skip to content

iGitScor/frontend-developer

Repository files navigation

Frontend developer playground

Build Status dependencies Status devDependencies Status

Table of contents

  1. Project dependencies
  2. Build tools
  3. Javascript frameworks
  4. Testing

Dependency management

Yarn Yarn

Yarn is a package manager which is much faster than NPM, has offline support, and fetches dependencies more predictably. Since it came out in October 2016, it received a very quick adoption and is becoming the new package manager of choice of the JavaScript community.

Build

Gulp

Gulp

Gulp is a task runner. It is similar to the tasks located under scripts in package.json, but writing task in a JS file is simpler and clearer than a JSON file.

Webpack

Webpack

Webpack is a tool that import different files and resolve these files using the filesystem. In a browser, there is no filesystem, and therefore imports point to nowhere. In order for entry point file o retrieve the tree of imports it needs, we are going to "bundle" that entire tree of dependencies into one file.

Javascript frameworks

React

React

React is an open-source JavaScript library for building user interfaces. React user interfaces are typically rendered using stateful components.

Redux

Redux

Redux manages the state of the application. It is composed of a store which is a plain JavaScript object representing the state of the app, actions which are typically triggered by users, and reducers which can be seen as action handlers. Reducers affect the application state (the store), and when the application state is modified, things happen in the app. A good visual demonstration of Redux can be found here.

Testing

Code quality

ESLINT

ESLint

I'm going to lint my code to catch potential issues. ESLint is the linter of choice for ES6 code. Instead of configuring the rules I want for my code, I use the config created by Airbnb.

Flow

Flow

Flow is a static type checker. It detects inconsistent types in the code and allow to add explicit type declarations in it via annotations.

Unit Testing

Mocha & Chai

Mocha Chai

I use Mocha as my main testing framework. Mocha is easy to use, has tons of features, and is currently the most popular JavaScript testing framework. It is very flexible and modular. In particular, allow using any assertion library. Chai is a great assertion library that has a lot of plugins available.

Credits

Inspired by @verekia