node package manager

Introducing npm Enterprise add-ons. Integrate third-party dev tools into npm…


Grunt task for replacing refs to resources on the Google CDN


Grunt task for replacing refs to resources on the Google CDN

This plugin requires Grunt ~0.4.0

If you haven't used Grunt before, be sure to check out the Getting Started guide, as it explains how to create a Gruntfile as well as install and use Grunt plugins. Once you're familiar with that process, you may install this plugin with this command:

npm install grunt-google-cdn

Install CDN data module: npm install google-cdn-data (see list of more data modules below)

It manages dependencies using Bower, be sure to have it installed, and a bower.json/component.json in your project.

Once the plugin has been installed, it may be enabled inside your Gruntfile with this line of JavaScript:


Run this task with the grunt cdnify command.

Within your Gruntfile.js file, you need to specify the html directory that contains the html referencing your CDN files.

cdnify: {
  options: {
    cdn: require('google-cdn-data')
  dist: {
    html: ['app/*.html']

You will need a valid bower.json/component.json file in your project, that has dependencies and a version listed accordingly

  "name": "myAwesomeApp",
  "version": "0.0.1",
  "dependencies": {
    "rsvp": "*",
    "carve": ">=0.0.1",
    "es5-shim": "~2.0.8",
    "optimist" :  "0.2.x"

If any updates are found, it will go through the files you specified, updating any references to those scripts.

  • 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';

For options consult the google-cdn docs.

  • 2013-04-24 v0.1.4 removed the extra s in component.json
  • 2013-04-22 v0.1.3 Made 'components.json' configurable via bowerrc, added unstable AngularJS and jQuery 2.0.0
  • 2013-04-07 v0.1.2 update available AngularJS versions, add .jshintrc
  • 2013-02-24 v0.1.0 add support for versions, hositing to avoid conflicts with usemin
  • 2013-02-18 v0.0.1 Initial Commit