node package manager
Share your code. npm Orgs help your team discover, share, and reuse code. Create a free org »



Namespace where can-* packages are registered


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.