Add dynamic node api

Closes #322
- nodes modules can be installed/removed dynamically at runtime
- nodes can be enabled/disabled
- onpaletteadd/onpaletteremove api added to node definitions
- initial implementation of nr-cli
This commit is contained in:
Nick O'Leary
2014-08-28 00:35:07 +01:00
parent 00cb8d5bce
commit da61fe12d0
24 changed files with 1540 additions and 381 deletions

View File

@@ -21,7 +21,7 @@ var comms = require("./comms");
var log = require("./log");
var util = require("./util");
var fs = require("fs");
var settings = null;
var settings = require("./settings");
var credentials = require("./nodes/credentials");
var path = require('path');
@@ -33,9 +33,8 @@ var events = require("events");
var RED = {
init: function(httpServer,userSettings) {
settings = userSettings;
settings.version = this.version();
userSettings.version = this.version();
settings.init(userSettings);
server.init(httpServer,settings);
library.init();
return server.app;
@@ -49,6 +48,7 @@ var RED = {
events: events,
log: log,
comms: comms,
settings:settings,
util: util,
version: function () {
var p = require(path.join(process.env.NODE_RED_HOME,"package.json"));
@@ -64,6 +64,5 @@ RED.__defineGetter__("app", function() { console.log("Deprecated use of RED.app
RED.__defineGetter__("httpAdmin", function() { return server.app });
RED.__defineGetter__("httpNode", function() { return server.nodeApp });
RED.__defineGetter__("server", function() { return server.server });
RED.__defineGetter__("settings", function() { return settings });
module.exports = RED;