UNPKG

connect-platform

Version:

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

50 lines (41 loc) 1.29 kB
const path = require('path'); const load = require('./load-node'); const external = require('./load-external'); const core = require('../core'); const loaders = { native: require('./native'), json: require('./json'), service: require('./service'), module: function(path, searchPaths, config) { const callback = (mod, modPath, callback) => { if (mod && mod.platform) { if (mod.platform.config) { loadNodesFromConf(mod.platform.config, [modPath], config); if (mod.platform.config.aliases) { for (let [alias, path] of Object.entries(mod.platform.config.aliases)) { core.registry.alias(alias, path); } } } } if (callback) callback(); }; if (typeof path != 'string') external(path, callback); else load(path, searchPaths, callback); }, }; const loadNodesFromConf = function(config, searchPaths, globalConf) { if (config.nodes) { for (let [type, list] of Object.entries(config.nodes)) { if (type in loaders) { let loader = loaders[type]; for (let node of list) loader(node, searchPaths, globalConf); } } } } module.exports = loaders.module; module.exports.loadNodesFromConf = loadNodesFromConf;