David Bashford

A web dev blog from a Washington DC based Dad, UI architect, web developer, and creator of Mimosa.


Mimosa 2.0 Released, 2.1 Queued Up

This week Mimosa 2.0 was released. I'm exited to get this release out as it makes Mimosa leaner, meaner, easier to reason about for its users and its maintainer, and a ton easier to maintain long-term.

Compiler Refactor

The biggest change with this major release is the extraction of all of Mimosa's compilers out of Mimosa's core and into separate Mimosa modules. The only drawback of this change is that you now have to list your compilers in mimosa-config's modules array. A little less magic isn't a bad thing.

But the advantages are many.

  1. It is now super easy to many compilers of your own. Before, a new compiler would have required a pull request to Mimosa. If you want to, for instance, create an EmberScript compiler well, that just got easier. And there are bunches of existing compiler modules to use as examples.

  2. Mimosa now takes a lot less time to download. I heard more than a few times that npm installing Mimosa felt a bit like you were downloading all of NPM. Yanking out the compilers reduced install time by 60-70%. As more compilers get developed Mimosa's dependency bloat would have only worsened.

  3. Maintaining and impoving compilers can now happen apart from Mimosa itself. If a single compiler gets upgraded, it won't require a new version of Mimosa to be released.

  4. Mimosa core is smaller. The smaller and more modular it gets the less time I spend working on Mimosa's core and the more time I spend building out the modules my team and those others using Mimosa need.

Some of the old config, like compilers and templates.handlebars has been moved to their logical locations. Each compiler manages its own extensions and overrides for the compiler library if specific versions are needed.

After having updated a dozen or so projects to 2.0 I can say that these changes generally mean less config and a config that makes more sense.

There were plenty of other tweaks and fixes. For a comprehensive list of all that went into 2.0, check out the Release Notes.


Work on 2.1 will start shortly and it'll be heavily logging focused. After not getting much love or attention since the beginning, there has been a lot of feedback that logging needs to get better and more flexible, and it will.


I love hearing what people are doing with Mimosa and helping folks through any trouble they may have. Shoot me a note @mimosajs, or hit the Google Groups or just make a GitHub issue to discuss what is on your mind.

comments powered by Disqus