Gulp and Webpack – Better Together

I’ve used gulp as a workflow engine prior, but I’d pretty much given up on using it because webpack did so much of what I needed. However, I was flying back from my vacation and I was reminded why I still need it. Not everything in my workflow is actually involved in creating bundles. In…

Reduce the size of your Browserified React applications

I’ve been using React for most of my browser-side applications recently. The recommended approach here is to use Browserify to bundle your application. You create ES6 modular components, then bundle them all with React for your application. Let’s take a small application. I’ve got a basic bootstrap component called app.jsx: This includes the React libraries…

Managing Coding Style in JavaScript with eslint

I’m a big fan of linters, especially in the case of JavaScript.  Most languages are statically typed and have fairly well known and rigid formatting.  This allows consumers of the language to read source code and easily digest what it is doing.  Not so JavaScript.  Some of the code is so badly written that you…

Apache Cordova, ES2015 and Babel

I created a simple Apache Cordova app and got it working on my iOS and Android emulators in the last article. My hope was to convert the app to ECMAScript 2015 (the new fancy name for what we have been calling ES6 for the past year) and work on Browserify for the app packaging. However,…

Moving from Bower to NPM

The “definitely not the” node package manager (npm) has recently moved up a major version to v3.0 and in the process has signalled its intent to start handling client-side packages. It supports any old git repository so the benefit of bower is basically gone now. It’s time to stop using two package managers and standardize…

Gulp: Bumping Versions

You may have noticed that Javascript build utilities all have their own JSON file for configuration – whether it be bower, npm, or whatever. There is always a JSON file and it is always versioned. So one of the things you tend to do is bump the version and check it in again. That screams…