grunt-copycat

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

grunt-copycat

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

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

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

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

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;
        }
      }
    }
  },
})
  • Initial Commit
  • Tests and change to merge option functionality
  • Updated Readme