Sign Up for Free

RunKit +

Try any Node.js package right in your browser

This is a playground to test code. It runs a full Node.js environment and already has all of npm’s 400,000 packages pre-installed, including grunt-vulcanize with all npm packages installed. Try it out:

var gruntVulcanize = require("grunt-vulcanize")

This service is provided by RunKit and is not affiliated with npm, Inc or the package authors.

grunt-vulcanize v1.0.0

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

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?

RunKit is a free, in-browser JavaScript dev environment for prototyping Node.js code, with every npm package installed. Sign up to share your code.
Sign Up for Free