UNPKG

connect-platform

Version:

A platform to build backened code mostly in a visual manner.

35 lines (29 loc) 1.02 kB
const path = require('path'); const ct = require('../util/color-text'); module.exports = (originalPath, searchPaths, callback) => { let searchedPaths = []; if (searchPaths.indexOf('') == -1) searchPaths = searchPaths.concat(['']); if (searchPaths) { for (let searchPath of searchPaths) { let _path = path.join(searchPath, originalPath); try { let loaded = require(_path); if (callback) callback(loaded, _path); return loaded; } catch(error) { if (error.code == 'MODULE_NOT_FOUND' && `${error}`.indexOf(_path) != -1) searchedPaths.push(_path); else { console.log(ct(ct.red + ct.bright, `ERROR @ ${_path}`)); console.log(error); return; } } } } console.log(ct(ct.yellow + ct.bright, 'WARNING:: ') + `couldn't load node ${ct(ct.cyan, originalPath)}, searched in`+ `${ct(ct.bg.cyan + ct.cyan + ct.bright, '\n\t' + searchedPaths.join('\n\t'))}\n` ); }