{"action":"created","issue":{"url":"https://api.github.com/repos/erming/shout/issues/479","labels_url":"https://api.github.com/repos/erming/shout/issues/479/labels{/name}","comments_url":"https://api.github.com/repos/erming/shout/issues/479/comments","events_url":"https://api.github.com/repos/erming/shout/issues/479/events","html_url":"https://github.com/erming/shout/issues/479","id":108470493,"number":479,"title":"Managing client-side libraries","user":{"login":"astorije","id":113730,"avatar_url":"https://avatars.githubusercontent.com/u/113730?v=3","gravatar_id":"","url":"https://api.github.com/users/astorije","html_url":"https://github.com/astorije","followers_url":"https://api.github.com/users/astorije/followers","following_url":"https://api.github.com/users/astorije/following{/other_user}","gists_url":"https://api.github.com/users/astorije/gists{/gist_id}","starred_url":"https://api.github.com/users/astorije/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/astorije/subscriptions","organizations_url":"https://api.github.com/users/astorije/orgs","repos_url":"https://api.github.com/users/astorije/repos","events_url":"https://api.github.com/users/astorije/events{/privacy}","received_events_url":"https://api.github.com/users/astorije/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/erming/shout/labels/enhancement","name":"enhancement","color":"84b6eb"},{"url":"https://api.github.com/repos/erming/shout/labels/help%20wanted","name":"help wanted","color":"F54D70"}],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":1,"created_at":"2015-09-26T14:28:12Z","updated_at":"2015-09-26T15:21:33Z","closed_at":null,"body":"Server-side libraries are greatly managed/manageable by npm. Among other things, we can easily track their evolution and follow security announcements (thanks to [David](https://david-dm.org) for example), we know they come from upstream and are not tricked to our needs, ...\r\n\r\nNot so much for [client-side libraries](https://github.com/erming/shout/tree/956807b32526be246255aea814493a8b671fd8b9/client/js/libs)!\r\nFurthermore, PRs such as https://github.com/erming/shout/pull/311/files (582 new lines!) and https://github.com/erming/shout/pull/337/files (841 new lines!!) ship outrageous amounts of code in our very hands.\r\nI am not familiar with them, but I know there are many package management for these, and we should be investigating a bit on that. Any experienced users there?"},"comment":{"url":"https://api.github.com/repos/erming/shout/issues/comments/143462561","html_url":"https://github.com/erming/shout/issues/479#issuecomment-143462561","issue_url":"https://api.github.com/repos/erming/shout/issues/479","id":143462561,"user":{"login":"floogulinc","id":1300395,"avatar_url":"https://avatars.githubusercontent.com/u/1300395?v=3","gravatar_id":"","url":"https://api.github.com/users/floogulinc","html_url":"https://github.com/floogulinc","followers_url":"https://api.github.com/users/floogulinc/followers","following_url":"https://api.github.com/users/floogulinc/following{/other_user}","gists_url":"https://api.github.com/users/floogulinc/gists{/gist_id}","starred_url":"https://api.github.com/users/floogulinc/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/floogulinc/subscriptions","organizations_url":"https://api.github.com/users/floogulinc/orgs","repos_url":"https://api.github.com/users/floogulinc/repos","events_url":"https://api.github.com/users/floogulinc/events{/privacy}","received_events_url":"https://api.github.com/users/floogulinc/received_events","type":"User","site_admin":false},"created_at":"2015-09-26T15:21:33Z","updated_at":"2015-09-26T15:21:33Z","body":"There are a many front-end package managers out there, one of the most popular is [Bower](http://bower.io/). There is also [Jam](http://jamjs.org/), which looks like it might be good for this project because it has a command to compile all the libs together (something we are doing with grunt already). There is also [Component](https://github.com/componentjs/component). Additionally, npm can be used for out client-side libraries, which is convenient because we already use it for the server."}}