cmon

CommonJS and ender-inspired require/provide with events

npm install cmon
26 downloads in the last week
52 downloads in the last month

cmon

CommonJS and ender-inspired require/provide with events

$ npm install cmon

API (0.6)

cmon()

  • cmon(id) Delegate to cmon.require(id).
  • cmon(id, value) Delegate to cmon.provide(id, value).
  • cmon(id, value, guard) Delegate to cmon.require(id).
  • cmon(fn) Call fn in the root scope and receive (cmon).

.require / .provide

At runtime in a browser cmon claims the global require/provide if unclaimed. Otherwise access them as methods:

  • cmon.require(id) Get a module that was provided via cmon.provide.
  • cmon.require(deps, fn) Async (fn applies with deps when available).
  • cmon.provide(id, value) Provide a module.
  • cmon.provide.on(id, fn) Attach a handler to run anytime id is provided.
  • cmon.provide.one(id, fn) Attach a 1-time handler to run the next time id is provided.
  • cmon.provide.off(id, fn) Remove a handler.
  • cmon.provide.off(id) Remove all id handlers.
  • cmon.provide.emit(id) Manually trigger active id handlers.
  • cmon.able(id, fn?, timeout?) Attach a 1-time handler runs when id is available—async.

.claim / .unclaim

  • cmon.claim(id, value, target?) Expose a module to the root or to target.
  • cmon.unclaim(id, value, target?) Safely unexpose a module that was exposed via claim.

.noConflict

  • cmon.noConflict() Unclaim require/provide
  • cmon.noConflict(true) Unclaim require/provide/cmon
  • cmon.noConflict(callback) Unclaim require/provide/cmon

Developers

Contribute by making edits in /src or reporting issues.

$ npm install
$ grunt jshint:src

Fund

Fund development with tips to @ryanve =)

License: MIT

Copyright (C) 2013 by Ryan Van Etten

npm loves you