Skip to content

Commit

Permalink
refactor(loaders): remove deprecated node domain calls (#737)
Browse files Browse the repository at this point in the history
Fixes #735

* refactor(loaders): remove deprecated node domain calls

* Add fix from #731
  • Loading branch information
andreialecu committed Jun 30, 2016
1 parent dd6b411 commit 0110128
Show file tree
Hide file tree
Showing 2 changed files with 24 additions and 38 deletions.
20 changes: 8 additions & 12 deletions lib/config-loader.js
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,6 @@ var fs = require('fs')
, ClientLib = require('./resources/client-lib')
, Dashboard = require('./resources/dashboard')
, debug = require('debug')('config-loader')
, domain = require('domain')
, async = require('async')
, Promise = require('bluebird');

Expand Down Expand Up @@ -109,23 +108,20 @@ function loadResources(getTypes, basepath, server, files, fn) {

if (!types[type]) return fn(new Error("Cannot find type \"" + type + "\" for resource " + resourceName));

var d = domain.create();
d.on('error', function (err) {
err.message += ' - when initializing: ' + o.config.type;
console.error(err.stack || err);
process.exit(1);
});
d.run(function() {
process.nextTick(function() {
resource = new types[type](resourceName, o);
loadResourceExtras(resource, fn);
});
process.nextTick(function() {
resource = new types[type](resourceName, o);
loadResourceExtras(resource, fn);
});
}]
}, function(err, results) {
if (err && err.code === 'ENOENT') {
err = new Error("Expected file: " + path.relative(basepath, err.path));
} else if (err) {
err.message += ' - when initializing: ' + resourceName;
console.error(err.stack || err);
process.exit(1);
}

fn(err, results && results.instance);
});
}, fn);
Expand Down
42 changes: 16 additions & 26 deletions lib/type-loader.js
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
var fs = require('fs')
, debug = require('debug')('type-loader')
, domain = require('domain');
, debug = require('debug')('type-loader');

module.exports = function loadTypes(basepath, fn) {
var types = {}
Expand All @@ -16,38 +15,29 @@ module.exports = function loadTypes(basepath, fn) {
, remaining = 0;

function loadCustomResources(file) {
var d = domain.create();
remaining++;
d.run(function () {
process.nextTick(function () {
remaining--;
try {
var customResource = require(require('path').resolve(path) + '/node_modules/' + file);
debug('Loading', file);
if(customResource && customResource.prototype && customResource.prototype.__resource__) {
debug('is a resource ', customResource && customResource.name);
types[customResource.name] = customResource;
}
} catch(e) {
process.nextTick(function () {
remaining--;
try {
var customResource = require(require('path').resolve(path) + '/node_modules/' + file);
debug('Loading', file);
if(customResource && customResource.prototype && customResource.prototype.__resource__) {
debug('is a resource ', customResource && customResource.name);
types[customResource.name] = customResource;
}
} catch(e) {
if (e && e.code !== 'MODULE_NOT_FOUND') {
console.error();
console.error("Error loading module node_modules/" + file);
console.error(e.stack || e);
if(process.send) process.send({moduleError: e || true});
process.exit(1);
}
}

if(remaining === 0) {
fn(defaults, types);
}
});
});

d.on('error', function (err) {
console.error('Error in module node_modules/' + file);
console.error(err.stack || err);
if(process.send) process.send({moduleError: err});
d.dispose();
process.exit(1);
if(remaining === 0) {
fn(defaults, types);
}
});
}

Expand Down

0 comments on commit 0110128

Please sign in to comment.