Search code examples
ember.jsember-cli

How to install Supergroup.js as Ember-cli dependency


I'd like to use Supergroup.js in ember-cli (I use ember-cli:0.2.7 and ember 1.12.1). Supergroup is implemented as an Underscore or LoDash mixin, so author suggests to include lodash dependency first.

After adding dependencies to bower.json:

//bower.json
"dependencies": {
  //...
  "lodash": "^3.9.3",
  "supergroup":"1.0.13"
}

I got error:

Could not find module lodash
// at supergroup.js:  "_ = require('lodash');"

As a workaround I forked supergroup, removed following code fragment from supergroup.js:

// if (typeof require !== "undefined") {
//     if (typeof underscore !== "undefined" && underscore === "underscore") {
//         var _ = require('underscore');
//     } else {
//         var _ = require('lodash');
//     }
// }

and it worked.

I'm not good in understanding how ember-cli dependencies work, so I'd like to understand what's going on and what's proper way to install Supergroup.js without brute force patching, adding dependencies in bower.json (or may be in package.json)


Solution

  • Looks like it works with ember-browserfy.

     npm install --save-dev lodash
     npm install --save-dev supergroup
    
     //where needed
     import _ from 'npm:supergroup';
    

    and nothing in bower.json, Brocfile.js and .jshintrc!