diff --git a/lib/coffee-script/coffee-script.js b/lib/coffee-script/coffee-script.js index a6c0232a..df1a8512 100644 --- a/lib/coffee-script/coffee-script.js +++ b/lib/coffee-script/coffee-script.js @@ -38,17 +38,16 @@ if (options == null) options = {}; merge = exports.helpers.merge; try { - if (options.header) { - header = "// Generated by CoffeeScript " + this.VERSION + "\n"; - } js = (parser.parse(lexer.tokenize(code))).compile(options); - return "" + [header] + js; + if (!options.header) return js; } catch (err) { if (options.filename) { err.message = "In " + options.filename + ", " + err.message; } throw err; } + header = "Generated by CoffeeScript " + this.VERSION; + return "// " + header + "\n" + js; }; exports.tokens = function(code, options) { diff --git a/src/coffee-script.coffee b/src/coffee-script.coffee index 8ce90b34..043de3ac 100644 --- a/src/coffee-script.coffee +++ b/src/coffee-script.coffee @@ -34,12 +34,13 @@ exports.helpers = require './helpers' exports.compile = compile = (code, options = {}) -> {merge} = exports.helpers try - header = "// Generated by CoffeeScript #{@VERSION}\n" if options.header js = (parser.parse lexer.tokenize code).compile options - "#{[header]}#{js}" + return js unless options.header catch err err.message = "In #{options.filename}, #{err.message}" if options.filename throw err + header = "Generated by CoffeeScript #{@VERSION}" + "// #{header}\n#{js}" # Tokenize a string of CoffeeScript code, and return the array of tokens. exports.tokens = (code, options) ->