Grunt glob -- can we only copy only what is changed and keep the file structure?

1k Views Asked by At

This question, I believe, can be applied to a variety of grunt tasks. I will use grunt-contrib-coffee in my example.

I have a dev directory with a complex file structure and a bunch of coffee files. When developing, I use this coffee task to copy all the files to a srv_dev directory.

coffee:
  srv_dev:
    files: [
      cwd: 'dev/'
      src: ['**/*.coffee', '!bower_components/**']
      dest: 'srv_dev/'
      expand: true
      ext: '.js'
    ]
    options:
      bare: true
      sourceMap: true

This keeps the structure intact and works okay, except that whenever I modify a file, it triggers a watch task which re-runs the coffee task. So every time I modify any one file, all of my coffee files are moved and re-compiled.

Is it possible to compile, and copy to a new directory, only the coffee files that are modified, while keeping the original directory structure?

1

There are 1 best solutions below

0
dezman On

This is the best answer, upvote @Norris.

It uses grunt-newer and is easy as pie.