diff --git a/README.md b/README.md index cde5dd1d8..3d0acb0e3 100644 --- a/README.md +++ b/README.md @@ -2,7 +2,7 @@ http://nodered.org -[![Build Status](https://travis-ci.org/node-red/node-red.svg)](https://travis-ci.org/node-red/node-red) +[![Build Status](https://travis-ci.org/node-red/node-red.svg?branch=master)](https://travis-ci.org/node-red/node-red) [![Coverage Status](https://coveralls.io/repos/node-red/node-red/badge.svg?branch=master)](https://coveralls.io/r/node-red/node-red?branch=master) A visual tool for wiring the Internet of Things. diff --git a/packages/node_modules/@node-red/editor-client/src/js/ui/palette.js b/packages/node_modules/@node-red/editor-client/src/js/ui/palette.js index f4e6e8db0..6634a88ec 100644 --- a/packages/node_modules/@node-red/editor-client/src/js/ui/palette.js +++ b/packages/node_modules/@node-red/editor-client/src/js/ui/palette.js @@ -320,9 +320,9 @@ RED.palette = (function() { } setLabel(nt,$(d),label,nodeInfo); - var categoryNode = $("#palette-container-"+category); + var categoryNode = $("#palette-container-"+rootCategory); if (categoryNode.find(".palette_node").length === 1) { - categoryContainers[category].open(); + categoryContainers[rootCategory].open(); } } diff --git a/packages/node_modules/@node-red/editor-client/src/js/ui/projects/projectSettings.js b/packages/node_modules/@node-red/editor-client/src/js/ui/projects/projectSettings.js index 1f1b2f987..9e0333c5a 100644 --- a/packages/node_modules/@node-red/editor-client/src/js/ui/projects/projectSettings.js +++ b/packages/node_modules/@node-red/editor-client/src/js/ui/projects/projectSettings.js @@ -461,7 +461,11 @@ RED.projects.settings = (function() { setTimeout(function() { depsList.editableList('removeItem',entry); refreshModuleInUseCounts(); - entry.count = modulesInUse[entry.id].count; + if (modulesInUse.hasOwnProperty(entry.id)) { + entry.count = modulesInUse[entry.id].count; + } else { + entry.count = 0; + } depsList.editableList('addItem',entry); },500); } diff --git a/packages/node_modules/@node-red/runtime/lib/storage/localfilesystem/projects/Project.js b/packages/node_modules/@node-red/runtime/lib/storage/localfilesystem/projects/Project.js index 989774d6c..f580c178e 100644 --- a/packages/node_modules/@node-red/runtime/lib/storage/localfilesystem/projects/Project.js +++ b/packages/node_modules/@node-red/runtime/lib/storage/localfilesystem/projects/Project.js @@ -358,7 +358,15 @@ Project.prototype.update = function (user, data) { promises.push(util.writeFile(this.paths['README.md'], this.description)); } if (savePackage) { - promises.push(util.writeFile(this.paths['package.json'], JSON.stringify(this.package,"",4))); + promises.push(fs.readFile(project.paths['package.json'],"utf8").then(content => { + var currentPackage = {}; + try { + currentPackage = util.parseJSON(content); + } catch(err) { + } + this.package = Object.assign(currentPackage,this.package); + return util.writeFile(this.paths['package.json'], JSON.stringify(this.package,"",4)); + })); } return when.settle(promises).then(function(res) { return { diff --git a/test/unit/@node-red/runtime/lib/api/library_spec.js b/test/unit/@node-red/runtime/lib/api/library_spec.js index 659cd3bdd..8f99580b9 100644 --- a/test/unit/@node-red/runtime/lib/api/library_spec.js +++ b/test/unit/@node-red/runtime/lib/api/library_spec.js @@ -412,7 +412,7 @@ describe("api/editor/library", function() { throw err; } res.body.should.have.property('sendFile', - 'node-module:example-one'); + fspath.resolve('node-module') + ':example-one'); done(); }); }); @@ -430,7 +430,8 @@ describe("api/editor/library", function() { throw err; } res.body.should.have.property('sendFile', - '@org_scope/node_package:example-one'); + fspath.resolve('@org_scope/node_package') + + ':example-one'); done(); }); });