grunt-vulcanize
Grunt task for Polymer's Vulcanize
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-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: {
options: {
},
your_target: {
},
},
})
Options
options.csp
Type: Boolean
Default value: false
Extract inline <script>
blocks into a separate file. Maps directly to https://github.com/Polymer/vulcanize#content-security-policy
options.inline
Type: Boolean
Default value: false
The opposite of csp
mode: inline all scripts and stylesheets.
options.strip
Type: Boolean
Default value: false
Strip comments and empty text nodes from output.
options.excludes.imports
Type: Array[String]
Default value: []
An array of strings that will be used as RegExp
s to filter matching imports from vulcanization.
This option should be used if multiple vulcanizations would share imports, as they could no longer be deduplicated in
their vulcanized forms.
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: {
options: {},
files: {
'build.html': 'index.html'
},
},
})
Custom Options
In this example, custom options are used to apply Content Security Policy settings on the vulcanization of index.html
into build-csp.html
.
Please see https://github.com/Polymer/vulcanize#content-security-policy for more information
grunt.initConfig({
vulcanize: {
options: {
csp: true
excludes: {
imports: [
"polymer.html"
]
}
},
files: {
'build-csp.html': 'index.html'
},
},
})
Contributing
Contributions to this project must follow the guidlines of the Contributor License Agreement
Release History
(Nothing yet)