mirror of
https://github.com/node-red/node-red.git
synced 2023-10-10 13:36:53 +02:00
Copy settings file to userDir on start-up if it makes sense
It will only copy the file if: - a custom file hasn't been specified (-s file) - there isn't an existing settings.js file in userDir - the default settings file (in install dir) hasn't been modified (mtime < ctime)
This commit is contained in:
parent
8d73f927db
commit
ee37464741
17
red.js
17
red.js
@ -21,7 +21,7 @@ var express = require("express");
|
|||||||
var crypto = require("crypto");
|
var crypto = require("crypto");
|
||||||
var nopt = require("nopt");
|
var nopt = require("nopt");
|
||||||
var path = require("path");
|
var path = require("path");
|
||||||
var fs = require("fs");
|
var fs = require("fs-extra");
|
||||||
var RED = require("./red/red.js");
|
var RED = require("./red/red.js");
|
||||||
var log = require("./red/log");
|
var log = require("./red/log");
|
||||||
|
|
||||||
@ -76,13 +76,22 @@ if (parsedArgs.settings) {
|
|||||||
// NODE_RED_HOME contains user data - use its settings.js
|
// NODE_RED_HOME contains user data - use its settings.js
|
||||||
settingsFile = path.join(process.env.NODE_RED_HOME,"settings.js");
|
settingsFile = path.join(process.env.NODE_RED_HOME,"settings.js");
|
||||||
} else {
|
} else {
|
||||||
var userSettingsFile = path.join(process.env.HOME || process.env.HOMEPATH || process.env.USERPROFILE,".node-red","settings.js");
|
var userDir = path.join(process.env.HOME || process.env.HOMEPATH || process.env.USERPROFILE,".node-red");
|
||||||
|
var userSettingsFile = path.join(userDir,"settings.js");
|
||||||
if (fs.existsSync(userSettingsFile)) {
|
if (fs.existsSync(userSettingsFile)) {
|
||||||
// $HOME/.node-red/settings.js exists
|
// $HOME/.node-red/settings.js exists
|
||||||
settingsFile = userSettingsFile;
|
settingsFile = userSettingsFile;
|
||||||
} else {
|
} else {
|
||||||
// Use default settings.js
|
var defaultSettings = path.join(__dirname,"settings.js");
|
||||||
settingsFile = __dirname+"/settings.js";
|
var settingsStat = fs.statSync(defaultSettings);
|
||||||
|
if (settingsStat.mtime.getTime() < settingsStat.ctime.getTime()) {
|
||||||
|
// Default settings file has not been modified - safe to copy
|
||||||
|
fs.copySync(defaultSettings,userSettingsFile);
|
||||||
|
settingsFile = userSettingsFile;
|
||||||
|
} else {
|
||||||
|
// Use default settings.js as it has been modified
|
||||||
|
settingsFile = defaultSettings;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user