UNPKG

solid-code

Version:

JavaScript code quality front-end

29 lines (24 loc) 819 B
var path = require('path'); var fs = require('fs'); var getCaller = require('./caller').caller; global.define = function(reqs, code) { console.assert(Array.isArray(reqs), 'reqs should be an array'); console.assert(typeof code === 'function', 'code should be a function'); var caller = getCaller(); // console.log('caller', caller); var callerFolder = path.dirname(caller); // console.log('caller folder', callerFolder); var loaded = []; reqs.forEach(function (req) { if (!/\.js$/.test(req)) { req += '.js'; } var reqPath = path.join(callerFolder, req); var reqSrc = fs.readFileSync(reqPath, 'utf8'); var reqResult = eval(reqSrc); loaded.push(reqResult); }); var result = code.apply(null, loaded); return result; }; console.log('global define has been loaded');