Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
A standalone bundle manage which can add an extendable plugin system to any application
JavaScript
tag: 0.0.1

Fetching latest commit…

Cannot retrieve the latest commit at this time

Failed to load latest commit information.
lib
test
.gitignore
.travis.yml
Makefile
README.md
package.json

README.md

Bundled - A standalone bundle manager

Bundled allows you to add a standalone extension system any application.

build status

Installation

  npm install bundled

Usage

  • Create a folder to house all of your bundles
  • Create a bundle folder
  • Create bundle.js which must have the following:

bundle.js

  modules.exports = {
    name: 'Hoozit',
    version: '0.0.1',
    description: 'This is a very cool hoozit', // Optional
    nav: { title: 'Hoozit', url: 'http://hoozit.com' } // Custom properties can be added
  };
  • Then add to your application like so:

app.js

  var bundled = require('bundled')(app);
  bundled.addPath('bundle/hoozit');
  • You can add as unlimited properties to a bundle and retrieve them later using:

app.js

  var bundled = require('bundled')(app);
  bundled.addPath('bundle/hoozit');
  bundled.get('nav'); // Returns an array of all the bundles value for **nav**
  • If you need to initialize code for your bundle you can add an initialize function or even an array of functions.

Single initialize function example:

  modules.exports = {
    name: 'Hoozit',
    version: '0.0.1',
    description: 'This is a very cool hoozit',
    nav: { title: 'Hoozit', url: 'http://hoozit.com' },
    initialize: function(app, done) {
      app.hoozit = 'I am a hoozit';
      done();
    }
  };

Multiple initialize function example:

  modules.exports = {
    name: 'Hoozit',
    version: '0.0.1',
    description: 'This is a very cool hoozit',
    nav: { title: 'Hoozit', url: 'http://hoozit.com' },
    initialize: [function(app, done) {
      // Do something first. All first level initialization will be executed.
      done();
    }, function(app, done) {
      // Then all second level initialization will be executed. This is handy for circular references.
      app.hoozit = 'I am a hoozit';
      done();
    }]
  };

For more information take a look at the tests.

Credits

Paul Serby follow me on twitter

Licence

Licenced under the New BSD License

Something went wrong with that request. Please try again.