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 NameTypeRequiredDefault valueValue of meaning
namespaceString*Library namespace
pathStringLibrary path
destStringDestination directory path
urlStringLibrary URL
dependenciesArray<String>*[]Dependents namespace
concatBooleantrueConcatenate scripts
minBooleantrueMinify script
amd pathStringUse AMD script path instead of path value
amd destStringDestination directory path for AMD script
amd urlStringAMD script URL
amd exportsBoolean or StringExport specified value instead of namespace. if value is false, ignore to export namespace

See example recipe.json

Grunt will output below

File nameValue of meaning
recipe.version.jsVersion of libraries
recipe.dependencies.jsLibraries dependencies
${librarieName}.with-dependencies.jsConcat and minified origin with dependencies
${librarieName}.with-dependencies.unpack.jsConcat origin with dependencies
${librarieName}.jsMinified origin source
${librarieName}.unpack.jsOrigin source
${librarieName}.amd.jsMinified AMD packed source
${librarieName}.amd.unpack.jsAMD 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)