From 371ff5e726eb0e8699795c75ea10f91cf689b270 Mon Sep 17 00:00:00 2001 From: John Yanarella Date: Tue, 24 May 2011 15:01:35 -0400 Subject: [PATCH] Fixed silently failing command line --join functionality when directories are specified for compilation. --- lib/command.js | 8 ++++---- src/command.coffee | 8 ++++---- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/lib/command.js b/lib/command.js index fa2fe2e3..47e84141 100644 --- a/lib/command.js +++ b/lib/command.js @@ -60,7 +60,7 @@ for (_i = 0, _len = sources.length; _i < _len; _i++) { source = sources[_i]; base = path.join(source); - compile = function(source, topLevel) { + compile = function(source, sourceIndex, topLevel) { return path.exists(source, function(exists) { if (topLevel && !exists) { throw new Error("File not found: " + source); @@ -75,14 +75,14 @@ _results2 = []; for (_j = 0, _len2 = files.length; _j < _len2; _j++) { file = files[_j]; - _results2.push(compile(path.join(source, file))); + _results2.push(compile(path.join(source, file), sourceIndex)); } return _results2; }); } else if (topLevel || path.extname(source) === '.coffee') { fs.readFile(source, function(err, code) { if (opts.join) { - contents[sources.indexOf(source)] = code.toString(); + contents[sourceIndex] = helpers.compact([contents[sourceIndex], code.toString()]).join('\n'); if (helpers.compact(contents).length > 0) { return compileJoin(); } @@ -97,7 +97,7 @@ }); }); }; - _results.push(compile(source, true)); + _results.push(compile(source, sources.indexOf(source), true)); } return _results; }; diff --git a/src/command.coffee b/src/command.coffee index 8bfc589c..0e2f438e 100644 --- a/src/command.coffee +++ b/src/command.coffee @@ -76,7 +76,7 @@ exports.run = -> compileScripts = -> for source in sources base = path.join(source) - compile = (source, topLevel) -> + compile = (source, sourceIndex, topLevel) -> path.exists source, (exists) -> throw new Error "File not found: #{source}" if topLevel and not exists fs.stat source, (err, stats) -> @@ -84,16 +84,16 @@ compileScripts = -> if stats.isDirectory() fs.readdir source, (err, files) -> for file in files - compile path.join(source, file) + compile path.join(source, file), sourceIndex else if topLevel or path.extname(source) is '.coffee' fs.readFile source, (err, code) -> if opts.join - contents[sources.indexOf source] = code.toString() + contents[sourceIndex] = helpers.compact([contents[sourceIndex], code.toString()]).join('\n') compileJoin() if helpers.compact(contents).length > 0 else compileScript(source, code.toString(), base) watch source, base if opts.watch and not opts.join - compile source, true + compile source, sources.indexOf(source), true # Compile a single source script, containing the given code, according to the # requested options. If evaluating the script directly sets `__filename`,