Grunt task for Chrome 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
.content_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: 'both',
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: String
Boolean
Default: undefined
, false
Auto-increment types. Can be:
dest
: increase build number in dest onlyboth
: increase build number in both origin and destundefined
,false
: do not increase build number
- target:
String
, Relative path of the transformed(cssmin
anduglify
) background script. - exclude:
String
, Javascript files to 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