/*jslint vars: true, plusplus: true, devel: true, nomen: true, regexp: true, indent: 4, maxerr: 50 */
/*global define, $, brackets */
/**
* Node.js
* Creates a node connection for a manager
* @module Node
* @returns {jQuery | Deferred} Deferred execute function
*/
define(function (require, exports, module) {
'use strict';
var NodeConnection = brackets.getModule("utils/NodeConnection"),
ExtensionUtils = brackets.getModule("utils/ExtensionUtils"),
moduleDirectory = ExtensionUtils.getModulePath(module),
domainModulePath = moduleDirectory + "domain",
nodeConnection = new NodeConnection(),
nodeDeferred = new $.Deferred();
// Connects to Node
nodeConnection.connect(true).fail(function (err) {
console.log(err, "Failed to connect to Node.js, extension requires Node.js to be installed");
}).then(function () {
// Register the domain.
return nodeConnection.loadDomains([domainModulePath], true).fail(function (err) {
console.log(err, "Failed to register Node.js domain, extension requires Node.js to be installed");
});
}).then(function () {
nodeDeferred.resolve(nodeConnection.domains["brackets-cardboard"]);
}).done();
return nodeDeferred.promise();
});