{"action":"created","issue":{"url":"https://api.github.com/repos/bertramdev/asset-pipeline/issues/121","repository_url":"https://api.github.com/repos/bertramdev/asset-pipeline","labels_url":"https://api.github.com/repos/bertramdev/asset-pipeline/issues/121/labels{/name}","comments_url":"https://api.github.com/repos/bertramdev/asset-pipeline/issues/121/comments","events_url":"https://api.github.com/repos/bertramdev/asset-pipeline/issues/121/events","html_url":"https://github.com/bertramdev/asset-pipeline/issues/121","id":175339006,"number":121,"title":"External Dev Time Directory","user":{"login":"phidias51","id":1288775,"avatar_url":"https://avatars.githubusercontent.com/u/1288775?v=3","gravatar_id":"","url":"https://api.github.com/users/phidias51","html_url":"https://github.com/phidias51","followers_url":"https://api.github.com/users/phidias51/followers","following_url":"https://api.github.com/users/phidias51/following{/other_user}","gists_url":"https://api.github.com/users/phidias51/gists{/gist_id}","starred_url":"https://api.github.com/users/phidias51/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/phidias51/subscriptions","organizations_url":"https://api.github.com/users/phidias51/orgs","repos_url":"https://api.github.com/users/phidias51/repos","events_url":"https://api.github.com/users/phidias51/events{/privacy}","received_events_url":"https://api.github.com/users/phidias51/received_events","type":"User","site_admin":false},"labels":[],"state":"closed","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":3,"created_at":"2016-09-06T20:08:11Z","updated_at":"2016-09-07T14:30:25Z","closed_at":"2016-09-07T13:20:20Z","body":"Within the last 5 years or so, the architecture of most applications have changed.  Where traditionally the UI might consist of GSP pages, or JSP pages, applications are increasingly making use of front-end frameworks like Angular, React and Polymer.  Sometimes the UI is deployed to a separate server (like nginx) sometimes it's deployed in the WAR along with the server-side application.  It is this latter scenario that I'd like to see better supported with the asset pipeline.\r\n\r\nIn my projects the user interface code is primarily Polymer-based. We have a large collection of components that we want to reuse. Our directory structure looks something like this:\r\n\r\n/component_lib\r\n   /bower_components\r\n   /corp_components\r\n\r\n/grails-project-1\r\n/grails-project-2\r\n\r\nThe **/bower_components** directory contains 3rd party components, and the **/corp_components** directory contains internally developed components that we want to leverage in our projects.\r\n\r\nIs there a way for us to configure the asset pipeline plugin in each of the grails projects to point to **/component_lib**? During development it would need to resolve against the **/component_lib** directory, but when the grails projects are WAR'd then, it would need to pull the components that were used by each of the projects into the WARs.  This would significantly reduce the amount of disc space used by 3rd party components.\r\n\r\nWe currently use gradle to copy the UI into the grails project for deployment. But that's a less than optimal solution, because we can't cherry pick the components that we want to include, and we can't make use of the bower dependency declarations. Here's a typical use case:\r\n\r\nLet's suppose that I have an element called **my-card** which exists in the shared components directory **/component_lib/corp_components/my-element/my-card.html**. This element depends on Polymer's paper-card found in **/component_lib/bower_components/paper-card/paper-card.html**.\r\n\r\nLet's suppose that I have a project-specific element that uses **my-card**. What I want to be able to do is configure the asset pipeline to read the bower files for all of the dependencies in the dependency chain, pick up the right dependencies and put them in my war file whenever I build it.\r\n\r\nSince I want to minimize the numbers of copies of these dependencies that are floating around my hard drive, I want asset pipeline to simply resolve the dependencies to my local /component_lib directory.\r\n\r\nThis last bit may not be possible, but in any case I want to minimize the number of copies on my drive by whatever means possible.\r\n\r\n\r\n\r\n"},"comment":{"url":"https://api.github.com/repos/bertramdev/asset-pipeline/issues/comments/245298779","html_url":"https://github.com/bertramdev/asset-pipeline/issues/121#issuecomment-245298779","issue_url":"https://api.github.com/repos/bertramdev/asset-pipeline/issues/121","id":245298779,"user":{"login":"phidias51","id":1288775,"avatar_url":"https://avatars.githubusercontent.com/u/1288775?v=3","gravatar_id":"","url":"https://api.github.com/users/phidias51","html_url":"https://github.com/phidias51","followers_url":"https://api.github.com/users/phidias51/followers","following_url":"https://api.github.com/users/phidias51/following{/other_user}","gists_url":"https://api.github.com/users/phidias51/gists{/gist_id}","starred_url":"https://api.github.com/users/phidias51/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/phidias51/subscriptions","organizations_url":"https://api.github.com/users/phidias51/orgs","repos_url":"https://api.github.com/users/phidias51/repos","events_url":"https://api.github.com/users/phidias51/events{/privacy}","received_events_url":"https://api.github.com/users/phidias51/received_events","type":"User","site_admin":false},"created_at":"2016-09-07T14:30:25Z","updated_at":"2016-09-07T14:30:25Z","body":"So this will resolve bower dependencies?"}}
{"actor":{"display_login":"phidias51"}}