get scripts/css file list from manifest to handle, and initialize the grunt configuration appropriately, and automatically. then replaces references to non-optimized scripts into the transformed background scripts. and auto increment build version in manifest.json.
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, install this plugin with this command:
npm install grunt-chrome-manifest --save-dev
Once the plugin has been installed, it may be enabled inside your Gruntfile with this line of JavaScript:
grunt.loadNpmTasks('grunt-chrome-manifest');
grunt.registerTask('default', ['chromeManifest:dist']);
chrome-manifest is composed of 3 steps:
- prepare: detects
background
andcontent_script
javascript and css files in manifest and update the grunt config to runconcat
cssmin
anduglify
. butcontent_scripts
javascript files and excluded 'background' javascript files does not perform theconcat
task. - buildnumber: detects
buildnumber
and increased if set to true. - cleanup: detects javascripts files for develop in manifest and remove them from manifest.json for distribution.
chromeManifest: {
dist: {
options: {
buildnumber: true,
background: {
target: 'scripts/background.js',
exclude: [
'background/scripts/chromereload.js'
]
}
},
src: 'app',
dest: 'dist'
}
};
Required Type: 'String'
Base directory where the origin source files
Required Type: 'String'
Base directory where the transformed files should be output.
Type: 'Boolean'
Flag of auto-increment build number.
Type: 'String'
Relative path of the transformed(cssmin
and uglify
) background script.
Type: 'String'
The paths of script in manifest.json that will be exclude.
Grunt currently doesn't have a way to test tasks directly. You can test this task by running grunt
and manually verify that it works.
BSD license and copyright Google