grunt-chrome-manifest

> Grunt task for Chrome manifest.json

grunt-chrome-manifest

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 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.
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 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