grunt-google-cdn Build Status

Grunt task for replacing refs to resources on the Google CDN

Getting Started

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:

grunt.loadNpmTasks('grunt-google-cdn');

Run this task with the grunt cdnify command.

Configuration

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.

Options

  • componentsPath: the path you specify in your script tags to the components directory. It defaults to the directory property defined in .bowerrc (optional bower config). Normally this is your bower_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';
        }
      }
    }

For options consult the google-cdn docs.

CDN data modules

Release History

  • 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

License

BSD