Mimosa vs Brunch Comparison

151 views
Skip to first unread message

patrick...@gmail.com

unread,
Aug 22, 2014, 6:47:51 PM8/22/14
to mimo...@googlegroups.com
Hi,

I am looking to wrap either Mimosa or Brunch into a development tool I am building and was wondering if anyone could provide a brief comparison of the two projects.

Is there an article or post somewhere I should look at?

It looks like Brunch has more plugins available, but I'm not a huge fan of its "conventions": https://github.com/brunch/brunch/tree/stable/docs#conventions

Thanks,
Patrick

chee...@gmail.com

unread,
Aug 27, 2014, 8:02:30 PM8/27/14
to mimo...@googlegroups.com, patrick...@gmail.com
Hmm, never heard of brunch before...

At first glance, it seems to be pretty much the same thing as mimosa. I've already got a couple projects using mimosa, and I'm pretty satisfied with it, but maybe I'll try brunch out next time ...um...cuz shiny new? :-/

As my server app gets more complex, I'm starting to think I should separate it from the mimosa project. Mimosa handles all the front-end components well, but I'm running into more debugging issues lately, and I'd like to use a system that handles server code the same way mimosa does for the client side.
e.g., manage a separate src/ and build/ tree with source maps so I can code my server in coffeescript but run it as javascript with a debugger...

The way mimosa does it now, it interprets the coffeescript at runtime, so there are no compiled js files and, for instance, all the line numbers are wrong when an exception is thrown...and if I try to run it with node-inspector, I'm basically limited to debugging mimosa's runtime environment, rather than my own code...

dbashford

unread,
Aug 27, 2014, 9:13:09 PM8/27/14
to mimo...@googlegroups.com, patrick...@gmail.com
Brunch preceeds mimosa by at least 6-10 months.

It's fairly trivial to set up a project that is capable of running all the things you'd like to run on your server code.  You need to do one of two things: either have a separate mimosa-config sitting in another directory (maybe inside project/server/ ?) or have a seperate run profile that largely replaces the mimosa-config with server specific configuration during runtime.  See run profiles http://mimosa.io/utilities.html#profiles

Mimosa itself is largely a CoffeeScript project that I compile to javascript locally before I ever use it. https://github.com/dbashford/mimosa .  This comes up often, I should set up a little demo project that has this set up.

As far as brunch goes...

I created Mimosa because Brunch wasn't working for us (the names are related!) and Grunt just wasn't good enough.  We needed first class AMD support first and foremost.  We also wanted configuration to be easier to manage by relying on conventions and defaults.  We also concerned ourselves with loading mimosa with things to make it friendly to new users.  hence "mimosa new", auto load of modules, core compiler functionality that is easy to leverage by child compilers.

Partap Davis

unread,
Aug 28, 2014, 6:40:52 PM8/28/14
to mimo...@googlegroups.com, patrick...@gmail.com
Oh yeah... hehe, now I remember hearing about brunch when I first started with mimosa...
I was trying to find some comparisons online and gave up when all I could find was info about mimosas at brunch (clever name, but unfortunate wrt google)

I did check out mimosa from git to see how you set up your config for a server-side coffeescript project.  Looks fairly simple...although I will have to modify my server a bit.

Profiles:  cool, I didn't know about those...
It's a little unclear in the docs: would I have to run 2 instances of mimosa?  ...or could I watch both profiles simultaneously? It kind of looks like specifying 2 profiles would just have the second override the first.

So I need to do something like:
$ mimosa watch -P client   # compile client coffeescript, sass, etc  (assets -> public)
$ mimosa watch -P server  # compile server modules (server/src -> server/lib)
And then I would run my server from the command line...

Oh...then I could copy the app.js and config.js generated by web-package to the root directory and have it run startServer on ./server/lib/server.js

Would be nice if the config.js was automatically updated by mimosa watch ...and implementing liveReload might cause some complications, but I think I can live with it.

Of course...This whole setup *could* be more tightly integrated by adding some options to mimosa-config's server section....basically duplicate some of the options from the root config (watch, copy, etc), and then you could even use the old mimosa watch -s to run the whole thing!

...if you were so inclined :)
Reply all
Reply to author
Forward
0 new messages