Fixed silently failing command line --join functionality when directories are specified for compilation.

This commit is contained in:
John Yanarella 2011-05-24 15:01:35 -04:00
parent 19520d8d35
commit 371ff5e726
2 changed files with 8 additions and 8 deletions

View File

@ -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;
};

View File

@ -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`,