UNPKG

requisite

Version:
63 lines (58 loc) 2.05 kB
// Generated by CoffeeScript 1.12.4 var formatErrorMessage, path; path = require('path'); formatErrorMessage = function(source, filename, err) { var carets, col, first_column, first_line, l, last_column, last_line, lines, ref; ref = err.location, first_line = ref.first_line, last_line = ref.last_line, first_column = ref.first_column, last_column = ref.last_column; if (last_line == null) { last_line = first_line; } lines = source.split('\n'); l = lines[first_line]; lines[first_line] = (l.substring(0, first_column)) + '\x1B[91m' + l.substring(first_column); l = lines[last_line]; if (first_line === last_line) { col = last_column + 6; } else { col = last_column; } lines[last_line] = (l.substring(0, col)) + '\x1B[39m' + (l.substring(col)); lines = lines.slice(first_line, last_line + 1); carets = Array(first_column + 1).join(' ') + ("\x1B[91m" + (Array(last_column + 2 - first_column).join('^')) + "\x1B[39m"); lines.push(carets); return filename + ":" + (first_line + 1) + ":" + (first_column + 1) + ": " + err.name + ": " + err.message + "\n" + (lines.join('\n')) + "\n"; }; module.exports = function(options, callback) { var coffee, err, js, opts, ref, res, v3SourceMap; try { coffee = require('coffee-script'); } catch (error) { err = error; coffee = require('coffeescript'); } opts = { bare: true }; if (options.sourceMap) { opts.sourceMap = options.sourceMap; opts.filename = options.filename; opts.sourceFiles = [options.filename]; opts.sourceRoot = ''; } try { res = coffee.compile(options.source, opts); } catch (error) { err = error; if (err.location != null) { err.formattedMessage = formatErrorMessage(options.source, options.filename, err); } return callback(err); } if (res.v3SourceMap != null) { js = res.js, v3SourceMap = res.v3SourceMap; } else { ref = [res, void 0], js = ref[0], v3SourceMap = ref[1]; } return callback(null, js, v3SourceMap); }; //# sourceMappingURL=coffee.js.map