node package manager

grunt-recipe

create dependencies.json for recipe.js

grunt-recipe

Generate scripts for recipe.js

This plugin requires Grunt ~0.4.0

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, you may install this plugin with this command:

npm install grunt-recipe --save-dev

One the plugin has been installed, it may be enabled inside your Gruntfile with this line of JavaScript:

grunt.loadNpmTasks('grunt-recipe');

In your project's Gruntfile, add a section named recipe to the data object passed into grunt.initConfig().

grunt.initConfig({
  recipe: {
    options: {
      // Task-specific options go here. 
    },
    main: {
      files: {
        "example/dist": ["recipe.json"]
      }
    },
  },
})
{
  ${namespace}: {
    "path": ${path},
    "dest": ${dest},
    "url": ${url},
    "dependencies": ${dependencies},
    "concat": ${concat},
    "min": ${min},
    "amd": {
      "path": ${amd path},
      "dest": ${amd dest},
      "url": ${amd url}
      "exports": ${exports}
    }
  }
}

Declare below under the namespace property.

Property Name Type Required Default value Value of meaning
namespace String * Library namespace
path String Library path
dest String Destination directory path
url String Library URL
dependencies Array<String> * [] Dependents namespace
concat Boolean true Concatenate scripts
min Boolean true Minify script
amd path String Use AMD script path instead of path value
amd dest String Destination directory path for AMD script
amd url String AMD script URL
amd exports Boolean or String Export specified value instead of namespace. if value is false, ignore to export namespace

See example recipe.json

Grunt will output below

File name Value of meaning
recipe.version.js Version of libraries
recipe.dependencies.js Libraries dependencies
${librarieName}.with-dependencies.js Concat and minified origin with dependencies
${librarieName}.with-dependencies.unpack.js Concat origin with dependencies
${librarieName}.js Minified origin source
${librarieName}.unpack.js Origin source
${librarieName}.amd.js Minified AMD packed source
${librarieName}.amd.unpack.js AMD packed source

Type: String Default value: 'concat'

Concatenate configuration properties name. Set null, if you don't want to add concatenate configuration automatically.

Type: String Default value: 'uglify'

Minification configuration properties name. Set null, if you don't want to add minification configuration automatically.

Type: String Default value: Unix time

The value is used for avoiding browser cache when update libraries.

Type: String Default value: .with-dependencies.unpack.js

File name suffix of concatenate with dependencies.

Type: String Default value: .with-dependencies.js

File name suffix of minified after concatenate with dependencies.

Type: String Default value: .unpack.js

File name suffix of origin source.

Type: String Default value: .js

File name suffix of minified source.

Type: String Default value: .amd.unpack.js

File name suffix of generated AMD source.

Type: String Default value: .amd.js

File name suffix of minify and generated AMD source.

In lieu of a formal styleguide, take care to maintain the existing coding style. Add unit tests for any new or changed functionality. Lint and test your code using Grunt.

(Nothing yet)