Skip to content

Instantly share code, notes, and snippets.

@jarek-foksa
Last active January 1, 2016 18:59
Show Gist options
  • Select an option

  • Save jarek-foksa/8187387 to your computer and use it in GitHub Desktop.

Select an option

Save jarek-foksa/8187387 to your computer and use it in GitHub Desktop.
var traceur = require('traceur');
traceur.options.blockBinding = true;
traceur.options.sourceMaps = true;
//traceur.options.strictSemicolons = true; // @bug: does not work with classes currently
traceur.options.deferredFunctions = true;
traceur.options.modules = true; // 'nodejs'
//
// Compile the content from ES6 to ES5
//
var ErrorReporter = traceur.util.ErrorReporter;
var SourceFile = traceur.syntax.SourceFile;
var Parser = traceur.syntax.Parser;
var FromOptionsTransformer = traceur.codegeneration.FromOptionsTransformer;
var TreeWriter = traceur.outputgeneration.TreeWriter;
var errorReporter = new ErrorReporter();
var sourceFile = new SourceFile(relPath, content);
var sourceMapGenerator = new traceur.outputgeneration.SourceMapGenerator({file: relPath});
var parser = new Parser(errorReporter, sourceFile);
var tree = parser.parseModule();
tree.url = relPath;
var transformer = new FromOptionsTransformer(errorReporter);
var transformed = transformer.transform(tree);
var options = {sourceMapGenerator: sourceMapGenerator};
var compiledContent = TreeWriter.write(transformed, options);
var sourceMap = options.sourceMap;
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment