Newborn Programming Monsters
Miss any of our Open RFC calls?Watch the recordings here! »

cns-bower

1.8.8 • Public • Published

Bower - A package manager for the web

Backers on Open Collective Sponsors on Open Collective

..psst! While Bower is maintained, we recommend yarn and webpack or parcel for new front-end projects!

Unix CI Windows CI Coverage Status Discord chat


This is a fork, which extends bower by a maven resolver

Bower offers a generic, unopinionated solution to the problem of front-end package management, while exposing the package dependency model via an API that can be consumed by a more opinionated build stack. There are no system wide dependencies, no dependencies are shared between different apps, and the dependency tree is flat.

Bower runs over Git, and is package-agnostic. A packaged component can be made up of any type of asset, and use any type of transport (e.g., AMD, CommonJS, etc.).

View complete docs on bower.io

View all packages available through Bower's registry.

Install

$ npm install -g bower

Bower depends on Node.js and npm. Also make sure that git is installed as some bower packages require it to be fetched and installed.

Usage

See complete command line reference at bower.io/docs/api/

Installing packages and dependencies

# install dependencies listed in bower.json 
$ bower install
 
# install a package and add it to bower.json 
$ bower install <package> --save
 
# install specific version of a package and add it to bower.json 
$ bower install <package>#<version> --save

Using packages

We discourage using bower components statically for performance and security reasons (if component has an upload.php file that is not ignored, that can be easily exploited to do malicious stuff).

The best approach is to process components installed by bower with build tool (like Grunt or gulp), and serve them concatenated or using a module loader (like RequireJS).

Maven extension: package URLs can use maven+http://... or maven+https://... to access a maven repository (URL up to the package name, not including the version number)

Uninstalling packages

To uninstall a locally installed package:

$ bower uninstall <package-name>

Extended usage with Maven support

Use case: you have a (private) maven repository (like artifactory), where you deploy bower packages to with a maven build (e.g. by Jenkins).

Install private bower on one of your servers.

Use this fork of bower on your development machines/continuous build servers:

$ npm install -g cns-bower

Point your bower to the private bower registry by creating a file .bowerrc in your user directory (replace your server name):

{
    "registry": "http://private.bower.server:5678/"
}

After the first successful deployment of a bower package to your maven repository, register the package on your private bower registry:

$ bower register <package> maven+http://your.maven.repository//.../<package>

If you use grunt, there is a patched fork of grunt-bower-task, which uses cns-bower:

$ npm install grunt-cns-bower-task

prezto and oh-my-zsh users

On prezto or oh-my-zsh, do not forget to alias bower='noglob bower' or bower install jquery\#1.9.1

Never run Bower with sudo

Bower is a user command; there is no need to execute it with superuser permissions.

Windows users

To use Bower on Windows, you must install Git for Windows correctly. Be sure to check the options shown below:

Git for Windows Git for Windows

Note that if you use TortoiseGit and if Bower keeps asking for your SSH password, you should add the following environment variable: GIT_SSH - C:\Program Files\TortoiseGit\bin\TortoisePlink.exe. Adjust the TortoisePlink path if needed.

Ubuntu users

To use Bower on Ubuntu, you might need to link nodejs executable to node:

sudo ln -s /usr/bin/nodejs /usr/bin/node

Configuration

Bower can be configured using JSON in a .bowerrc file. Read over available options at bower.io/docs/config.

Support

Contributing

We welcome contributions of all kinds from anyone. Please take a moment to review the guidelines for contributing.

Note that on Windows for tests to pass you need to configure Git before cloning:

git config --global core.autocrlf input

Backers

Support us with a monthly donation and help us continue our activities. [Become a backer]

Sponsors

Become a sponsor and get your logo on our README on Github with a link to your site. [Become a sponsor]

License

Copyright (c) 2012-present Twitter and other contributors

Licensed under the MIT License

Keywords

Install

npm i cns-bower

DownloadsWeekly Downloads

8

Version

1.8.8

License

MIT

Unpacked Size

20.4 MB

Total Files

5747

Homepage

bower.io

Last publish

Collaborators

  • avatar
  • avatar
  • avatar