diff options
Diffstat (limited to 'bench/snippets')
-rw-r--r-- | bench/snippets/package.json | 12 | ||||
-rw-r--r-- | bench/snippets/transpiler.mjs | 26 |
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)); +} |