Nurturing Palpable Magnificence

    grunt-chrome-manifest

    0.3.0 • Public • Published

    grunt-chrome-manifest

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

    Workflow

    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.

    Documentation

    Example usage

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

    Config

    src

    Required Type: String

    Base directory where the origin source files

    dest

    Required Type: String

    Base directory where the transformed files should be output.

    manifest

    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

    Options

    buildnumber

    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

    background

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

    overwrite

    Type: Object Default: undefined

    Overwrite in manifest keys from object.

    removeFields

    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.

    Tests

    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.

    License

    BSD license and copyright Google

    Install

    npm i grunt-chrome-manifest

    DownloadsWeekly Downloads

    464

    Version

    0.3.0

    License

    none

    Last publish

    Collaborators

    • ragingwind