spinjs
Version:
<p align="center"><a href="#"><img width="150" src="https://rawgit.com/sysgears/spinjs/master/logo.svg"></a></p>
38 lines • 1.83 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
var path = require("path");
var requireRelative = require("require-relative");
exports.default = function (cwd, processCwd) {
var require = function (name, relativeTo) { return requireModule(name, relativeTo || cwd); };
require.builderRelativePath = function (name) { return requireModule.builderRelativePath(name, processCwd, cwd); };
require.processRelativePath = function (name) { return requireModule.processRelativePath(name, processCwd, cwd); };
require.resolve = function (name, relativeTo) { return requireModule.resolve(name, relativeTo || cwd); };
require.probe = function (name, relativeTo) { return requireModule.probe(name, relativeTo || cwd); };
require.cwd = cwd;
return require;
};
var requireModule = function (name, relativeTo) {
return name.indexOf('.') !== 0 ? requireRelative(name, relativeTo) : require(path.join(relativeTo, name));
};
requireModule.processRelativePath = function (name, processCwd, cwd) {
var relPath = path.relative(processCwd, path.join(cwd, name)).replace(/\\/g, '/');
return relPath.startsWith('.') ? relPath : './' + relPath;
};
requireModule.builderRelativePath = function (name, processCwd, cwd) {
var relPath = path.relative(cwd, path.join(processCwd, name)).replace(/\\/g, '/');
return relPath.startsWith('.') ? relPath : './' + relPath;
};
requireModule.resolve = function (name, relativeTo) {
return name.indexOf('.') !== 0
? requireRelative.resolve(name, relativeTo)
: require.resolve(path.join(relativeTo, name));
};
requireModule.probe = function (name, relativeTo) {
try {
return requireModule.resolve(name, relativeTo);
}
catch (e) {
return null;
}
};
//# sourceMappingURL=createRequire.js.map