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() { // not supported by jstransform
return this._foo; //get foo() {
} // return this._foo;
//}
set foo(val) { //set foo(val) {
this._foo = val + " foo!"; // this._foo = val + " foo!";
} //}
} }
// arrow functions // arrow functions

View File

@ -1,5 +1,6 @@
Error.stackTraceLimit = Infinity; Error.stackTraceLimit = Infinity;
var jsTrans = require("jstransform");
var traceur = require("traceur"); var traceur = require("traceur");
var es6tr = require("es6-transpiler"); var es6tr = require("es6-transpiler");
var es6now = require("es6now"); var es6now = require("es6now");
@ -17,10 +18,22 @@ var readResolve = function (filename) {
return fs.readFileSync(require.resolve(filename), "utf8"); 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 = { var compilers = {
"6to5": { "6to5": {
compile: function (code, filename) { 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("; ")); if (result.errors.length) throw new Error(result.join("; "));
return result.src; return result.src;
} }
},
jstransform: {
compile: function (code, filename) {
return jsTrans.transform(jsTransVisitors, code).code;
}
} }
}; };