node package manager
Loosely couple your services. Use Orgs to version and reuse your code. Create a free org »

grunt-vulcanize

grunt-vulcanize

Grunt task for Polymer's Vulcanize. Compatible with Polymer 1.0

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

npm install grunt-vulcanize --save-dev

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

grunt.loadNpmTasks('grunt-vulcanize');

The "vulcanize" task

Overview

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

grunt.initConfig({
  vulcanize: {
    default: {
      options: {
        // Task-specific options go here. 
      },
      files: {
        // Target-specific file lists and/or options go here. 
      },
    },
  },
})

Options

options.abspath

Type: String Default value: ``

A folder to treat as "webroot". When specified, use an absolute path to target.

options.excludes

Type: Array[String] Default value: []

An array of RegExp objects to exclude paths from being inlined.

options.stripExcludes

Type: Array[String] Default value: []

An array of RegExp objects to exclude paths from being inlined and strip them from the output file.

options.inlineScripts

Type: Boolean Default value: false

Inline external scripts.

options.inlineCss

Type: Boolean Default value: false

Inline external stylesheets.

options.stripComments

Type: Boolean Default value: false

Remove non-license HTML comments.

options.loader

Type: Hydrolysis loader Default value: ``

A hydrolysis loader. This loader is generated with the target argument to vulcan.process and the exclude paths. A custom loader can be given if more advanced setups are necesssary.

options.csp

Type: String Default Value: ``

Filename for a separate JS file to be CSP compliant, uses crisper

Usage Examples

Default Options

In this example, the default options are used to vulcanize index.html into build.html.

Please see https://github.com/Polymer/vulcanize#example for more information.

grunt.initConfig({
  vulcanize: {
    default: {
      options: {},
      files: {
        'build.html': 'index.html'
      },
    },
  },
})

Custom Options

Please see https://github.com/Polymer/vulcanize for more information

grunt.initConfig({
  vulcanize: {
    default: {
      options: {
        abspath: '',
        excludes: ["/path/to/polymer.html"]
        inlineScripts: true,
        inlineCss: true,
        stripComments: true,
        csp: "build-csp.js"
      },
      files: {
        'build-csp.html': 'index.html'
      },
    },
  },
})

What happened to [feature] from 0.X?