UNPKG

hem

Version:

stitches CommonJS, and ties up other lose ends of web-app development.

74 lines (62 loc) 2.27 kB
// Generated by CoffeeScript 1.12.7 (function() { var Module, basename, dirname, extname, invalidDirs, isAbsolute, join, modulePaths, modulerize, ref, repl, resolve, sep, indexOf = [].indexOf || function(item) { for (var i = 0, l = this.length; i < l; i++) { if (i in this && this[i] === item) return i; } return -1; }; Module = require('module'); ref = require('path'), join = ref.join, extname = ref.extname, dirname = ref.dirname, basename = ref.basename, resolve = ref.resolve, sep = ref.sep; isAbsolute = function(path) { return /^\//.test(path); }; modulerize = function(id, filename) { var baseName, dirName, ext, modName; if (filename == null) { filename = id; } ext = extname(filename); dirName = dirname(id); baseName = basename(id, ext); if (dirName === baseName) { modName = baseName; } else { modName = join(dirname(id), basename(id, ext)); } return modName.replace(/\\/g, '/'); }; modulePaths = Module._nodeModulePaths(process.cwd()); invalidDirs = ['/', '.']; repl = { id: 'repl', filename: join(process.cwd(), 'repl'), paths: modulePaths }; module.exports = function(request, parent) { var _, dir, filename, id, index, paths, ref1; if (parent == null) { parent = repl; } ref1 = Module._resolveLookupPaths(request, parent), _ = ref1[0], paths = ref1[1]; filename = Module._findPath(request, paths); if (!filename) { throw new Error("Cannot find module: " + request + ". Have you run `npm install .` ?"); } dir = filename; while (indexOf.call(invalidDirs, dir) < 0 && indexOf.call(modulePaths, dir) < 0) { dir = dirname(dir); } if (indexOf.call(invalidDirs, dir) >= 0) { index = filename.lastIndexOf("" + sep + request); if (index > 0) { dir = filename.substring(0, index); modulePaths.push(dir); } else { throw new Error("Load path not found for " + filename); } } id = filename.replace("" + dir + sep, ''); return [modulerize(id, filename), filename]; }; module.exports.paths = function(filename) { return Module._nodeModulePaths(dirname(filename)); }; module.exports.modulerize = modulerize; }).call(this);