Starter kit for JS project
VSCode is my choice because of the following features,
- Best JS code hinting features using intellisense.
- Supports rich set of plugins for almost anything.
- Built in terminal
- Built in Git UI
- Debugger
To maintain consistency of Editor configurations, use EditorConfig. Install EditorConfig extension for VSCode. Add .editorconfig file at the project root.
NPM is the preferred manager for JS. It's not only for Node packages but also for front end packages.
NSP can be used to check for security vulnerabilities in npm packages.
Express is a good choice for a dev server since it is highly configurable and easy to use.
LocalTunnel can be used to share a development server over internet.
NPM Scripts is the easiest option for automating build tasks. No need of Grunt or Gulp.
Babel is the best ES transpiler. Add .babelrc to configue babel transpiling options.
Webpack is the most versatile and configurable bundler.
ESLint is the most versatile and configurable linter.
Fetch is the new standard for HTTP/AJAX calls. Use a polyfill to support all browsers.
To mock HTTP server for testing, use JSON-server and JSON-schema-faker.
Webpack Uglify plugin to minify JS.
Webpack HTML plugin to minify and bundle HTML.
Webpack CommonsChunkPlugin used to split vendor and application JS bundles so that they can be cached separately.
Webpack MD5Hash plugin used to add hash to filenames to bust cache.
Webpack ExtractTextPlugin to bundle and minify CSS.
Integrate with Travis CI.