[RTFACT-6488] Bower.io Support Created: 16/Apr/14  Updated: 07/Aug/15  Resolved: 12/Apr/15

Status: Resolved
Project: Artifactory Binary Repository
Component/s: Bower
Affects Version/s: None
Fix Version/s: 3.6.0

Type: New Feature Priority: Normal
Reporter: Jakob Heuser Assignee: Shay Yaakov (Inactive)
Resolution: Fixed Votes: 72
Labels: None


 Description   

Bower (bower.io) is quickly becoming the "npm" of client side code such as backbone, angular, and jquery. While some of these modules are also published to npm, an increasing number of them are showing up only in the bower.io repository.

This request was mentioned in RTFACT-5143 by another user, but should be split out for tracking purposes now that npm support is released and the prior issue resolved.



 Comments   
Comment by Jeff Fairley [ 06/May/14 ]

Our company is using Artifactory's NPM integration to manage our custom front-end resources. (Thanks for that by the way!)

However, there are definitely some big players that host in Bower, and not NPM. Take Google's AngularJS. You can pull the basics from NPM, but some of the more complex stuff (mocks, for instance) only live in Bower. Our projects currently use NPM and Bower to gather all necessary dependencies, but having Bower as an option would greatly reduce our project configs.

Comment by Alan Mosely [ 07/May/14 ]

+1, with the excellent new support for npm we'd really love bower support to complete the picture

Comment by George Kichukov [ 03/Jun/14 ]

+1 absolutely, bower support will be great. Many of our developers are asking for it.

Comment by Ryuho Kudo [ 27/Jun/14 ]

+1, I would really like to see support for proxying Bower components on Artifactory server.

Is there a workaround we can use in the meantime?

Edit: I contacted JFrog support to see if there are any workarounds, doesn't seem like it.

Posting the email content so that everyone searching for this topic can see what the state of this feature is as of 6/30/14.
================================
Hi Ryuho,

Unfortunately, Bower support is currently not on our near future roadmap.
You are welcome to vote for this feature request and watch the ticket for any changes.

Regards
================================
Is there a way to generically proxy and cache a website using Artifactory server?
For example, a way to proxy a site like Github and cache its content so that generic tools can use Artifactory as a local proxy?
As in, to somehow create a repo that is specific to a domain and have Artifactory save all the http/s requests and response locally so that we can jury-rig it to work?

I’m looking for any ways to avoid installing yet another repo server in our environment (after all, we bought Artifactory server to avoid this )
================================
Hi Ryuho,

Generally speaking, Artifactory can serve as a generic caching proxy - this is the basic functionality for remote repositories. This assumption is valid assuming the communication is done over the HTTP protocol and that the other side is returning static content which can be cached in Artifactory (artifacts).
Once the communication with the proxied server is based on a protocol/API, Artifactory has to be aware of this protocol and implement it (there is no ability to cache the responses as they are dynamic). This is the case for NPM, Gems and Nuget repositories which are supported by Artifactory.
This is also the case with Bower, which requires a Bower repository provider to implement a certain API. The difference between Bower and other package managers is that the content itself (packages) are not stored on the Bower repository. The repository is providing the Bower client with the location of a Git repository which stored the content instead.
Currently, Artifactory does not implement the API required by Bower and does not have the ability to managing the content in a Git repository instead of Artifactory itself.

Regards
================================

Comment by Guyonvarch [ 03/Jul/14 ]

+1 Our company is using npm support. It lackes the bower support !
We get arround this by making tgz for our bower components and store it in Artifactory.
Just specify the tarball's url in the bower.json and it runs.
Bower support allow us to avoid this cumbersome process ; "bower register" is so nice, doesn't it ?

Comment by wanig guillo [ 03/Jul/14 ]

+1 Absolutely ! We want bower support, I do the same than Guyonvarch ^^

Comment by Robin Cannon [ 29/Jul/14 ]

+1 on bower support

Comment by Kai Tödter [ 01/Aug/14 ]

+1 We also would appreciate bower support!

Comment by Juan Valenzuela [ 02/Sep/14 ]

+1 We would also appreciate having this feature

Comment by John Bien [ 10/Oct/14 ]

+1 on bower support

Comment by Daniel Hopper [ 10/Oct/14 ]

Any update on when this functionality might be targeted? This is becoming more of an issue as we release more and more front end components that need consumption from bower.

Comment by Daniel Marcotte [ 24/Oct/14 ]

+1 for bower!

Comment by Adam Wilmore [ 07/Nov/14 ]

+1 for bower!

And +.5 for info on a workaround in the meantime!

Comment by Jérémie Charest [ 07/Nov/14 ]

+1 on bower support

Comment by Abhinav Pobbati [ 09/Nov/14 ]

+1 for bower!

Comment by Wes Burningham [ 12/Nov/14 ]

+1 for bower support

Comment by Logan Mosley [ 12/Nov/14 ]

+1, more power to bower!

Comment by Sam Xiao [ 12/Nov/14 ]

+1 as we really need this.

Comment by Nathan [ 12/Nov/14 ]

+1 for bower support

Comment by Toran Billups [ 20/Nov/14 ]

+1 for bower !!!

Comment by James [ 25/Nov/14 ]

+1 for Bower!

Comment by Javier Evans [ 26/Nov/14 ]

+1 this would allow us to have all our dependencies managed by Artifactory

Comment by Elad hirsch [ 01/Dec/14 ]

+1000 for bower

Comment by John Calcote [ 15/Dec/14 ]

+1 for bower support - seriously, what good is npm without bowser?

Comment by peter de koster [ 22/Dec/14 ]

We are very happy to see that this ticket is finally assigned.

Within what timeframe is it expected to be solved ?

Comment by Marcos Mendez [ 12/Jan/15 ]

+1 bower support. what is the timeframe?

Comment by Zackary Chapple [ 19/Jan/15 ]

Why is this not implemented yet? This was created over a year ago +1 for Bower support.

Comment by Martin Vlcek [ 27/Jan/15 ]

You might want to try to work like we do:

Comment by Zackary Chapple [ 27/Jan/15 ]

@martin, to use a maven build for a JS only project would be a little overkill. Thanks for the suggestion though.

I would still like bower to be native to Artifactory.

Comment by Lior Hasson [ 15/Feb/15 ]

Hi,
Wanted to inform you, we have submitted a pull request to the Bower project to support Artifactory through Bower client.
You can review the pull request here: https://github.com/bower/bower/pull/1686, feel free to comment in order to push forward.
In the up coming version we will add the relevant support on Artifactory side as well.

Thanks,
JFrog Team.

Comment by Yossi Shaul [ 12/Apr/15 ]

Bower support (in beta) added to v3.6.
Detailed description can be found here: http://www.jfrog.com/confluence/display/RTF/Bower+Repositories

Comment by Jeff Fairley [ 13/Apr/15 ]

Hurray!

Question: Once the pull request into bower has been accepted, can we then resume using bower install rather than bower-art install?

Comment by Yossi Shaul [ 13/Apr/15 ]

Yes. This is the end goal.

Comment by Derk-Jan Hartman [ 07/Aug/15 ]

There has been a new pull request for Bower.io pluggable resolvers: https://github.com/bower/bower/pull/1871

Generated at Mon Jul 24 04:36:51 UTC 2017 using JIRA 7.1.9#71013-sha1:1aa0586d78efb7ed8b3de5c648d4b24912070b66.