UNPKG

sails-rigger

Version:

A reliable callback handler for loading an external Sails.js app via require()

56 lines (47 loc) 976 B
var path = require('path'); var SailsApp = require('sails').Sails; var _ = require('lodash'); var baseConfig = { hooks: { }, models: { migrate: 'safe' } }; var extendConfig = { hooks: { /* moduleloader: true, logger: true, orm: true, blueprints: true, responses: true, controllers: true, policies: true, services: true, userconfig: true, userhooks: true, */ grunt: false }, models: { migrate: 'safe' }, cache: { }, //http: { } }; function extend (sails, app, _config, cb) { if (_.isFunction(_config)) cb = _config; var config = _.merge(_.cloneDeep(extendConfig), _config, { appPath: path.dirname(require.resolve(app)) }); return sails.load(config, function (error, _sails) { if (error) throw new Error(error); cb(error, sails); }); } function load (app, config, cb) { return extend(new SailsApp(), app, config, cb); } exports.load = load; exports.extend = extend;