An open API service indexing awesome lists of open source software.

https://github.com/passy/google-cdn

Replaces references to resources on the Google CDN
https://github.com/passy/google-cdn

Last synced: over 1 year ago
JSON representation

Replaces references to resources on the Google CDN

Awesome Lists containing this project

README

          

# google-cdn [![Build Status](https://secure.travis-ci.org/passy/google-cdn.svg?branch=master)](http://travis-ci.org/passy/google-cdn) [![Code Climate](https://codeclimate.com/github/passy/google-cdn.svg)](https://codeclimate.com/github/passy/google-cdn)

[![Greenkeeper badge](https://badges.greenkeeper.io/passy/google-cdn.svg)](https://greenkeeper.io/)

> Grunt task for replacing refs to resources on the [Google CDN](https://developers.google.com/speed/libraries/devguide).

This module makes it easy to replace references to your bower resources in your
app with links to the libraries on the Google CDN (and some other CDNs).

## Getting started

Install: `npm install --save google-cdn`

Install CDN data module: `npm install --save google-cdn-data` (see list of more [data modules](#cdn-data-modules) below)

### Example

*bower.json*:

```json
{
"name": "my-awesome-app",
"dependencies": {
"jquery": "~2.0.0"
}
}
```

```javascript
var googlecdn = require('google-cdn');

var bowerConfig = loadJSON('bower.json');
var markup = '';
googlecdn(markup, bowerConfig, {cdn: require('google-cdn-data')}, function (err, result) {
if (err) {
throw err;
}

assert.equal(result,
'');
});
```

## API

### googlecdn(content, bowerJson[, options], callback)

Replaces references to libraries supported by the Google CDN in `content`.
The library versions are inferred from the `bowerJson`.

`options` is an optional object with these keys:

- `componentsPath`: defaults to `bower_components`, the path you specify in
your script tags to the components directory.
- `cdn`: defaults to `require('google-cdn-data')`. CDN you want to use. Object of the following format:

```javascript
{
jquery: {
versions: ['2.0.3', '2.0.2', '2.0.1', '2.0.0'],
url: function (version) {
return '//my.own.cdn/libs/jquery/' + version + '/jquery.min.js';
}
}
}
```

## Used by

- [grunt-google-cdn](https://github.com/btford/grunt-google-cdn)
- [gulp-google-cdn](https://github.com/sindresorhus/gulp-google-cdn)

## CDN data modules

- [google-cdn-data](https://github.com/shahata/google-cdn-data)
- [cdnjs-cdn-data](https://github.com/shahata/cdnjs-cdn-data)
- [jsdelivr-cdn-data](https://github.com/shahata/jsdelivr-cdn-data)

## Debugging

You can turn on debugging by setting the `DEBUG` environment variable to
`google-cdn`. E.g.

`env DEBUG='google-cdn' grunt cdnify`

## License

BSD