kopia lustrzana https://github.com/dceejay/electron-node-red
bump to 0.19.3, allow passing in flow name
rodzic
3ae47f9bbc
commit
369b8f565f
File diff suppressed because one or more lines are too long
29
main.js
29
main.js
|
@ -43,22 +43,45 @@ red_app.use("/",express.static("web"));
|
||||||
// Create a server
|
// Create a server
|
||||||
var server = http.createServer(red_app);
|
var server = http.createServer(red_app);
|
||||||
|
|
||||||
|
// Setup user directory and flowfile
|
||||||
var userdir = __dirname;
|
var userdir = __dirname;
|
||||||
if (editable) {
|
if (editable) {
|
||||||
|
// if running as raw electron use the current directory (mainly for dev)
|
||||||
if (process.argv[1] && (process.argv[1] === "main.js")) {
|
if (process.argv[1] && (process.argv[1] === "main.js")) {
|
||||||
userdir = __dirname;
|
userdir = __dirname;
|
||||||
|
if ((process.argv.length > 2) && (process.argv[process.argv.length-1].indexOf(".json") > -1)) {
|
||||||
|
if (path.isAbsolute(process.argv[process.argv.length-1])) {
|
||||||
|
flowfile = process.argv[process.argv.length-1];
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
flowfile = path.join(process.cwd(),process.argv[process.argv.length-1]);
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
else { // We set the user directory to be in the users home directory...
|
else { // We set the user directory to be in the users home directory...
|
||||||
userdir = os.homedir() + '/.node-red';
|
userdir = os.homedir() + '/.node-red';
|
||||||
if (!fs.existsSync(userdir)) {
|
if (!fs.existsSync(userdir)) {
|
||||||
fs.mkdirSync(userdir);
|
fs.mkdirSync(userdir);
|
||||||
}
|
}
|
||||||
|
if ((process.argv.length > 1) && (process.argv[process.argv.length-1].indexOf(".json") > -1)) {
|
||||||
|
if (path.isAbsolute(process.argv[process.argv.length-1])) {
|
||||||
|
flowfile = process.argv[process.argv.length-1];
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
flowfile = path.join(process.cwd(),process.argv[process.argv.length-1]);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else {
|
||||||
if (!fs.existsSync(userdir+"/"+flowfile)) {
|
if (!fs.existsSync(userdir+"/"+flowfile)) {
|
||||||
fs.writeFileSync(userdir+"/"+flowfile, fs.readFileSync(__dirname+"/"+flowfile));
|
fs.writeFileSync(userdir+"/"+flowfile, fs.readFileSync(__dirname+"/"+flowfile));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
console.log("UserDir :",userdir);
|
}
|
||||||
|
// console.log("CWD",process.cwd());
|
||||||
|
// console.log("DIR",__dirname);
|
||||||
|
// console.log("UserDir :",userdir);
|
||||||
|
// console.log("FlowFile :",flowfile);
|
||||||
// console.log("PORT",listenPort);
|
// console.log("PORT",listenPort);
|
||||||
|
|
||||||
// Keep a global reference of the window objects, if you don't, the window will
|
// Keep a global reference of the window objects, if you don't, the window will
|
||||||
|
@ -66,7 +89,7 @@ console.log("UserDir :",userdir);
|
||||||
let mainWindow;
|
let mainWindow;
|
||||||
let conWindow;
|
let conWindow;
|
||||||
let logBuffer = [];
|
let logBuffer = [];
|
||||||
let logLength = 250;
|
let logLength = 250; // No. of lines of console log to keep.
|
||||||
|
|
||||||
ipc.on('clearLogBuffer', function(event, arg) { logBuffer = []; });
|
ipc.on('clearLogBuffer', function(event, arg) { logBuffer = []; });
|
||||||
|
|
||||||
|
@ -200,7 +223,7 @@ if (!editable) {
|
||||||
|
|
||||||
if (!allowLoadSave) { template[0].submenu.splice(0,2); }
|
if (!allowLoadSave) { template[0].submenu.splice(0,2); }
|
||||||
|
|
||||||
let fileName = ""
|
let fileName = "";
|
||||||
function saveFlow() {
|
function saveFlow() {
|
||||||
dialog.showSaveDialog({
|
dialog.showSaveDialog({
|
||||||
filters:[{ name:'JSON', extensions:['json'] }],
|
filters:[{ name:'JSON', extensions:['json'] }],
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
{
|
{
|
||||||
"name": "electron_node_red",
|
"name": "electron_node_red",
|
||||||
"version": "0.19.2",
|
"version": "0.19.3",
|
||||||
"lockfileVersion": 1,
|
"lockfileVersion": 1,
|
||||||
"requires": true,
|
"requires": true,
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
|
@ -34,6 +34,14 @@
|
||||||
"resolved": "https://registry.npmjs.org/after/-/after-0.8.2.tgz",
|
"resolved": "https://registry.npmjs.org/after/-/after-0.8.2.tgz",
|
||||||
"integrity": "sha1-/ts5T58OAqqXaOcCvaI7UF+ufh8="
|
"integrity": "sha1-/ts5T58OAqqXaOcCvaI7UF+ufh8="
|
||||||
},
|
},
|
||||||
|
"agent-base": {
|
||||||
|
"version": "4.2.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/agent-base/-/agent-base-4.2.1.tgz",
|
||||||
|
"integrity": "sha512-JVwXMr9nHYTUXsBFKUqhJwvlcYU/blreOEUkhNR2eXZIvwd+c+o5V4MgDPKWnMS/56awN3TRzIP+KoPn+roQtg==",
|
||||||
|
"requires": {
|
||||||
|
"es6-promisify": "^5.0.0"
|
||||||
|
}
|
||||||
|
},
|
||||||
"ajv": {
|
"ajv": {
|
||||||
"version": "5.5.2",
|
"version": "5.5.2",
|
||||||
"resolved": "https://registry.npmjs.org/ajv/-/ajv-5.5.2.tgz",
|
"resolved": "https://registry.npmjs.org/ajv/-/ajv-5.5.2.tgz",
|
||||||
|
@ -1146,9 +1154,9 @@
|
||||||
"integrity": "sha1-naHpgOO9RPxck79as9ozeNheRms="
|
"integrity": "sha1-naHpgOO9RPxck79as9ozeNheRms="
|
||||||
},
|
},
|
||||||
"cron": {
|
"cron": {
|
||||||
"version": "1.3.0",
|
"version": "1.4.1",
|
||||||
"resolved": "https://registry.npmjs.org/cron/-/cron-1.3.0.tgz",
|
"resolved": "https://registry.npmjs.org/cron/-/cron-1.4.1.tgz",
|
||||||
"integrity": "sha512-K/SF7JlgMmNjcThWxkKvsHhey2EDB4CeOEWJ9aXWj3fbQJppsvTPIeyLdHfNq5IbbsMUUjRW1nr5dSO95f2E4w==",
|
"integrity": "sha512-HlglwQUNh6bhgfoDR6aEzyHN2T4bc0XhxJxkNPp+Ry7lK7Noby94pHcngYf634+MtxplwZm8okFgNe+R9PGDjg==",
|
||||||
"requires": {
|
"requires": {
|
||||||
"moment-timezone": "^0.5.x"
|
"moment-timezone": "^0.5.x"
|
||||||
}
|
}
|
||||||
|
@ -1692,8 +1700,15 @@
|
||||||
"es6-promise": {
|
"es6-promise": {
|
||||||
"version": "4.2.4",
|
"version": "4.2.4",
|
||||||
"resolved": "https://registry.npmjs.org/es6-promise/-/es6-promise-4.2.4.tgz",
|
"resolved": "https://registry.npmjs.org/es6-promise/-/es6-promise-4.2.4.tgz",
|
||||||
"integrity": "sha512-/NdNZVJg+uZgtm9eS3O6lrOLYmQag2DjdEXuPaHlZ6RuVqgqaVZfgYCepEIKsLqwdQArOPtC3XzRLqGGfT8KQQ==",
|
"integrity": "sha512-/NdNZVJg+uZgtm9eS3O6lrOLYmQag2DjdEXuPaHlZ6RuVqgqaVZfgYCepEIKsLqwdQArOPtC3XzRLqGGfT8KQQ=="
|
||||||
"dev": true
|
},
|
||||||
|
"es6-promisify": {
|
||||||
|
"version": "5.0.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/es6-promisify/-/es6-promisify-5.0.0.tgz",
|
||||||
|
"integrity": "sha1-UQnWLz5W6pZ8S2NQWu8IKRyKUgM=",
|
||||||
|
"requires": {
|
||||||
|
"es6-promise": "^4.0.3"
|
||||||
|
}
|
||||||
},
|
},
|
||||||
"es6-set": {
|
"es6-set": {
|
||||||
"version": "0.1.5",
|
"version": "0.1.5",
|
||||||
|
@ -2191,6 +2206,25 @@
|
||||||
"sshpk": "^1.7.0"
|
"sshpk": "^1.7.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"https-proxy-agent": {
|
||||||
|
"version": "2.2.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-2.2.1.tgz",
|
||||||
|
"integrity": "sha512-HPCTS1LW51bcyMYbxUIOO4HEOlQ1/1qRaFWcyxvwaqUS9TY88aoEuHUY33kuAh1YhVVaDQhLZsnPd+XNARWZlQ==",
|
||||||
|
"requires": {
|
||||||
|
"agent-base": "^4.1.0",
|
||||||
|
"debug": "^3.1.0"
|
||||||
|
},
|
||||||
|
"dependencies": {
|
||||||
|
"debug": {
|
||||||
|
"version": "3.1.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz",
|
||||||
|
"integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==",
|
||||||
|
"requires": {
|
||||||
|
"ms": "2.0.0"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
"i18next": {
|
"i18next": {
|
||||||
"version": "11.6.0",
|
"version": "11.6.0",
|
||||||
"resolved": "https://registry.npmjs.org/i18next/-/i18next-11.6.0.tgz",
|
"resolved": "https://registry.npmjs.org/i18next/-/i18next-11.6.0.tgz",
|
||||||
|
@ -2837,9 +2871,9 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"mqtt": {
|
"mqtt": {
|
||||||
"version": "2.18.5",
|
"version": "2.18.8",
|
||||||
"resolved": "https://registry.npmjs.org/mqtt/-/mqtt-2.18.5.tgz",
|
"resolved": "https://registry.npmjs.org/mqtt/-/mqtt-2.18.8.tgz",
|
||||||
"integrity": "sha512-VkQeH81VIS0nOL3Ilf58ypPtM3I6VzVsE5as+k/AgrnX7xjcrCSfgSJdYGa6rW3px4DLAnh2gCD3URUZ23riKQ==",
|
"integrity": "sha512-3h6oHlPY/yWwtC2J3geraYRtVVoRM6wdI+uchF4nvSSafXPZnaKqF8xnX+S22SU/FcgEAgockVIlOaAX3fkMpA==",
|
||||||
"requires": {
|
"requires": {
|
||||||
"commist": "^1.0.0",
|
"commist": "^1.0.0",
|
||||||
"concat-stream": "^1.6.2",
|
"concat-stream": "^1.6.2",
|
||||||
|
@ -2918,9 +2952,9 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"mustache": {
|
"mustache": {
|
||||||
"version": "2.3.1",
|
"version": "2.3.2",
|
||||||
"resolved": "https://registry.npmjs.org/mustache/-/mustache-2.3.1.tgz",
|
"resolved": "https://registry.npmjs.org/mustache/-/mustache-2.3.2.tgz",
|
||||||
"integrity": "sha512-20dW38oeiTzauvbxs1YxQbr3gbu/Lfo15J4V0EqbspYnn/GwSeTSDNtESy2nak28BW0k8qp7dnrFhrsejLPUtw=="
|
"integrity": "sha512-KpMNwdQsYz3O/SBS1qJ/o3sqUJ5wSb8gb0pul8CO0S56b9Y2ALm8zCfsjPXsqGFfoNBkDwZuZIAjhsZI03gYVQ=="
|
||||||
},
|
},
|
||||||
"nan": {
|
"nan": {
|
||||||
"version": "2.10.0",
|
"version": "2.10.0",
|
||||||
|
@ -2995,9 +3029,9 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node-red": {
|
"node-red": {
|
||||||
"version": "0.19.2",
|
"version": "0.19.3",
|
||||||
"resolved": "https://registry.npmjs.org/node-red/-/node-red-0.19.2.tgz",
|
"resolved": "https://registry.npmjs.org/node-red/-/node-red-0.19.3.tgz",
|
||||||
"integrity": "sha512-788MCJSRjfYhsGsuRDlWL3Q1E2LheTPjnXzvIdX5/94buaczJifGdoqi2lNxQuCjHXPUvWVTeZCF0ot0igdz7Q==",
|
"integrity": "sha512-qxSSVhzcOyCHN93k3BsRbFQ66cYsM15hkUkzaquh+EeiWGz3egRJR7PEZY0kgb/YEO3Yf1OAJyvPVAlHd2PPfA==",
|
||||||
"requires": {
|
"requires": {
|
||||||
"ajv": "6.5.3",
|
"ajv": "6.5.3",
|
||||||
"basic-auth": "2.0.0",
|
"basic-auth": "2.0.0",
|
||||||
|
@ -3009,13 +3043,14 @@
|
||||||
"cookie": "0.3.1",
|
"cookie": "0.3.1",
|
||||||
"cookie-parser": "1.4.3",
|
"cookie-parser": "1.4.3",
|
||||||
"cors": "2.8.4",
|
"cors": "2.8.4",
|
||||||
"cron": "1.3.0",
|
"cron": "1.4.1",
|
||||||
"denque": "1.3.0",
|
"denque": "1.3.0",
|
||||||
"express": "4.16.3",
|
"express": "4.16.3",
|
||||||
"express-session": "1.15.6",
|
"express-session": "1.15.6",
|
||||||
"fs-extra": "5.0.0",
|
"fs-extra": "5.0.0",
|
||||||
"fs.notify": "0.0.4",
|
"fs.notify": "0.0.4",
|
||||||
"hash-sum": "1.0.2",
|
"hash-sum": "1.0.2",
|
||||||
|
"https-proxy-agent": "2.2.1",
|
||||||
"i18next": "11.6.0",
|
"i18next": "11.6.0",
|
||||||
"is-utf8": "0.2.1",
|
"is-utf8": "0.2.1",
|
||||||
"js-yaml": "3.12.0",
|
"js-yaml": "3.12.0",
|
||||||
|
@ -3023,9 +3058,9 @@
|
||||||
"jsonata": "1.5.4",
|
"jsonata": "1.5.4",
|
||||||
"media-typer": "0.3.0",
|
"media-typer": "0.3.0",
|
||||||
"memorystore": "1.6.0",
|
"memorystore": "1.6.0",
|
||||||
"mqtt": "2.18.5",
|
"mqtt": "2.18.8",
|
||||||
"multer": "1.3.1",
|
"multer": "1.3.1",
|
||||||
"mustache": "2.3.1",
|
"mustache": "2.3.2",
|
||||||
"node-red-node-email": "0.1.*",
|
"node-red-node-email": "0.1.*",
|
||||||
"node-red-node-feedparser": "^0.1.12",
|
"node-red-node-feedparser": "^0.1.12",
|
||||||
"node-red-node-rbe": "0.2.*",
|
"node-red-node-rbe": "0.2.*",
|
||||||
|
@ -3040,7 +3075,7 @@
|
||||||
"request": "2.88.0",
|
"request": "2.88.0",
|
||||||
"semver": "5.5.1",
|
"semver": "5.5.1",
|
||||||
"sentiment": "2.1.0",
|
"sentiment": "2.1.0",
|
||||||
"uglify-js": "3.4.8",
|
"uglify-js": "3.4.9",
|
||||||
"when": "3.7.8",
|
"when": "3.7.8",
|
||||||
"ws": "1.1.5",
|
"ws": "1.1.5",
|
||||||
"xml2js": "0.4.19"
|
"xml2js": "0.4.19"
|
||||||
|
@ -3153,16 +3188,16 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"mime-db": {
|
"mime-db": {
|
||||||
"version": "1.35.0",
|
"version": "1.36.0",
|
||||||
"resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.35.0.tgz",
|
"resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.36.0.tgz",
|
||||||
"integrity": "sha512-JWT/IcCTsB0Io3AhWUMjRqucrHSPsSf2xKLaRldJVULioggvkJvggZ3VXNNSRkCddE6D+BUI4HEIZIA2OjwIvg=="
|
"integrity": "sha512-L+xvyD9MkoYMXb1jAmzI/lWYAxAMCPvIBSWur0PZ5nOf5euahRLVqH//FKW9mWp2lkqUgYiXPgkzfMUFi4zVDw=="
|
||||||
},
|
},
|
||||||
"mime-types": {
|
"mime-types": {
|
||||||
"version": "2.1.19",
|
"version": "2.1.20",
|
||||||
"resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.19.tgz",
|
"resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.20.tgz",
|
||||||
"integrity": "sha512-P1tKYHVSZ6uFo26mtnve4HQFE3koh1UWVkp8YUC+ESBHe945xWSoXuHHiGarDqcEZ+whpCDnlNw5LON0kLo+sw==",
|
"integrity": "sha512-HrkrPaP9vGuWbLK1B1FfgAkbqNjIuy4eHlIYnFi7kamZyLLrGlo2mpcx0bBmNpKqBtYtAfGbodDddIgddSJC2A==",
|
||||||
"requires": {
|
"requires": {
|
||||||
"mime-db": "~1.35.0"
|
"mime-db": "~1.36.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"oauth-sign": {
|
"oauth-sign": {
|
||||||
|
@ -3255,9 +3290,9 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node-red-dashboard": {
|
"node-red-dashboard": {
|
||||||
"version": "2.9.7",
|
"version": "2.9.8",
|
||||||
"resolved": "https://registry.npmjs.org/node-red-dashboard/-/node-red-dashboard-2.9.7.tgz",
|
"resolved": "https://registry.npmjs.org/node-red-dashboard/-/node-red-dashboard-2.9.8.tgz",
|
||||||
"integrity": "sha512-/F/DSBrFWfPB+6o7ZkvKgs0+ikIli3W83gQKhUjvR9vS3cOZXoSEY44JWVsH6LRhUq5ckAJhd+xRhgp6+1uQcw==",
|
"integrity": "sha512-hKzl2xzXI8jEQPzldtYzOgnczYrqBOQMd0wfysLucvdO6Gm9lgbnNdX335j11oVeHkQClTvg1KDjI3a9IWlMow==",
|
||||||
"requires": {
|
"requires": {
|
||||||
"serve-static": "~1.13.2",
|
"serve-static": "~1.13.2",
|
||||||
"socket.io": "^2.1.1"
|
"socket.io": "^2.1.1"
|
||||||
|
@ -3340,16 +3375,16 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"mime-db": {
|
"mime-db": {
|
||||||
"version": "1.35.0",
|
"version": "1.36.0",
|
||||||
"resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.35.0.tgz",
|
"resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.36.0.tgz",
|
||||||
"integrity": "sha512-JWT/IcCTsB0Io3AhWUMjRqucrHSPsSf2xKLaRldJVULioggvkJvggZ3VXNNSRkCddE6D+BUI4HEIZIA2OjwIvg=="
|
"integrity": "sha512-L+xvyD9MkoYMXb1jAmzI/lWYAxAMCPvIBSWur0PZ5nOf5euahRLVqH//FKW9mWp2lkqUgYiXPgkzfMUFi4zVDw=="
|
||||||
},
|
},
|
||||||
"mime-types": {
|
"mime-types": {
|
||||||
"version": "2.1.19",
|
"version": "2.1.20",
|
||||||
"resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.19.tgz",
|
"resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.20.tgz",
|
||||||
"integrity": "sha512-P1tKYHVSZ6uFo26mtnve4HQFE3koh1UWVkp8YUC+ESBHe945xWSoXuHHiGarDqcEZ+whpCDnlNw5LON0kLo+sw==",
|
"integrity": "sha512-HrkrPaP9vGuWbLK1B1FfgAkbqNjIuy4eHlIYnFi7kamZyLLrGlo2mpcx0bBmNpKqBtYtAfGbodDddIgddSJC2A==",
|
||||||
"requires": {
|
"requires": {
|
||||||
"mime-db": "~1.35.0"
|
"mime-db": "~1.36.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"oauth-sign": {
|
"oauth-sign": {
|
||||||
|
@ -4658,9 +4693,9 @@
|
||||||
"integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c="
|
"integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c="
|
||||||
},
|
},
|
||||||
"uglify-js": {
|
"uglify-js": {
|
||||||
"version": "3.4.8",
|
"version": "3.4.9",
|
||||||
"resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.4.8.tgz",
|
"resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.4.9.tgz",
|
||||||
"integrity": "sha512-WatYTD84gP/867bELqI2F/2xC9PQBETn/L+7RGq9MQOA/7yFBNvY1UwXqvtILeE6n0ITwBXxp34M0/o70dzj6A==",
|
"integrity": "sha512-8CJsbKOtEbnJsTyv6LE6m6ZKniqMiFWmm9sRbopbkGs3gMPPfd3Fh8iIA4Ykv5MgaTbqHr4BaoGLJLZNhsrW1Q==",
|
||||||
"requires": {
|
"requires": {
|
||||||
"commander": "~2.17.1",
|
"commander": "~2.17.1",
|
||||||
"source-map": "~0.6.1"
|
"source-map": "~0.6.1"
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
{
|
{
|
||||||
"name": "electron_node_red",
|
"name": "electron_node_red",
|
||||||
"version": "0.19.2",
|
"version": "0.19.3",
|
||||||
"description": "Electron Node-RED application starter",
|
"description": "Electron Node-RED application starter",
|
||||||
"main": "main.js",
|
"main": "main.js",
|
||||||
"scripts": {
|
"scripts": {
|
||||||
|
@ -29,10 +29,10 @@
|
||||||
},
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"express": "^4.15.3",
|
"express": "^4.15.3",
|
||||||
"node-red": "~0.19.2",
|
"node-red": "~0.19.3",
|
||||||
"node-red-contrib-play-audio": "~2.3.2",
|
"node-red-contrib-play-audio": "~2.3.2",
|
||||||
"node-red-contrib-web-worldmap": "~1.3.6",
|
"node-red-contrib-web-worldmap": "~1.3.6",
|
||||||
"node-red-dashboard": "~2.9.7",
|
"node-red-dashboard": "~2.9.8",
|
||||||
"node-red-node-base64": "*",
|
"node-red-node-base64": "*",
|
||||||
"node-red-node-geofence": "*",
|
"node-red-node-geofence": "*",
|
||||||
"node-red-node-random": "*",
|
"node-red-node-random": "*",
|
||||||
|
|
Ładowanie…
Reference in New Issue