mimosa-browserify

CommonJS support for Mimosa via Browserify

mimosa-browserify

Mimosa module to support CommonJS via Browserify. require() your web modules Node.js style!

Mimosa skeletons are available! You now only need one command to create a new browserify app.

  • mimosa skel:new browserify-basic myApp to create a new browserify Mimosa app.
  • mimosa skel:new ember-commonjs myApp to create a new browserify Mimosa app with Ember.js.

Remember to npm install then start developing with mimosa watch -s.

Replace require with browserify in your mimosa-config.coffee. Mimosa will automatically install mimosa-browserify from NPM if you don't already have it.

####Updating/Switching Versions Use the mimosa cli to manage versions. mimosa mod:list will show you what you have installed.

To update to the lastest version: mimosa mod:install mimosa-browserify

You can also change to a specific version: mimosa mod:install mimosa-browserify@0.1.2 ####Example configuration:

exports.config =
  modules: ["server","browserify","lint","live-reload","bower"]
  template:
    wrapType: 'common'
    commonLibPath: 'dust'
  browserify:
    bundles:
      [
        entries: ['javascripts/main.js']
        outputFile: 'bundle.js'
      ]
    shims:
      jquery:
        path: 'javascripts/vendor/jquery/jquery'
        exports: '$'
    aliases:
      dust: 'javascripts/vendor/dust'
      templates: 'javascripts/templates'
    noParse: ['javascripts/vendor/jquery/jquery']

####shims Note the use of shims to wrap non-CommonJS code. The documentation for the shim configuration can be found at browserify-shim. ####aliases Aliases allow you to name your modules. This frees you from having to use relative paths. So in this example you could require('dust') instead of require('./vendor/dust'). ####noParse Use noParse to let browserify know not to parse large vendor libraries with no node.js dependencies. This can help shave a few seconds off of your build time. ####templates Mimosa as of v1.0.0-rc.4 can output CommonJS wrapped templates compatible with mimosa-browserify. Be sure to set template.wrapType to common and set your commonLibPath if you want to use compiled templates. (you probably do) ####external bundles Browserify external bundles are now supported. Thanks Kikimora!

libs = ["/vendor/js/jquery/jquery""/vendor/js/bootstrap/bootstrap"....]
browserify:
  bundles:
    [{
      entries: libs
      outputFile: 'lib-bundle.js'
    },{
      entries: ['js/app.js']
      outputFile: 'app-bundle.js'
      external: libs
    }]

browserify-basic is the default Mimosa project modified for browserify.

ember-commonjs is a simple Mimosa project with Ember.js support.