grunt-recipe

create dependencies.json for recipe.js

npm install grunt-recipe
40 downloads in the last week
41 downloads in the last month

grunt-recipeBuild Status NPM version

Generate scripts for recipe.js

Getting Started

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');

The "recipe" task

Overview

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"]
      }
    },
  },
})

Prepare for execute

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

Output

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

Options

options.concat

Type: String Default value: 'concat'

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

options.min

Type: String Default value: 'uglify'

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

options.version

Type: String Default value: Unix time

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

options.concatUnpackSuffix

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

File name suffix of concatenate with dependencies.

options.concatMinSuffix

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

File name suffix of minified after concatenate with dependencies.

options.originUnpackSuffix

Type: String Default value: .unpack.js

File name suffix of origin source.

options.originMinSuffix

Type: String Default value: .js

File name suffix of minified source.

options.amdUnpackSuffix

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

File name suffix of generated AMD source.

options.amdMinSuffix

Type: String Default value: .amd.js

File name suffix of minify and generated AMD source.

Contributing

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.

Release History

(Nothing yet)

npm loves you