node package manager



This is based on grunt usemin. It will create a json file that includes all usemin blocks and src's. It also can extract the raw script blocks and extend there path.

The whole purpose of this plugin is to extract the usemin blocks from your code to reuse as either templates of in other parts of your build process.

In my case I am useing it to do continues testing. my usemin blocks can be copied to my karma.conf and inside my jasmine reporter.

Getting Started

This plugin requires Grunt ~0.4.1

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-usemin-list --save-dev

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


The "useminlist" task


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

  useminlist: {
    html: 'path/to/html/index.html',
    options: {
      dest: 'path/to/output/json/list.json',
      type: 'js', //this is the type of usemin block 
      log: false, //log to console 
      extraction:{  // extract html into there own templates 
        path: 'path/to/template/blocks/',
        templateType: 'html',
        srcAppend: '../app/'



Type: String

This is the var that is used to declare where you want you json output to be.


Type: String

This is the file type as declared by usemin comment blocks.


Type: Boolean

Declares if you would like to see the json object logged in the console.


Type: Object

If this exsists an attempt to create templates of the raw html blocks will be made.


Type: String

This declares the path to the location you would like you raw extracted templates.


Type: String

This is the file extention appended to your extracted raw files.


Type: String

This will modify the src paths on all of your raw template src tags.


<script src="stuff.js"></script>
<script src="other/stuff2.js"></script>

This will become

<script src="../folder1/folder2/stuff.js"></script>
<script src="../folder1/folder2/other/stuff2.js"></script>

Usage Examples

This is a TODO:

Default Options

Custom Options


Release History

0.1.4 started project