grunt-copycat

A combination copy and concatenation task designed for doing a careful merge of directories.

npm install grunt-copycat
12 downloads in the last month

grunt-copycat

A combination copy and concatenation task designed for doing a careful merge of directories.

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-copycat --save-dev

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

grunt.loadNpmTasks('grunt-copycat');

The "copycat" task

Overview

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

grunt.initConfig({
  copycat: {
    dirs : [dir1, dir2, dir3]
  },
})

Options

options.merge

This function will be called for every file. If it returns true, the task will concatenate the file instead of copying it.

Usage Examples

This example takes three directories and copies them to test/target/, with dir3 having the highest priority.

If the file has the .css extension, duplicate files within each directory will not be overwritten in test/target/, but will instead be concatenated.

grunt.initConfig({
  copycat: {
    example : {
      dirs : ["test/dir1", "test/dir2", "test/dir3"],
      dest : "test/target/",
      options: {
        merge : function(file) {
          if(file.split(".").pop()==="css") {
            return true;
          }

          return false;
        }
      }
    }
  },
})

Release History

  • Initial Commit
  • Tests and change to merge option functionality
  • Updated Readme
npm loves you