browser-build
Version:
Makes commonjs modules available in the browser via window.require('module-name')
95 lines (92 loc) • 2.17 kB
JavaScript
// Generated by CoffeeScript 1.6.3
(function() {
(function() {
var modules, normalize, require, resolve;
if (this.require != null) {
return;
}
require = function(path) {
var i, m, object, originalPath, steps;
originalPath = path;
m = modules[path];
if (!m) {
path += "/index";
m = modules[path];
}
if (!m) {
steps = path.replace(/\/index$/, "").split(/\//);
object = this;
i = 0;
while ((object != null) && i < steps.length) {
object = object[steps[i]];
i++;
}
if (object != null) {
m = modules[originalPath] = {
exports: object
};
}
}
if (!m) {
throw new Error("Couldn't find module for: " + path);
}
if (!m.exports) {
m.exports = {};
m.filename = path;
m.call(this, m, m.exports, resolve(path));
}
return m.exports;
};
modules = {};
normalize = require.normalize = function(curr, path) {
var i, seg, segs;
segs = curr.split("/");
seg = void 0;
if (path[0] !== ".") {
return path;
}
segs.pop();
path = path.split("/");
i = 0;
while (i < path.length) {
seg = path[i];
if (seg === "..") {
segs.pop();
} else {
if (seg !== ".") {
segs.push(seg);
}
}
++i;
}
return segs.join("/");
};
resolve = function(path) {
return function(p) {
return require(normalize(path, p));
};
};
require.register = function(path, fn) {
return modules[path] = fn;
};
require.loadAll = function() {
var id, _results;
_results = [];
for (id in modules) {
_results.push(require(id));
}
return _results;
};
require.getModuleIds = function() {
return Object.keys(modules);
};
if (typeof module === "undefined") {
return this.require = require;
} else {
return module.exports = require;
}
})();
}).call(this);
/*
//@ sourceMappingURL=require.map
*/