Requires Grunt 0.4.0 or newer
Generate jQuery plugin manifest automatically from package.json values
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-jquerymanifest --save-devBelow is an example gruntfile configuration:
grunt.initConfig({
jquerymanifest: {
options: {
source: grunt.file.readJSON('package.json'),
overrides: {
name: "myPlugin",
title: "jquery.myPlugin",
author: {
name: "Andrew Duthie",
email: "andrew@andrewduthie.com",
url: "http://www.andrewduthie.com"
},
homepage: "http://github.com/aduth/grunt-jquerymanifest",
demo: "http://github.com/aduth/grunt-jquerymanifest"
}
}
}
});
grunt.loadNpmTasks('grunt-jquerymanifest');
grunt.registerTask('default', ['jquerymanifest']);The following manifest properties are automatically mapped from package.json:
nameandtitle- Packagenameauthor- Generatespeopleobject using packageauthoras object, or with name asauthorif stringlicenses- Generateslicensesarray using packagelicenseas object, or if string, with type aslicenseand url ashttp://opensource.org/licenses/<licensename>(always check to ensure link is valid with license name)dependencies- Defaults tojQuery: "*"if not otherwise defined inpackage.json
Additionally, a number of properties will be copied verbatim if they are defined in package.json:
versionhomepagedescriptionkeywordsdocsdemodownloadbugsmaintainers
source- This will typically be your package.json file. Specify either with a string (i.e."package.json") or the object itself (i.e.grunt.file.readJSON('package.json'))overrides- An object containing custom values which will override any inferred value. For example, you might want to specify ahomepageordemoURL here, since these are usually not defined as package.json properties
Copyright (c) 2014 Andrew Duthie
Released under the MIT License (see LICENSE.txt)