Grunt task to prepend require.js config to files for development
JavaScript
Switch branches/tags
Nothing to show
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
tasks
test
.gitignore
.travis.yml
Gruntfile.js
README.md
package.json

README.md

grunt-requirejs-config

Write your require.js config once in your Gruntfile and prepend it to files for development

NPM version
Build Status

Getting Started

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, install this plugin with this command:

npm install grunt-requirejs-config --save-dev

Then add this line to your project's Gruntfile.js gruntfile:

grunt.loadNpmTasks('grunt-requirejs-config');

Documentation

Usage

Here is an example usage which allows you to set your require.js configuration once for your whole Gruntfile:

var requireShim = { 
  underscore: { 
    exports: '_'
  }
};

var requirePaths = { 
  jquery: 'libs/jquery',
  underscore: 'libs/underscore'
};

grunt.initConfig({
  requirejsconfig: {
    dev: {
      src: 'src/scripts/main.js',
      dest: 'dev/scripts/main.js',
      options: {
        shim: requireShim,
        paths: requirePaths
      }
    }
  }
});

This is what a sample src file would look like:

require(['appController'], function (AppController) {
  AppController();
});

The output dest file looks like:

// Config added by grunt-requirejs-config
require.config({
  "shim": {
    "underscore": {
      "exports": "_"
    }
  },
  "paths": {
    "jquery": "libs/jquery",
    "underscore": "libs/underscore"
  }
});

require(['appController'], function (AppController) {
  AppController();
});

This file starts the app after the config has been set.

Required properties

src

Type: String

This is file that require-config uses as your base file to prepend the configuration.

dest

Type: String

This is the destination of the generated config file.

Options

Any option will be used as a property passed to the require.js config. Here is a page describing all of the options.

Changelog

0.1.0 - Allow full function print in require.js config

0.0.2 - Called done() on async task

0.0.1 - Fixed registered task name

0.0.0 - Initial release