grunt-vulcanize
Grunt task for Polymer's Vulcanize
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: {
},
files: {
},
},
},
})
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.
options.excludes.scripts
Type: Array[String]
Default value: []
An array of strings that will be used as RegExp
s to filter matching scripts from vulcanization.
This option should be used if multiple vulcanizations would share scripts, as they could no longer be deduplicated in
their vulcanized forms.
options.excludes.styles
Type: Array[String]
Default value: []
An array of strings that will be used as RegExp
s to filter matching stylesheets from vulcanization.
This option should be used if multiple vulcanizations would share stylesheets, as they could no longer be deduplicated in their vulcanized forms.
options.abspath
Type: String
Default value: ''
Specify a "site root". Resolve paths to absolute paths based on the site root.
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
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: {
default: {
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)