Skip to content
Grunt Plugin to compile closure with module support.
CoffeeScript JavaScript
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.
tasks
test
.gitignore
.jshintrc
Gruntfile.js
LICENSE-MIT
README.md
package.json

README.md

UNDER DEVELOPMENT

grunt-qpoc-closure-compiler

Extended closure compiler plugin with module support.

Getting Started

This plugin requires Grunt ~0.4.1

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-qpoc-closure-compiler --save-dev

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

grunt.loadNpmTasks('grunt-qpoc-closure-compiler');

The "qpoc_closure_compiler" task

Overview

In your project's Gruntfile, add a section named qpoc_closure_compiler to the data object passed into grunt.initConfig().

grunt.initConfig({
  qpoc_closure_compiler: {
    your_mode: {
      options: {
        // Task-specific options go here.

        // path to compiler.jar of google closure compiler
        // default: environment variable CLOSURE_COMPILER
        closureCompiler: './compiler.jar',

        // path to the closure library folder which contains "closure",
        // "third_party" ...
        // default: environment variable CLOSURE_LIBRARY
        closureLibrary: '/closure-library/',

        // Java executable path
        // default: 'java'
        javaPath: 'java',

        // whether automaticaly add the closure library to the pathes
        includeClosureLibrary: true, // default: true

        workspaces: [
          {
            // paths to libraries which are required in your application
            path: './lib/'
          }
          // ... further ones
        ],


        // defines the way you want to split your application
        modules: [
          // define your main module at the start
          // it's required to define one main module which will be the
          // dependency of all further modules
          {
            // path to the initiate script of the module
            path: './lib/init.js',

            // name of the module
            name: 'app'
          },

          {
            path: './lib/the_mod.js',
            name: 'the_mod',
            // array of modules which are required
            dependencies: ['app']
          }
        ],

        level: {
          advanced: true // default is false
        },

        // formatting of the code exported by the compiler
        prettyPrint: false, // default is true

        // path for the generated files
        // default: ./tmp/
        outputDir: '.',

        // prefix for the exported module javascript files.
        // example: module name "app", prefix: "module_"
        // => "#{ outputDir }/module_app.js"
        modulePrefix: '',

        // automaticaly exports a module.js.map into the outputDir
        sourceMaps: true // default: false
      }
    }
  },
})

Options

options.closureCompiler

Type: String Default value: environment $CLOSURE_COMPILER

Description following...

To be continued... Please look at the example above

Release History

(Nothing yet)

Something went wrong with that request. Please try again.