TLDR; Visit this repo for minimum ES6+ Boilerplate

Lately a lot people have been writing about how much they miss the good old days of JavaScript development. Five years ago creating a new web project looked as follows:

Create an index.html file. Create a JavaScript file. Require your JavaScript file in your index.html file. Open your index.html file in your favorite browser of choice.

Today, starting a project might look more like:

Install or update Node. Install or update NPM. Install Babel and any other build tools that you use. Copy over your old configs for all of the build tools. Realize that some of the build tools have breaking changes since you’ve last used them. Decide that you want to understand latest and greatest vs. using the old version. Spend few hours reading various docs on how to get all your build tools to work. Create an index.html file. Require your transpiled JavaScript file in your index.html file. Open your index.html file in your favorite browser of choice.

Sure, you could still do it the old way, but then you will be missing out on all the good stuff that has happened in the JavaScript community in the past 5 year. On the flip side, setting all of this up takes so much activation energy that sometimes I find myself giving up on the project before writing a single line of code.

Finding a better way

I’ve create this repo which I intend to keep “dead simple”. No bells and whistles. I want the experience to be as close as possible to the way it used to be 5 years ago, while at the same time giving me the needed pieces of the modern stack.

The master project is the minimum set up needed to run Babel that would transpile ES6 to ES5.

Since it’s runs with NPM Scripts, in theory it should not have any external dependencies. All that is needed is:

Clone and rename the repo (and may be remove the .git folder). run npm install In one terminal tab run npm run watch In another terminal tab run npm start Open your browser to http://127.0.0.1:8080

But I want more

So do I. Right of the bet I wanted to at least have eslint support. Instead of hooking it into the main (master) branch, I’ve create a new recipe branch called eslint. That way I can clone the needed branch, and go from there.

Whats next

I plan to add more recipes to the repo as I go along. Next candidate, for example, is adding support for React.

Since, I know a lot of people are suffering from a similar problem, I wanted to open this up to the public. Please let me know if you thing something can be improved or suggest a new recipe.