Blog

Luis Majano

June 07, 2016

Spread the word


Share your thoughts

 

We are very excited today to formally announce the availability of ColdBox Elixir, coldbox/elixir. ColdBox Elixir provides a clean, fluent API for defining basic Gulp tasks for your ColdBox applications.

 

This project was forked from the Laravel Elixir project, so many many thanks for all their hard work and ideas.

 

Overview

We wanted to provide ColdBox developers and easy way to approach an asset pipeline and task executor. The elixir project accomplished this and we have extended it to match the conventions used in ColdBox but also took it a step further to make it compatible with TestBox and CommandBox. This way you can have a full task runner available to you than can integrate with CommandBox recipes, package management, command execution and also TestBox executions.

How it works

Elixir supports several common CSS, JavaScript pre-processors, and TestBox runner integrations. By leveraging Gulp and a Gulpfile.js configuration file in the root of your application, you can use method chaining and Elixir will allow you to fluently define your asset pipeline using conventions.

Conventions

All resources in your ColdBox application will be stored under the resources/assets folder. Under this folder you can find several sub-sections:

  • css - Where you can store your css
  • js - Where you can store your js, vue.js and more
  • less - Where you can store your less files
  • sass - Where you can store your sass files

Depending on the formulas you mix up in the Gulpfile.js using Elixir, you will end up with all your assets linted, minified, etc in their appropriate destination in the includes folder:

  • css - Destination for css
  • js - Destination for js
  • build - Destination for versioned assets

For example:

var elixir = require( 'coldbox-elixir' );
elixir( function( mix ) {
	// Look in the 'resources/sass' folder
    mix.sass( 'app.scss' )
    	// Look in the 'resourcess/css` folder
       .styles( 'modules.css' );
       
   // Elixir will then output all assets to ColdBox 'includes' folder by convention.
});

Fully Documented

We are serious about our software, but we are also serious about our documentation. As with any product we do at Ortus, it is fully documented and a gitbook has been created: ColdBox Elixir Documentation

ColdBox Application Templates

We have created a new Github organization: coldbox-templates https://github.com/coldbox-templates to host all the new ColdBox application templates. You can also collaborate and create new ones if desired. All application templates will now include the ability to use elixir. Here are the links to those:

Manual Installation

ColdBox Elixir is a node package and can be installed by a simple command on any project: npm install coldbox-elixir. You can then create your Gulpfile.js and start mixing your assets.

Extensibility

ColdBox Elixir is fully customizable and extensible. Please check out the documentation for further information on extensibility: http://coldbox-elixir.ortusbooks.com/writing_elixir_extensions.html

Add Your Comment

Recent Entries

12 Days of BoxLang - Day 4: TestBox

12 Days of BoxLang - Day 4: TestBox

Today we’re celebrating one of the most exciting new additions to the BoxLang ecosystem:

the TestBox BoxLang CLI Runner — a fast, native way to run your TestBox tests directly through the BoxLang Runtime. ⚡

No server required. No CommandBox needed. Just pure, ultra-fast BoxLang-powered testing from the command lineon Windows, Mac, and Linux.

If you’re building modern applications with BoxLang — web apps, CLIs, serverless functions, Android apps, or OS-level utilities — this new feature gives you a unified, flexible testing workflow you can run anywhere.

Victor Campos
Victor Campos
December 13, 2025
12 days of BoxLang - Day 3: SocketBox!

12 days of BoxLang - Day 3: SocketBox!

As BoxLang continues evolving into a modern, high-performance, JVM-based runtime, real-time communication becomes essential for the applications we all want to build: dashboards, collaboration tools, notifications, live feeds, multiplayer features, and more.

That’s where SocketBox steps in — the WebSocket upgrade listener built to work seamlessly with CommandBox and the BoxLang MiniServer. ⚡

Today, for Day 3, we’re highlighting how SocketBox supercharges BoxLang development by giving you fast, flexible, and framework-agnostic WebSocket capabilities.

Maria Jose Herrera
Maria Jose Herrera
December 12, 2025
12 Days of BoxLang - Day 2: CommandBox

12 Days of BoxLang - Day 2: CommandBox

BoxLang + CommandBox: The Enterprise Engine Behind Your Deployments

For Day 2 of our 12 Days of Christmas series, we’re diving into one of the most powerful parts of the BoxLang ecosystem: CommandBox the defacto enterprise servlet deployment platform for BoxLang.

If BoxLang is the language powering your applications, CommandBox is the engine room behind it all. ⚙️

Victor Campos
Victor Campos
December 11, 2025