adamayres / gulp-extend

A gulp plugin to extend (merge) json contents
https://npmjs.org/package/gulp-extend
MIT License
19 stars 6 forks source link

having trouble merging #5

Open robertdunaway opened 9 years ago

robertdunaway commented 9 years ago

I'm trying to merge menu items from 3 different applications. I'm switching to gulp from grunt where I was able to do this with the grunt-merge-json plugin.

This plugin seems the most promising on the gulp side but I'm having trouble getting it to work.

I have 3 json files and I would like to merge the json. I'm hoping duplicates can be handled but items under duplicate items can be saved in the merge.

IE: Here is what I mean. menu.json has cat1, cat2, cat3. Cat1 has one menu item under it. menu.json2 has cat1, cat2, cat3. Cat1 has one menu item. Different from json1's item. menu.json3 has cat1, cat2, cat3. Cat1 has one menu item. Different from json1 or 2's item.

The expected result is Cat1 having 3 items and Cat2 and Cat3 being empty.

I hope that makes sense.

Here is where the project is I'm trying to implement this. https://github.com/MashupJS/MashupJS/tree/master/src/Mashup.UI.Core

Any help will be greatly appreciated. Sorry if I'm simply using your plugin incorrectly.

Here is the result I get from the grunt plugin and it's what I expect. { 0: { name: "Applications", id: "catApps", isOpen: "true", icon: " fa-power-off ", session: "coreSession", role: "MashupUser", groups: [ { name: "app1", id: "menuItemApp1", desc: "Application 1, page 1.", url: "/app1/page1", icon: " fa-bar-chart ", session: "coreSession", role: "MashupUser" }, { name: "app2", id: "menuItemApp2", desc: "Application 2, page 3.", url: "/app2/page3", icon: " fa-laptop ", session: "coreSession", role: "MashupUser" }, { name: "mashup", id: "menuItemMashup", desc: "Starter pages.", url: "/", icon: " fa-home ", session: "coreSession", role: "MashupUser" } ] }, 1: { name: "Utilities", id: "catUtilities", isOpen: "false", icon: " fa-cogs ", session: "coreSession", role: "MashupUser", groups: [ ] }, 2: { name: "Administrative", id: "catAdmin", isOpen: "false", icon: " fa-users", session: "coreSession", role: "MashupUser", groups: [ ] }, 3: { name: "Examples", id: "catExamples", isOpen: "false", icon: " fa-file-code-o ", session: "coreSession", role: "MashupUser", groups: [ ] } }

Here is what I get from gulp-extend. It almost looks like it's taking the 3rd json file and only using it.

[ { name: "Applications", id: "catApps", isOpen: "true", icon: " fa-power-off ", session: "coreSession", role: "MashupUser", groups: [ { name: "app1", id: "menuItemApp1", desc: "Application 1, page 1.", url: "/app1/page1", icon: " fa-bar-chart ", session: "coreSession", role: "MashupUser" } ] }, { name: "Utilities", id: "catUtilities", isOpen: "false", icon: " fa-cogs ", session: "coreSession", role: "MashupUser", groups: [ ] }, { name: "Administrative", id: "catAdmin", isOpen: "false", icon: " fa-users", session: "coreSession", role: "MashupUser", groups: [ ] }, { name: "Examples", id: "catExamples", isOpen: "false", icon: " fa-file-code-o ", session: "coreSession", role: "MashupUser", groups: [ ] } ]