Scaling the WebJars Project with On-Demand Bower Packages

WebJars has been my hobby project for almost 3 years and thanks to tons of help from the community the project now has almost 900 JavaScript libraries in Maven Central. In February 2015 there were over 500,000 downloads of WebJars! Up until now all of the WebJars have been manually created, deployed, and maintained. Today I’m happy to launch Bower WebJars, an on-demand service that allows users to deploy new WebJars from Bower packages.

If a WebJar doesn’t exist for the library you need, but it does exist in Bower, then select the Bower package & version and deploy it! Under the covers the Bower package is converted to a Maven package (including transitive dependency definitions), deployed to BinTray, and then synced to Maven Central. Check out the code.

Bower WebJars should work for most Bower packages but I’ve noticed a few packages that do not follow standard dependency versioning practices or do not have standard OSS licenses. So if you have any problems file an issue and we’ll see if there is something we need to fix on our side or if we can work with the package provider to resolve the issue.

We’ve started with packaging Bower libraries but it would be logical to also do this for NPM. We are discussing teaming up with the npmaven folks to do this. So stay tuned.

A huge thanks to Fred Simon (Founder at JFrog) and the rest of the folks behind BinTray. At the WTF Conference a few weeks ago, Fred helped me get a handle on the BinTray REST APIs which really kick-started this project. Since then the BinTray folks have been ridiculously helpful and instrumental in getting the Bower WebJar stuff working seamlessly.

I hope the new Bower WebJars are useful for you. Let me know what you think.