add jstransform benchmark

This commit is contained in:
Sebastian McKenzie 2014-10-09 08:45:23 +11:00
parent 4e917a813d
commit b162bced43
2 changed files with 27 additions and 8 deletions

View File

@ -23,13 +23,13 @@ class Bar extends Foo {
}
get foo() {
return this._foo;
}
set foo(val) {
this._foo = val + " foo!";
}
// not supported by jstransform
//get foo() {
// return this._foo;
//}
//set foo(val) {
// this._foo = val + " foo!";
//}
}
// arrow functions

View File

@ -1,5 +1,6 @@
Error.stackTraceLimit = Infinity;
var jsTrans = require("jstransform");
var traceur = require("traceur");
var es6tr = require("es6-transpiler");
var es6now = require("es6now");
@ -17,10 +18,22 @@ var readResolve = function (filename) {
return fs.readFileSync(require.resolve(filename), "utf8");
};
var jsTransVisitors = [];
_.each([
"arrow-function-visitors", "class-visitors", "destructuring-visitors",
"object-concise-method-visitors", "object-short-notation-visitors",
"rest-param-visitors", "template-visitors"
], function (name) {
var mod = require("jstransform/visitors/es6-" + name);
jsTransVisitors = jsTransVisitors.concat(mod.visitorList);
});
var compilers = {
"6to5": {
compile: function (code, filename) {
return to5.transform(code, { filename: filename });
return to5.transform(code, { filename: filename }).code;
}
},
@ -54,6 +67,12 @@ var compilers = {
if (result.errors.length) throw new Error(result.join("; "));
return result.src;
}
},
jstransform: {
compile: function (code, filename) {
return jsTrans.transform(jsTransVisitors, code).code;
}
}
};