Home

Awesome

google-cdn Build Status Code Climate

Greenkeeper badge

Grunt task for replacing refs to resources on the Google CDN.

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 below)

Example

bower.json:

{
  "name": "my-awesome-app",
  "dependencies": {
    "jquery": "~2.0.0"
  }
}
var googlecdn = require('google-cdn');

var bowerConfig = loadJSON('bower.json');
var markup = '<script src="bower_components/jquery/jquery.js"></script>';
googlecdn(markup, bowerConfig, {cdn: require('google-cdn-data')}, function (err, result) {
  if (err) {
    throw err;
  }

  assert.equal(result,
    '<script src="//ajax.googleapis.com/ajax/libs/jquery/2.0.2/jquery.min.js"></script>');
});

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:

{
  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

CDN data modules

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