UNPKG

requisite

Version:

A cosmic javascript bundler.

52 lines (48 loc) 1.89 kB
// Generated by CoffeeScript 1.7.1 var formatErrorMessage; 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; 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, coffeeOpts, err, js, res, v3SourceMap, _ref; coffee = require('coffee-script'); coffeeOpts = { bare: true }; if (options.sourceMap) { coffeeOpts.sourceMap = options.sourceMap; coffeeOpts.filename = options.filename; coffeeOpts.sourceFiles = [options.filename]; } try { res = coffee.compile(options.source, coffeeOpts); } 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.map