Channels

Services

Twitter's Bower packages web resources

Twitter's engineering group has released Bower, a package manager for the web. Bower is designed to help users easily install packages of CSS, JavaScript and images and manages the dependencies between those packages. The package manager is similar to an another application, Component, which performs similar tasks to Bower. However, Component is built around the GitHub system, while Bower, describing itself as un-opinionated, can take packages from local file-based repositories as well as git-based systems. Component does appear to have the advantage of namespacing its packages for easier management.

Bower is installed using Node and npm (Node Package Manager) and, once installed, lets a command like bower install jquery install the components of jQuery into ./components/jquery/. Bower can also install from git: and http: URIs or from local file-based repositories. Packages are defined in a simple component.json file which defines name, version, main element of code and any dependencies and their versions. Twitter Engineering says it is in the process of migrating its front-end architecture into Bower packages, so "it's fairly safe to say it will be maintained and invested in going forward". Bower is MIT-licensed and available to download from the project's GitHub repository.