node package manager
Loosely couple your services. Use Orgs to version and reuse your code. Create a free org ยป



[DEPRECATED]: please use the new gladius-forge package.

Prebuilt Gulp environment for ES6+ web app boilerplates.

It comes with an ES6+ (ES7 async/await are there) to ES3-ish (as IE8 compatible as possible, but you may have to import polyfills, shims and shams accordingly) compilation process, together with a Browserify bundling and Uglifyjs compression.

Plus a CSS compilation task, to choose from one of the following:

  • LESS
  • Sass
  • SCSS + Compass
  • Myth
  • Stylus

as well as an Autoprefixer, post compilation, process (bye bye vendor prefixes).

Also, templates precompilation process, to choose from one of the following:

  • Handlebars
  • Dust
  • Dot.js
  • Jade

the task compiles templates in JST format, namespaces them under an R.templates globally accessible variable and serves it to you in the form of a template.js module inside your static scripts folder.

You can also rely on a Karma tests runner, with PhantomJS and Google Chrome engines (bring your own karma.config.js file, though), plus JSHint code check and JSValidate safety checks on critical tasks.

It also gives you the possibility to serve your own instance of a Node.js server, plus watchers and livereloading for, well, everything really.

Bonus: version bumping and git tagging/pushing tasks.


  • Find a better name. (found! it's gladius-forge)
  • Split compiled templates on a per-page basis (base folder separation).
  • Introduce a super light static page server (now it relies on the final user to feed it one)


Copy the gulpfile-sample.js in your app folder and configure it the way you like. The configuration is pretty straightforward and the comments will help you out on every bits of it.

You can also take a look at the gladius-draft's gulpfile.js to see how you can extend default tasks, add your own tasks or watchers, etc.

By default, the boilerplate will come with the following tasks, which you can extend or override as you please:


production: it will run the basic compilation + compression tasks, without tests other than the JSValidate one to make sure everything worked fine.

development: it will run compilation tasks (no compression) with sourcemaps support, plus it will run watchers to recompile and livereload everything as soon as you make some changes, plus Karma in watch mode.

test: it will just run the tests without watchers (useful for CI engines).

release, feature and patch are special tasks that handle the bump of the version on the package.json as well as the bower.json if present, plus the tagging on your git repo, and the push to master of the newly generated tag.


  • List all the other tasks


The boilerplate comes with a very basic set of dependencies installed via NPM. The remaining modules needed by each task will be lazily installed during the pre-process phase of each default task.

This way makes it possible to have the smallest amount of dependencies needed to be installed for the production task, that reflects on an massive reduction of the installation footprint on production environment.


This boilerplate of mine is just a combination of great tools put together to achieve higher goals (using cutting edge technologies today, greatly simplifying a developer's workflow, etc), and if it weren't for the people who built those tools, I wouldn't have made this little thing so far.

So, thanks goes to:

  • esnext developers and contributors, that are giving us the possibility to use ES6 syntax today, in the most lightweight way possible.
  • Facebook developers working on the Regenerator compiler, that are giving ES6 generators to us, today (also async and await statements <3).
  • The Gulp developers. Keep up the good work, looking forward for the v4.0.
  • People behind Browserify, because CommonJS is the right thing!
  • Karma, JSHint and gulp-jsvalidate developers, keeping our code safe.
  • All the great guys that brought to us those awesome gulp plugins, the list is long, so thank you all.