node package manager

can-namespace

Namespace where can-* packages are registered

can-namespace

Namespace where can-* packages are registered

Usage

can-namespace exports an object that can be used to ensure only one version of a module is loaded in an app.

For example, if you have a module can-unicorn that you want to make sure is only loaded a single time, you can use can-namespace:

var namespace = require('can-namespace');
 
var unicorn = {
    // ... 
};
 
if (namespace.unicorn) {
    throw new Error("You can't have two versions of can-unicorn, check your dependencies");
} else {
    module.exports = namespace.unicorn = unicorn;
}

Any module requiring can-namespace will receive the same module because only one version of can-namespace will ever be published.