"Vc terá que criar uma task com clean e listar arquivo por arquivo que deseja apagar. Ou pode apagar quem não tenha min no nome."
Como sugerido pelo Flávio você pode manter todos os arquivos que foram minificados, identificados com o sufixo min, e remover todos os outros que não contenham o sufixo. A configuração para isso é a seguinte:
clean: {
nonDist: ['dist/**/*.js', 'dist/**/*.css', '!dist/**/*.min.js', '!dist/**/*.min.css']
}
ou simplesmente:
clean: {
nonDist: ['dist/**/*.js', 'dist/**/*.css', '!dist/**/*.min.*']
}
Nas instruções acima eu informo ao grunt-contrib-clean
que eu quero remover todos os arquivos .js e .css, que estejam em qualquer diretório ou subdiretório dentro de dist e manter (ou não remover, !
) os arquivos que contenham o sufixo .min.
A configuração completa do Gruntfile ficaria assim:
module.exports = function(grunt) {
grunt.initConfig({
copy: {
public: {
expand: true,
cwd: 'public',
src: '**',
dest: 'dist'
}
},
clean: {
dist: {
src: 'dist'
},
nonDist: ['dist/**/*.js', 'dist/**/*.css', '!dist/**/*.min.js', '!dist/**/*.min.css']
},
useminPrepare: {
html: 'dist/**/*.html'
},
usemin: {
html: 'dist/**/*.html'
}
});
grunt.registerTask('dist', ['clean', 'copy']);
grunt.registerTask('minifica', ['useminPrepare', 'concat:generated', 'uglify:generated', 'cssmin:generated', 'usemin']);
grunt.registerTask('default', ['dist', 'minifica', 'clean:nonDist']);
grunt.loadNpmTasks('grunt-contrib-copy');
grunt.loadNpmTasks('grunt-contrib-clean');
grunt.loadNpmTasks('grunt-contrib-concat');
grunt.loadNpmTasks('grunt-contrib-uglify');
grunt.loadNpmTasks('grunt-contrib-cssmin');
grunt.loadNpmTasks('grunt-usemin');
}