Important: This documentation covers Yarn 1 (Classic).
For Yarn 2+ docs and migration guide, see yarnpkg.com.

Package detail

google-cdn

passy29.9kBSD-3-Clause1.1.0

Replaces references to resources on the Google CDN

cdn, google, cdnjs

readme

google-cdn Build Status Dependency Status Code Climate

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:

  • 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:

    {
    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

changelog

1.1.0 (2016-04-16)

Features

  • cdn: accept array of CDN hosts (40ace31)
  • cdnjs: check for matching bower packages by removing .js from the name (548fc8b)

1.0.0 (2014-11-26)

Features

1.0.0 (2014-11-26)

0.7.0 (2014-08-23)

Features

  • cdnify: expose an replacementInfo in the callback (217c1c1d)

v0.5.1 (2014-03-23)

Bug Fixes

  • cdnify: throw if bowerJson is missing (6d583a6d)

v0.5.0 (2014-03-07)

Features

  • cdnify: support 'all' flag in cdn data (db3550c5)

v0.4.0 (2014-02-04)

Features

v0.3.0 (2014-01-11)

Bug Fixes

  • bower: main path resolving bug fixes (3d68ebd1)

Features

  • cdnify: allow passing a cdn data object in options (778258fc)
  • data: angular 1.2.7, 1.2.8 (0b582be5)

v0.2.3 (2013-10-12)

Bug Fixes

  • data: remove non-existent jQuery version

v0.2.2 (2013-08-31)

Features

v0.2.1 (2013-08-11)

Bug Fixes

  • cdnify: strip leading slashes (4e01423f)

Features

  • data: dojo, swfobject for google CDN (bdb5c3b7)

v0.2.0 (2013-08-11)

Bug Fixes

  • data: filter out invalid semvers (1c3552e9)

Features

  • cdnify:
    • run bower lookups in parallel (00a1c9ce)
    • change to asynchronous API (17ea90ce)
    • preparations for multi-cdn support (5a73bea0)
  • data:
    • full heuristic cdnjs support (d6e9830c)
    • add cdnjs support for jquery (eb215d9d)
  • util: add bower main resolver (104e1aa2)

Breaking Changes

  • googlecdn is no longer synchronous and requires a callback
  • Hoisting is no longer supported. If you relied on this, please get in touch. It looked like nobody would be using it.