Contents
This recipe allows downloading and installing assets such as images, CSS and JavaScript using Twitter Bower.
The recipe supports the following options:
- packages
-
Packages that should be installed with bower. Packages specified here are passed to bower verbatim. They can be specified in any form that is supported by bower:
packages = underscore git://github.com/components/jquery.git bootstrap#2.2.2
- base-directory
-
Absolute path to the bower "project" directory.
bower install
is run from this directory and the bower configuration file,.bowerrc
is also placed here. Optional; defaults to${buildout:parts-directory}/bower
. Requires an absolute path.This directory is not removed when the Buildout part is uninstalled.
- executable
- Absolute path to the
bower
executable. Packages are installed using this executable. Optional; defaults tobower
onPATH
. - downloads
-
Relative path, from the
base-directory
, to the directory where bower will download packages to. This path is written to the.bowerrc
file prior to running the executable. Optional; defaults todownloads
. Thus, the downloaded packages are placed in${base-directory}/downloads
by default.This directory is removed when the Buildout part is uninstalled.
A sample buildout that uses this recipe could look like:
[buildout] parts = node web [node] recipe = gp.recipe.node url = http://nodejs.org/dist/v0.8.16/node-v0.8.16.tar.gz npms = bower@0.6.8 scripts = bower [web] recipe = bowerrecipe packages = jquery#1.8.3 normalize-css executable = ${buildout:bin-directory}/bower
This would place the downloaded packages in parts/bower/downloads
.
Modifying the web
section to be:
[web] recipe = bowerrecipe packages = jquery#1.8.3 normalize-css executable = ${buildout:bin-directory}/bower base-directory = ${buildout:parts-directory} downloads = components
would result in bower placing the downloaded packages in parts/components
.
- Bower still looks at the
~/.bowerrc
file. Hence, if this file exists, it may affect the buildout bower configuration - Bower still uses the cache located in the user's home directory. For me,
this happens to be
~/.bower/cache/