magnet-core
Version:
Magnet's core, a simple module loader.
35 lines • 1.14 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
function fromNode(modulePath, options) {
let mod;
try {
mod = require(modulePath).default;
}
catch (err) {
const prequire = require('parent-require');
if (err.code === 'MODULE_NOT_FOUND') {
// TODO: proper way to display error
// Some error return as MODULE_NOT_FOUND
mod = prequire(modulePath).default;
}
else {
throw err;
}
}
return options ? { module: mod, options } : mod;
}
exports.fromNode = fromNode;
function fromM(modulePath, options) {
return fromNode(`magnet-${modulePath}`, options);
}
exports.fromM = fromM;
function fromLocal(modulePath, options) {
let localModulesPath = 'local_modules';
if (process.env.NODE_ENV && process.env.NODE_ENV !== 'development') {
localModulesPath = 'dist/local_modules';
}
const mod = require(`${process.cwd()}/${localModulesPath}/${modulePath}`).default;
return options ? { module: mod, options } : mod;
}
exports.fromLocal = fromLocal;
//# sourceMappingURL=loader.js.map