javascript - Removing old files after grunt usemin with filerev -


i using usemin generate js , css files - in pretty standard way.

only problem having remove old compiled files dist.

my grunt config is:

grunt.registertask('build',['jshint','copy','html2js:main','useminprepare','concat:generated','cssmin:generated','uglify:generated','filerev','usemin','html2js:embed','clean:build']); grunt.initconfig({         pkg: grunt.file.readjson('package.json'),         default: {},                     useminprepare: {             html: 'index.html',             options: {                 dest: 'dist',                 flow: {                     steps: {                         nominjs: ['concat'],                         js: ['concat','uglifyjs'],                         css: ['concat','cssmin']                     },                     post: {}                 }             }         },         filerev: {             options: {                 encoding: 'utf8',                 algorithm: 'md5',                 length: 8             },             source: {                 files: [{                     src: [                         'dist/assets/css/ipp-styles.min.css',                         'dist/scripts/ipp-scripts.min.js',                         'dist/scripts/ipp-libs.js',                         'dist/scripts/ipp-templates.min.js'                     ]                 }]             }         },         usemin: {             html:['dist/index.html'],             options: {                 blockreplacements: {                     nominjs: function(block){                         return '<script src="'+block.dest+'"></script>';                     }                 }             }         },         clean: {             build: ['.tmp']         },         copy: {               html: {                 files: [                     {expand:true, src:['index.html'], dest: 'dist'},                     {expand:true, src:['.htaccess'], dest: 'dist'}                                         ]             },             assets: {                 files: [                     {expand:true, src:['assets/images/**','assets/fonts/**','assets/js/**'], dest: 'dist'}                 ]             },             libs: {                 files: [                     {expand:true, src:['libs/forge.min.js'], dest: 'dist'},                 ]             },             config: {                 files: [                     {expand:true, src:['config/config_diff.js'], dest:'dist', rename: function(dest,src){                         return dest + '/' + src.replace(/\.js$/,"_sample.js");                     }},                 ]             }                         },         jshint: {             options: {                 force: true,                 esnext: true             },             all: [                 'config/*.js',                 'scripts/**/*.js',                 '!scripts/ipp-scripts*'             ]         },         uglify: {             options: {                 compress: {                     drop_console: true                 }             }         },                     html2js: {             main: {                 options: {                     base:''                 },                 src: ['views/**/*.html'],                 dest: 'dist/scripts/templates.js'             }         }     }); 

nothing special say. works great, "problem" having after couple of builds end this:

enter image description here

and have go , manually remove old files.

is there way remove them during grunt run ? remove "ipp-scripts.min*" after run, need exclude 1 used...

thank advice

i guess wasn't thinking straight when setting up. solution easier expected.

simply:

clean: {             dist: [                 'dist/assets/css/ipp-styles.min*',                 'dist/scripts/ipp-scripts.min*',                 'dist/scripts/ipp-libs.min*',                 'dist/scripts/ipp-templates.min*'             ]         }, 

and run first task in build.

this remove compiled files first , compile new ones.

i think confused me thought if dont have last compiled, filerev gonna mark latest file new stamp , therefore force re-load on user browsers. stamp added file somehow counted (probably) content sum, if delete file first , dont change file same name generated.

i realize still not ultimate solution on how remove other files 1 included in index, not gonna accept own answer.


Comments