Skip to content

Commit a52d751

Browse files
committed
The grunt.file.delete method warns and returns false if file doesn't exist. Closes gruntjsgh-635, gruntjsgh-714.
1 parent a54c57f commit a52d751

File tree

2 files changed

+11
-0
lines changed

2 files changed

+11
-0
lines changed

lib/grunt/file.js

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -334,6 +334,12 @@ file.delete = function(filepath, options) {
334334

335335
grunt.verbose.write((nowrite ? 'Not actually deleting ' : 'Deleting ') + filepath + '...');
336336

337+
if (!file.exists(filepath)) {
338+
grunt.verbose.error();
339+
grunt.log.warn('Cannot delete nonexistent file.');
340+
return false;
341+
}
342+
337343
// Only delete cwd or outside cwd if --force enabled. Be careful, people!
338344
if (!options.force) {
339345
if (file.isPathCwd(filepath)) {

test/grunt/file_test.js

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -569,6 +569,11 @@ exports['file'] = {
569569
grunt.file.setBase(oldBase);
570570
test.done();
571571
},
572+
'delete nonexistent file': function(test) {
573+
test.expect(1);
574+
test.ok(!grunt.file.delete('nonexistent'), 'should return false if file does not exist.');
575+
test.done();
576+
},
572577
'delete outside working directory': function(test) {
573578
test.expect(3);
574579
var oldBase = process.cwd();

0 commit comments

Comments
 (0)