Create a package.json file in userDir if one doesn't exist

This commit is contained in:
Nick O'Leary
2017-01-27 22:35:17 +00:00
parent 829087550d
commit 85b2a03a42
3 changed files with 17 additions and 3 deletions

View File

@@ -99,7 +99,7 @@ function installModule(module,version) {
}
var installDir = settings.userDir || process.env.NODE_RED_HOME || ".";
var child = child_process.execFile(npmCommand,['install','--production',installName],
var child = child_process.execFile(npmCommand,['install','--save','--save-exact','--production',installName],
{
cwd: installDir
},
@@ -186,7 +186,7 @@ function uninstallModule(module) {
var list = registry.removeModule(module);
log.info(log._("server.install.uninstalling",{name:module}));
var child = child_process.execFile(npmCommand,['remove',module],
var child = child_process.execFile(npmCommand,['remove','--save',module],
{
cwd: installDir
},

View File

@@ -230,8 +230,20 @@ var localfilesystem = {
globalSettingsFile = fspath.join(settings.userDir,".config.json");
var packageFile = fspath.join(settings.userDir,"package.json");
if (!settings.readOnly) {
promises.push(promiseDir(libFlowsDir));
try {
fs.statSync(packageFile);
} catch(err) {
var defaultPackage = {
"name": "node-red-project",
"description": "A Node-RED Project",
"version": "0.0.1"
};
promises.push(writeFile(packageFile,JSON.stringify(defaultPackage,"",4)));
}
}
return when.all(promises);