Settings with editorconfig http://editorconfig.org/
Bitbucket / Github will be used as remote repositories.
Node Package Manager will be used as package managment tool. Node Security Platform will be used to check for vulnerabilites of npm installed modules.
Installation:
npm install -g nspCheck operation:
nsp checkIf everything ok return will be:
(+) No known vulnerabilities foundFor this project Express will be used as development web server. Installation is made using npm.
Simple express configuration for localhost web server:
var express = require('express');
var path = require('path');
var open = require('open');
var port = 3000;
var app = express();
app.get('/', function(req, res) {
    res.sendFile(path.join(__dirname, '../src/index.html'));
});
app.listen(port, function(err) {
    if( err ) {
        console.log(err);
    } else {
        open('http://localhost:' + port);
    }
});Localtunnel service will be installed via npm:
npm install -g localtunnerTo use localtunel:
lt --port 3000 --subdomain jsstarterkitIf subdomain is free in that moment return will be:
your url is: https://jsstarterkit.localtunnel.me For automation NPM scripts will be used. Configuration is set inside package.json file.
When TypeScript typesafety isn't required Babel is the most complete transpaler. Configuration can be set with .babelrc file inside project folder.
{
    "presets": [
        "latest"
    ]
}For JavaScript bundling Webpack bundler will be used.
Linter for advance JavaScript code - ESLint
For this project Mocha Framework will be used. Mocha does not habe assertion liberary builtin. Chai is one of the most popular assertion library.
As testing helper JSDOM is used to simulate broser's DOM manipulation.
Headless Browser is JSDOM library.
For this project Travis CI will be used. Travis provides cloud based service for unix-like platforms.