From e644f7244df3f712ef5a1d997695c19bd4e200bb Mon Sep 17 00:00:00 2001 From: FredyC Date: Thu, 1 Aug 2013 17:03:32 +0200 Subject: [PATCH] Using original existence check with mkdirp call on failure --- lib/coffee-script/command.js | 13 ++++++++++--- src/command.coffee | 6 ++++-- 2 files changed, 14 insertions(+), 5 deletions(-) diff --git a/lib/coffee-script/command.js b/lib/coffee-script/command.js index 10a20d37..b6ef7de8 100644 --- a/lib/coffee-script/command.js +++ b/lib/coffee-script/command.js @@ -427,11 +427,18 @@ }); } }; - return mkdirp(jsDir, function(err) { - if (!err) { + return exists(jsDir, function(itExists) { + var _this = this; + if (itExists) { return compile(); } else { - return exec("mkdir -p " + jsDir, compile); + return mkdirp(jsDir, function(err) { + if (err) { + printLine("Error while creating dir " + jsDir + ": " + err); + exec("mkdir -p " + jsDir); + } + return compile(); + }); } }); }; diff --git a/src/command.coffee b/src/command.coffee index 4c0aabf5..e397cbfa 100644 --- a/src/command.coffee +++ b/src/command.coffee @@ -284,8 +284,10 @@ writeJs = (base, sourcePath, js, jsPath, generatedSourceMap = null) -> fs.writeFile sourceMapPath, generatedSourceMap, (err) -> if err printLine "Could not write source map: #{err.message}" - mkdirp jsDir, (err) -> - unless err then compile() else exec "mkdir -p #{jsDir}", compile + exists jsDir, (itExists) -> + if itExists then compile() else mkdirp jsDir, (err) => + if err then printLine "Error while creating dir #{jsDir}: #{err}"; exec "mkdir -p #{jsDir}" + compile() # Convenience for cleaner setTimeouts. wait = (milliseconds, func) -> setTimeout func, milliseconds