Welcome to EverybodyWiki 😃 ! Nuvola apps kgpg.png Log in or ➕👤 create an account to improve, watchlist or create an article like a 🏭 company page or a 👨👩 bio (yours ?)...

Bower (software)

From EverybodyWiki Bios & Wiki

Developer(s)Twitter and contributors to the GitHub community.
Initial release2012
Written inJavaScript (Node.js)

    Amazon.com Logo.png Search Bower (software) on Amazon.

    Bower is an open source package management tool for client-side Web development.[1] It makes it easy to install and update program libraries and frameworks using a command-line tool written in Node.js.

    Functioning and concepts[edit]

    Bower is controlled from the command line (shell). Below is a list of Bower's most important commands and concepts.


    Bower is a command line program and requires Node.js and is therefore installed with Node Package Manager (npm), for installation under unixoid systems or POSIX systems, execute the command npm install -g bower in the shell to execute the installation globally.[2] After installation, the bower command is now available in the command line.


    Packages at Bower are individual programs such as, JQuery and Angular.js, i.e stand-alone software packages, libraries and frameworks.

    Packages can be installed individually via the shell by navigating to the folder in the shell and executing bower install [package], "package" must be replaced with the appropriate package (to be installed).

    There are several ways to specify the package. "Registered" packages, so identified by a unique name at Bower (these are usually larger / better-known software projects), this name can be specified alone and looks at jQuery z. Eg from bower install jquery. It is also possible to specify a GitHub abbreviation in the form developer / project and looks for Angular.js as follows: bower install angular / angular.js. You can also specify a unique address, either a git address (bower install git: //github.com/user/package.git) or an HTTP URL (bower install http://example.com/script.js) be specified.

    Project initialization and bower.json[edit]

    A folder can be initialized with the command bower init, a bower.json file is created when executing this command. This can also be created independently. A bower.json looks like this:[3]

      "name": "my-project",
      "version": "1.0.0",
      "main":  [
      "private": true,
      "keywords": [
      "ignore": [
      "dependencies": {
        "<name>": "<version>",
        "<name>": "<folder>",
        "<name>": "<package>"
      "devDependencies": {
        "<test-framework-name>": "<version>"

    Where "name" contains the project name as a string. "version" expects a string with the current version, usually in the format "Major.Minor.Patch". "main" optionally contains the path(s) of a maximum of one file per type (eg JavaScript, CSS, ...) as a string or array, which can be considered as an entry point to use the project. "private" is a Boolean, if set to true this indicates that this project is not intended for publication. "ignore" assumes a string array with the files to ignore, for productive use. "Dependencies" are the dependencies to be specified as hash, which must be fulfilled in any case. "devDependencies" are also dependencies to be defined as a hash, but they are only needed for further development (testing, documentation, etc.).[3]

    The "dependencies" and the devDependencies can also be installed via the shell commands bower install <package> --save, which specifies the "package" to the "dependencies" or bower install <package> --save-dev this adds the specified "package" to the "devDependencies" in bower.json.[3]


    Bower was initiated by Twitter as part of its open source initiative in 2012[2] and is currently being developed by a team of 7 core developers and 121 contributors to the GitHub community (as of late November 2014).[4][5]

    As the ECMAScript 6 module system[6] has become more widespread, many projects and developers have switched to NPM in combination with Bundler software such as Browserify and Webpack. The project has been considering since June 2016 to call itself deprecated.[7] Since May 2017 it is recommended on the project and website to use Yarn and Webpack as substitutes.[8][9]


    Bower was named after the English name of the bird species of the Bowerbirds. In this species of bird, the male collects various colored objects to make his bower as magnificent as possible, as females mate with the builder of the most magnificent arbor. Bower claims to do just that: it collects the programs (items) and makes them available to the developer to develop his application (arbor).[10]


    The logo shows a Goldlaubenvogel (a flame bowerbird performing its sultry mating dance) and was designed by Dave DeSandro and Isaac Durazo.[11]



    1. "About · Bower". bower.io. Retrieved 2018-06-02.
    2. 2.0 2.1 "Bower". bower.io. Retrieved 2018-06-02.
    3. 3.0 3.1 3.2 "Creating Packages · Bower". bower.io. Retrieved 2018-06-02.
    4. "bower/bower". GitHub. Retrieved 2018-06-02.
    5. "bower/bower". GitHub. Retrieved 2018-06-02.
    6. "ECMAScript 6: New Features: Overview and Comparison". es6-features.org. Retrieved 2018-06-02.
    7. "Consider deprecating Bower. · Issue #2298 · bower/bower". GitHub. Retrieved 2018-06-02.
    8. "Add yarn and webpack recommendation (#2458) · bower/bower@0bd318d". GitHub. Retrieved 2018-06-02.
    9. "How to migrate away from Bower? · Bower blog". bower.io. Retrieved 2018-06-02.
    10. "About · Bower". bower.io. Retrieved 2018-06-02.
    11. "About · Bower". bower.io. Retrieved 2018-06-02.


    This article "Bower (software)" is from Wikipedia. The list of its authors can be seen in its historical and/or the page Edithistory:Bower (software). Articles copied from Draft Namespace on Wikipedia could be seen on the Draft Namespace of Wikipedia and not main one.