aboutsummaryrefslogtreecommitdiff
path: root/bench/snippets
diff options
context:
space:
mode:
Diffstat (limited to 'bench/snippets')
-rw-r--r--bench/snippets/package.json12
-rw-r--r--bench/snippets/transpiler.mjs26
2 files changed, 35 insertions, 3 deletions
diff --git a/bench/snippets/package.json b/bench/snippets/package.json
new file mode 100644
index 000000000..1025e4fd8
--- /dev/null
+++ b/bench/snippets/package.json
@@ -0,0 +1,12 @@
+{
+ "name": "snippets",
+ "version": "1.0.0",
+ "main": "index.js",
+ "license": "MIT",
+ "dependencies": {
+ "@babel/core": "^7.16.10",
+ "@babel/preset-react": "^7.16.7",
+ "@swc/core": "^1.2.133",
+ "esbuild": "^0.14.12"
+ }
+}
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));
+}