mirror of
https://github.com/jashkenas/coffeescript.git
synced 2026-05-03 03:00:14 -04:00
Allow required files to change the input and output of compiled files.
This commit is contained in:
@@ -95,7 +95,7 @@
|
||||
return _d;
|
||||
};
|
||||
compileScript = function(source, code, base) {
|
||||
var _d, _e, _f, codeOpts, file, js, o;
|
||||
var _d, _e, _f, _g, _h, codeOpts, file, js, o, task;
|
||||
o = options;
|
||||
codeOpts = compileOptions(source);
|
||||
if (o.require) {
|
||||
@@ -106,12 +106,21 @@
|
||||
}
|
||||
}
|
||||
try {
|
||||
CoffeeScript.emit('compile', {
|
||||
CoffeeScript.emit('compile', (task = {
|
||||
source: source,
|
||||
code: code,
|
||||
base: base,
|
||||
options: options
|
||||
});
|
||||
options: options,
|
||||
codeOpts: codeOpts
|
||||
}));
|
||||
if (CoffeeScript.listeners('compile')) {
|
||||
_g = task;
|
||||
source = _g.source;
|
||||
code = _g.code;
|
||||
base = _g.base;
|
||||
options = _g.options;
|
||||
codeOpts = _g.codeOpts;
|
||||
}
|
||||
if (o.tokens) {
|
||||
return printTokens(CoffeeScript.tokens(code));
|
||||
} else if (o.nodes) {
|
||||
@@ -119,8 +128,12 @@
|
||||
} else if (o.run) {
|
||||
return CoffeeScript.run(code, codeOpts);
|
||||
} else {
|
||||
js = CoffeeScript.compile(code, codeOpts);
|
||||
CoffeeScript.emit('success', js);
|
||||
js = (task.js = CoffeeScript.compile(code, codeOpts));
|
||||
CoffeeScript.emit('success', task);
|
||||
if (CoffeeScript.listeners('success')) {
|
||||
_h = task;
|
||||
js = _h.js;
|
||||
}
|
||||
if (o.print) {
|
||||
return print(js);
|
||||
} else if (o.compile) {
|
||||
@@ -130,7 +143,7 @@
|
||||
}
|
||||
}
|
||||
} catch (err) {
|
||||
CoffeeScript.emit('failure', err);
|
||||
CoffeeScript.emit('failure', err, task);
|
||||
if (CoffeeScript.listeners('failure').length) {
|
||||
return null;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user