aboutsummaryrefslogtreecommitdiff
path: root/bench/snippets/transpiler.mjs
diff options
context:
space:
mode:
authorGravatar Jarred Sumner <jarred@jarredsumner.com> 2022-01-21 05:09:58 -0800
committerGravatar Jarred Sumner <jarred@jarredsumner.com> 2022-01-21 05:09:58 -0800
commit8f7cf6bf476016280c453da53e45c040761be1d6 (patch)
tree4ea29a2d7919e37b3065e9feed3c263e24339566 /bench/snippets/transpiler.mjs
parent4a7b5892af2b16a9ddff960a30a0dbb43c331370 (diff)
downloadbun-8f7cf6bf476016280c453da53e45c040761be1d6.tar.gz
bun-8f7cf6bf476016280c453da53e45c040761be1d6.tar.zst
bun-8f7cf6bf476016280c453da53e45c040761be1d6.zip
little
Diffstat (limited to 'bench/snippets/transpiler.mjs')
-rw-r--r--bench/snippets/transpiler.mjs26
1 files changed, 23 insertions, 3 deletions
diff --git a/bench/snippets/transpiler.mjs b/bench/snippets/transpiler.mjs
index b4c1d390d..e3abf266c 100644
--- a/bench/snippets/transpiler.mjs
+++ b/bench/snippets/transpiler.mjs
@@ -1,23 +1,27 @@
import { readFileSync } from "fs";
var transformSync;
+var transform;
var opts;
if (process.isBun) {
const transpiler = new Bun.Transpiler({ loader: "jsx" });
transformSync = transpiler.transformSync.bind(transpiler);
+ transform = transpiler.transform.bind(transpiler);
opts = "jsx";
-} else if (process.env["USE_ESBUILD"]) {
+} else if (process.env["esbuild"]) {
try {
const esbuild = await import("esbuild");
transformSync = esbuild.transformSync;
+ transform = esbuild.transform;
opts = { loader: "jsx" };
} catch (exception) {
throw exception;
}
-} else if (process.env["USE_SWC"]) {
+} else if (process.env["swc"]) {
try {
const swc = await import("@swc/core");
transformSync = swc.transformSync;
+ transform = swc.transform;
opts = {
sourceMaps: false,
inlineSourcesContent: false,
@@ -31,8 +35,24 @@ if (process.isBun) {
} catch (exception) {
throw exception;
}
+} else if (process.env["babel"]) {
+ try {
+ const swc = await import("@babel/core");
+ transformSync = swc.transformSync;
+ transform = swc.transform;
+ opts = {
+ sourceMaps: false,
+ presets: [(await import("@babel/preset-react")).default],
+ };
+ } catch (exception) {
+ throw exception;
+ }
}
const code = readFileSync("src/test/fixtures/simple.jsx", "utf8");
-transformSync(code, opts);
+if (process.env.SYNC) {
+ console.log(transformSync(code, opts));
+} else {
+ console.log(await transform(code, opts));
+}