Configure grunt copy task to exclude files/folders

Found the solution:

There is no need for these lines:

files: [ 
          {src: ['.conf1', '.conf2', './config.js'], dest: 'output/toolkit/', filter: 'isFile'},
          {src: ['./css/**/*', './img/**/*', './js/**/*', './release/**/*', './lib/**/*', './locale/**/*'], dest: 'output/toolkit/'},
          {expand: true, cwd: './', src: ['**'], dest: 'output/'}
       ]

because {expand: true, cwd: './', src: ['**'], dest: 'output/'} is a new copy step, copying all files from ./ to output. Which is for me not needed, because the above lines are already copying the required files to output/toolkit.

So the following two lines does the job. No need for options or anything else. To keep out the *.less files '!**/*.less' does the job.

files: [ 
          {src: ['.conf1', '.conf2', 'config.js'], dest: 'output/toolkit/', filter: 'isFile'},
          {src: ['css/**', 'img/**', 'js/**', 'release/**', 'lib/**', 'locale/**', '!**/*.less'], dest: 'output/toolkit/'}
       ]

Leave a Comment