diff --git a/lib/6to5/file.js b/lib/6to5/file.js index 04c0b2ab56..b530a20833 100644 --- a/lib/6to5/file.js +++ b/lib/6to5/file.js @@ -22,8 +22,7 @@ File.normaliseOptions = function (opts) { blacklist: [], whitelist: [], sourceMap: false, - filename: "unknown", - format: {} + filename: "unknown" }); _.defaults(opts, { @@ -80,14 +79,6 @@ File.prototype.transform = function (ast) { transformer.transform(self); }); - var body = ast.program.body; - - _.each(this.declarations, function (declar) { - body.unshift(b.variableDeclaration("var", [ - b.variableDeclarator(declar.uid, declar.node) - ])); - }); - return this.generate(); }; @@ -95,7 +86,10 @@ File.prototype.generate = function () { var opts = this.opts; var ast = this.ast; - var printOpts = {}; + var printOpts = { + tabWidth: 2 + }; + if (opts.sourceMap) { printOpts.sourceMapName = opts.sourceMapName; } diff --git a/lib/6to5/transform.js b/lib/6to5/transform.js index 203d5fa7dd..60324824d3 100644 --- a/lib/6to5/transform.js +++ b/lib/6to5/transform.js @@ -39,11 +39,13 @@ transform.test = function (task, assert) { var actualCode = actual.code.trim(); var expectCode = expect.code.trim(); + var printOpts = { tabWidth: 2 }; + result = transform(actualCode, getOpts(actual.filename)); - actualCode = recast.prettyPrint(result.ast).code; + actualCode = recast.prettyPrint(result.ast, printOpts).code; var expectAst = util.parse(expect, expectCode); - var expectResult = recast.prettyPrint(expectAst); + var expectResult = recast.prettyPrint(expectAst, printOpts); expectCode = expectResult.code; assert.equal(actualCode, expectCode); @@ -98,7 +100,9 @@ transform.transformers = { jsx: require("./transformers/jsx"), _aliasFunctions: require("./transformers/_alias-functions"), - _blockHoist: require("./transformers/_block-hoist") + _blockHoist: require("./transformers/_block-hoist"), + _declarations: require("./transformers/_declarations"), + _useStrict: require("./transformers/_use-strict") }; _.each(transform.transformers, function (transformer, key) { diff --git a/lib/6to5/transformers/_declarations.js b/lib/6to5/transformers/_declarations.js new file mode 100644 index 0000000000..b67c215e07 --- /dev/null +++ b/lib/6to5/transformers/_declarations.js @@ -0,0 +1,12 @@ +var b = require("recast").types.builders; +var _ = require("lodash"); + +module.exports = function (ast, file) { + var body = ast.program.body; + + _.each(file.declarations, function (declar) { + body.unshift(b.variableDeclaration("var", [ + b.variableDeclarator(declar.uid, declar.node) + ])); + }); +};