AldonIsenberg11 / Dev-Environment-Template

Javascript environment setup

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Dev-Environment-Template

Basic starter template to start any new project.

Starter Kit

1. Editor and Configuration

Editor config | http://editorconfig.org/
Make sure your editor is compatible with your editor

2. Package Management

Node Security Platform | https://nodesecurity.io/
"nsp": "2.6.2"
This checks any subsequent NPM installs for security vulnerabilities

3. Development Web Server

/buildScripts/srcServer.js is currently set to port: 3000

4. Automation

Built into the package.json "Scripts" : {}
Utliizes the node_modules/.bin executables
Allows for running scripts in parallel

5. Transpiling

"babel-cli": "^6.26.0",
"babel-preset-env": "^1.6.1",

6. Bundling

"babel-loader": "6.2.5",
"css-loader": "0.25.0",
"style-loader": "0.13.1", |
"webpack": "1.13.2",
"webpack-dev-middleware": "1.8.4",
"webpack-hot-middleware": "2.13.0"

https://stackoverflow.com/questions/34039826/webpack-style-loader-vs-css-loader
-Sourcemaps

7. Linting

"eslint": "3.8.1",
"eslint-plugin-import": "2.0.1",
"eslint-watch": "2.1.14",

We are using eslint-watch instead of esline-loader (webpack) because it displays better warning/error formatting, cleaner messaging, and can lint test and build scripts instead of only the bundled code.

Config format?
Which built-in rules?
Warnings of errors?
Which plugins?
Use preset instead?

8. Testing and Continuous Integration

"babel-register": "6.16.3",
"chai": "3.5.0",
"jsdom": "9.8.0",
"mocha": "3.1.2",

1. Framework - Mocha
2. Assertion Library - Chai
3. Helper Library - JSDOM, Cheerio
4. Where to run tests - Node (JSDOM in memory) - https://nodejs.org/api/fs.html
5. Where to place tests - Alongside
6. When to run unit tests - Upon save
Mocha
Chai
JSDOM

9. HTTP Calls

10. Project Structure

11. Production Build

12. Production Deploy

13. Helpful Tools

"chalk": "1.1.3",
"numeral": "1.5.3",

About

Javascript environment setup


Languages

Language:JavaScript 92.2%Language:HTML 5.4%Language:CSS 2.3%