move declaration insertion to a hidden transformer, add tabWidth to recast prettyPrint
This commit is contained in:
parent
234d9997c8
commit
d3b088cc6d
@ -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;
|
||||
}
|
||||
|
||||
@ -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) {
|
||||
|
||||
12
lib/6to5/transformers/_declarations.js
Normal file
12
lib/6to5/transformers/_declarations.js
Normal file
@ -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)
|
||||
]));
|
||||
});
|
||||
};
|
||||
Loading…
x
Reference in New Issue
Block a user