Skip to content

Instantly share code, notes, and snippets.

@ben-x9
Last active August 29, 2015 14:25
Show Gist options
  • Save ben-x9/0bdf7e7278c4db235585 to your computer and use it in GitHub Desktop.
Save ben-x9/0bdf7e7278c4db235585 to your computer and use it in GitHub Desktop.
// Use this file instead of coffee-script/register
require('coffee-script/register');
require('regenerator/runtime');
var CoffeeScript = require('coffee-script');
var recast = require('recast');
var regenerator = require('regenerator');
var convertSourceMap = require('convert-source-map');
require.extensions['.coffee'] = function (module, filename) {
var answer = CoffeeScript._compileFile(filename, true);
var ast = recast.parse(answer.js, {sourceFileName: 'source'});
ast = regenerator.transform(ast);
result = recast.print(ast, {
inputSourceMap: JSON.parse(answer.v3SourceMap),
sourceMapName: 'map'
});
var inlineSourceMap = convertSourceMap
.fromObject(result.map)
.setProperty('file', '')
.setProperty('sources', ['file://' + filename])
.toComment();
var js = result.code + '\n' + inlineSourceMap;
module._compile(js, filename);
};
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment