diff --git a/red/runtime/storage/localfilesystem.js b/red/runtime/storage/localfilesystem.js index 24137b448..f4631c5e8 100644 --- a/red/runtime/storage/localfilesystem.js +++ b/red/runtime/storage/localfilesystem.js @@ -231,22 +231,24 @@ var localfilesystem = { globalSettingsFile = fspath.join(settings.userDir,".config.json"); var packageFile = fspath.join(settings.userDir,"package.json"); - + var packagePromise = when.resolve(); 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))); + packagePromise = function() { + try { + fs.statSync(packageFile); + } catch(err) { + var defaultPackage = { + "name": "node-red-project", + "description": "A Node-RED Project", + "version": "0.0.1" + }; + return writeFile(packageFile,JSON.stringify(defaultPackage,"",4)); + } + return true; } } - - return when.all(promises); + return when.all(promises).then(packagePromise); }, getFlows: function() {