Bower
bower.io
What it is
Bower is a free, open-source command-line package manager for web front-end components such as HTML, CSS, JavaScript, fonts, and images. It installs package versions and dependencies, records project dependencies in bower.json, and places packages in bower_components by default. Its flat dependency graph means a shared dependency, such as jQuery, is downloaded once even if several packages need it. Packages can come from registry names, Git endpoints, GitHub shorthand, URLs, or local folders. Bower is installed with npm and requires Node.js, npm, and Git. JSON settings in .bowerrc cover options including registries, proxies, SSL, storage, and lifecycle hooks. Integrations are listed for Grunt, Gulp, Rails and Ruby, Java, IDEs, and other workflows; third-party resolvers can extend supported sources. Bower installs packages but does not concatenate, minify, or otherwise process them. The project is maintained, though its official site recommends Yarn and Vite for front-end projects. New package registration is deprecated, while GitHub repositories remain installable as dependencies.
Spec sheet
- Purpose
- Bower is a package manager for web front-end components, including HTML, CSS, JavaScript, fonts, and images.Read 5 Oct 2026 · bower.io
- Support
- The About page points users to Stack Overflow, a mailing list, and the #bower chat channel for support.Read 5 Oct 2026 · bower.io
- Configuration
- Bower supports JSON configuration through .bowerrc, including registry, proxy, SSL, storage, and lifecycle hook settings.Read 5 Oct 2026 · bower.io
- Custom resolvers
- Third-party JavaScript resolvers can add support for sources such as npm, Mercurial, private registries, Artifactory, and Nexus Repository.Read 5 Oct 2026 · bower.io
- Dependency management
- It installs package versions and their dependencies and records project dependencies in bower.json.Read 5 Oct 2026 · bower.io
- Flat dependency graph
- Bower downloads a shared dependency such as jQuery only once when multiple packages require it.Read 5 Oct 2026 · bower.io
- Install location
- By default, Bower installs packages into the bower_components directory.Read 5 Oct 2026 · bower.io
- Install method
- Bower is a command-line utility installed with npm and requires Node.js, npm, and Git.Read 5 Oct 2026 · bower.io
- Maintenance status
- The official site says Bower is maintained while recommending Yarn and Vite for front-end projects.Read 5 Oct 2026 · bower.io
- Origin
- Bower was created at Twitter and originally released as part of Twitter's open-source effort in 2012.Read 5 Oct 2026 · bower.io
- Package registration
- Bower is deprecated for registering new packages, though GitHub repositories can still be installed as dependencies.Read 5 Oct 2026 · bower.io
- Package sources
- Packages can be installed from registry names, Git endpoints, GitHub shorthand, URLs, and local folders.Read 5 Oct 2026 · bower.io
- Processing limits
- Bower installs packages but does not concatenate or minify code or otherwise process them.Read 5 Oct 2026 · bower.io
- Workflow integrations
- The official tools page lists integrations for Grunt, Gulp, Rails and Ruby, Java, IDEs, and other workflows.Read 5 Oct 2026 · bower.io
Plans and prices
Strong points and limits
Strong points
- Installs package versions and records dependencies in bower.json
- Downloads shared dependencies only once
- Accepts registry, Git, URL, and local-folder sources
- Offers .bowerrc settings and workflow integrations
Limits
- Requires Node.js, npm, and Git
- Does not concatenate, minify, or process packages
- New package registration is deprecated
Who it suits
Bower suits developers maintaining front-end projects that need to install and track component dependencies from varied sources. It requires comfort with a command line and a Node.js, npm, and Git setup.
Verdict
Bower provides dependency installation and tracking, including a flat graph that avoids repeated copies of shared packages. Note its setup requirements and deprecated registration before choosing it for a project.
Where Specifiction places it
- JavaScript Package Managers#4 of 198.1
- Package Managers#82 of 937.3