Grunt task for Polymer's Vulcanize
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');
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.
},
},
},
})
Type: Boolean
Default value: false
Extract inline <script>
blocks into a separate file. Maps directly to https://github.com/Polymer/vulcanize#content-security-policy
Type: Boolean
Default value: false
The opposite of csp
mode: inline all scripts and stylesheets.
Type: Boolean
Default value: false
Strip comments and empty text nodes from output.
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.
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.
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.
Type: String
Default value: ''
Specify a "site root". Resolve paths to absolute paths based on the site root.
Type: Boolean
Default value: true
By default, HTML Imports excluded from inlining are removed. Set this flag to keep the excluded imports in the output file.
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'
},
},
},
})
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'
},
},
},
})
Contributions to this project must follow the guidlines of the Contributor License Agreement
(Nothing yet)