node package manager
Stop wasting time. Easily manage code sharing in your team. Create a free org »



Grunt task for Chrome manifest.json

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, 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.registerTask('default', ['chromeManifest:dist']);


chrome-manifest is composed of 3 steps:

  • prepare: detects background and content_script javascript and css files in manifest and update the grunt config to run concat cssmin and uglify.
    • content_scripts javascript files and excluded 'background' javascript files does not perform the concat 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.


Example usage

chromeManifest: {
  dist: {
    options: {
      buildnumber: 'both',
      background: {
        target: 'scripts/background.js',
        exclude: [
    src: 'app',
    dest: 'dist',
    manifest: 'app/manifest.json'



Required Type: String

Base directory where the origin source files


Required Type: String

Base directory where the transformed files should be output.


Type: String

Path of the source of manifest.json. If it's not set the plugin will be going to read manifest.json in src path



Type: String Boolean Default: undefined, false

Auto-increment types. Can be:

  • dest: increase build number in dest only
  • both: increase build number in both origin and dest
  • String: version in this format
  • undefined, false: do not increase build number


  • target: String, Relative path of the transformed(cssmin and uglify) background script.
  • exclude: String, Javascript files to exclude.


Type: Object Default: undefined

Overwrite in manifest keys from object.


Type: Array[String] Default: ['key']

Remove fields from manifest.json. The key field is removed by default as it is not allowed by the chrome webstore.


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