Home

Awesome

CakePHP Bower Plugin

This plugin makes it possible for a CakePHP application (along with its plugins) to utilize the power of Twitter Bower for package management.

The main responsibility of this plugin is to check what packages the current CakePHP application depends on, and download them to a specific directory under app/webroot.

Requirement

The plugin is compatible with CakePHP 2.x.

You will also need Bower installed globally via npm:

$ npm install -g bower

Installation

Clone/Download the plugin to app/Plugin/Bower.

When the plugin's shell is first run, it will automatically create a file at app/.bowerrc and a directory at app/webroot/components/.

But to avoid any unexpected file permission issues, it is recommended you do the following manually:

And of course, load this plugin from your app/Config/bootstrap.php:

CakePlugin::load('Bower');

Usage

Given your CakePHP project depends on jQuery v1.9.1, it is expected you will have a file JSON file at app/component.json with this info:

{
  "name": "my-cakephp-app",
  "version": "0.0.1",
  "dependencies": {
    "jquery": "~1.9.1"
  }
}

Now if we run this command from the app directory, Bower will download jQuery to app/webroot/components/jquery/:

$ ./Console/cake Bower.bower fetch app

Plugins can have their own component.json file too, and they need to be located at app/Plugin/MyPlugin/component.json.

To download dependencies of a plugin:

$ ./Console/cake Bower.bower fetch MyPlugin

If you wish to download all the dependencies of your app and all your Plugins together in one go:

$ ./Console/cake Bower.bower fetch .

Configuration

You may wish to change the directory where packages are downloaded to, or even the name of the JSON file. You can do that by modifying the app/.bowerrc file.

License

MIT License