Skip to content

Sibabalwe-Qamata/BuildingDevEnvironment

Repository files navigation

BuildingDevEnvironment

Build Status Build status

Tools used

  • Git & Github
  • Automated Deploy to Heroku

Editors and Configuration

  • Selecting appropriate JS editor
  • Front-End : VS Code**, Atom, Brackets, Webstorm
  • Back-End : Netbeans, Eclipse, VS Studio
  • Automated Consistency EditorConfig

Package Management

  • Bower, NPM** , JSPM, JAM, VOLO

Development Webservers

  • http-server, live-server, express.js, budo
  • webpack dev server, browsersync
  • localtunnel, ngrok, surge, now

Automation

  • Grunt, Gulp, npm Scripts

Transpling

  • Babel | TypeScript | Elm

Bundling

  • Browserify | Webpack | Rollup | JSPM

Linting

  • JSLint | JS Hint | ESLint

Testing and Continuous Integration

  • Mocha, Jasmine, Tape, QUnit
  • AVA, Jest
  • Travis, Jenkins, Appveyor
  • CircleCi, Semaphore, SnapCI

6 Key Testing Decisions (Unit Test)

  • Choice a Framework : For JS : Mocha, Jasmine, Jest etc
  • Assertion Library : Like Chai, Should
  • Helper Libraries : JSDOM , Cheerio
  • Where to run tests : Browser (Karma, Testerm) | Headless Browser (PhantomJS) | In-memory DOM (JSDOM) : Node
  • Where to place tests : Alongside
  • When to run tests : When you hitting save

HTTP

  • Node : http & request
  • Browser : XMLHttpRequest, jQuery, Fetch
  • Node & Browser : isomorphic-fetch, xhr, SuperAgent, Axios

Plan for a mock HTTP

1.Declare schema : JSON Schema Faker

2.Generate Random Data:
 - faker.js | change.js | randexp.js

3.Server Data via API
-JSON Server

Project Structure

  • Building scalable project structure

Production Build

  • Minification

Automated Deployment

  • Create automated deployment to different cloud hosts
  • e.g (AWS, Heroku, Firebase, Microsoft Azure, Google Cloud Platform)

About

JavaScript Development Environment

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published