import { readFileSync } from "fs"; import { dirname } from "path"; import { fileURLToPath } from "url"; import { bench, run, group } from "./runner.mjs"; import { createRequire } from "module"; const require = createRequire(import.meta.url); const esbuild_ = require("esbuild/lib/main"); const swc_ = require("@swc/core"); const babel_ = require("@babel/core"); const code = readFileSync(dirname(fileURLToPath(import.meta.url)) + "/../../src/test/fixtures/simple.jsx", "utf-8"); async function getWithName(name) { let transformSync; let transform; let opts; if (name === "bun") { const transpiler = new Bun.Transpiler({ loader: "jsx" }); transformSync = transpiler.transformSync.bind(transpiler); transform = transpiler.transform.bind(transpiler); opts = "jsx"; } else if (name === "esbuild") { try { transformSync = esbuild_.transformSync; transform = esbuild_.transform; opts = { loader: "jsx" }; } catch (exception) { throw exception; } } else if (name === "swc") { try { transformSync = swc_.transformSync; transform = swc_.transform; opts = { sourceMaps: false, inlineSourcesContent: false, jsc: { target: "es2022", parser: { jsx: true, }, }, }; } catch (exception) { throw exception; } } else if (name === "babel") { try { transformSync = babel_.transformSync; transform = babel_.transform; opts = { sourceMaps: false, presets: ["@babel/preset-react"], }; } catch (exception) { throw exception; } } return { transformSync, transform, opts, name, }; } const bun = process.isBun ? await getWithName("bun") : null; const esbuild = await getWithName("esbuild"); const swc = await getWithName("swc"); const babel = await getWithName("babel"); const transpilers = [bun, esbuild, swc, babel].filter(Boolean); group("transformSync (" + ((code.length / 1024) | 0) + " KB jsx file)", () => { for (let { name, transformSync, opts } of transpilers) { bench(name, () => { transformSync(code, opts); }); } }); group("tranform x 5", () => { for (let { name, transform, opts } of transpilers) { bench(name, async () => { return Promise.all([ transform(code, opts), transform(code + "\n", opts), transform("\n" + code + "\n", opts), transform("\n" + code + "\n\n", opts), transform("\n\n" + code + "\n\n", opts), ]); }); } }); await run(); stall-tag-without-dash'>dave/install-tag-without-dash Unnamed repository; edit this file 'description' to name the repository.
aboutsummaryrefslogtreecommitdiff
path: root/src/node-fallbacks/buffer.js (unfollow)
AgeCommit message (Expand)AuthorFilesLines
2022-11-06Automatically install npm packages when running a script in Bun's runtime (#1...Gravatar Jarred Sumner 35-1786/+5529
2022-11-06chore: remove space lookalike (#1465)Gravatar Carter Snook 2-2/+2
2022-11-06Fixes https://github.com/oven-sh/bun/issues/1451Gravatar Jarred Sumner 1-1/+7
2022-11-06Add way to explicitly coercion object to int32Gravatar Jarred Sumner 11-18/+55
2022-11-06Fix symbol error with `make headers`Gravatar Jarred Sumner 1-0/+3
2022-11-06Fix bug when passing ABI Types as integersGravatar Jarred Sumner 1-3/+5
2022-11-06Fixes https://github.com/oven-sh/bun/issues/1462Gravatar Jarred Sumner 2-4/+28
2022-11-06UndoGravatar Jarred Sumner 4-59/+12
2022-11-06Update action.ymlGravatar Jarred Sumner 1-1/+0
2022-11-06PrettierGravatar Jarred Sumner 1-1/+1
2022-11-06Pass `tar -C`Gravatar Jarred Sumner 4-6/+53
2022-11-06[TypeScript] Fix `export = value`Gravatar Jarred Sumner 2-0/+5
2022-11-06Fix artifact name, use tarballGravatar Jarred Sumner 3-12/+11
2022-11-06Try tarballGravatar Jarred Sumner 1-4/+4
2022-11-06Try againGravatar Jarred Sumner 4-0/+4
2022-11-06Node12 is deprecatedGravatar Jarred Sumner 4-28/+32
2022-11-06feat(child_process): add node:child_process polyfill (#1424)Gravatar Derrick Farris 4-3/+2756
2022-11-06fix(subprocess): fix typo in spawnSync (#1464)Gravatar Derrick Farris 1-2/+2
2022-11-05Fix fetch api to accept stringifier object (#1460)Gravatar zhiyuan 2-11/+25
2022-11-03Fix crash in setTimeout/setIntervalGravatar Jarred Sumner 1-0/+5
2022-11-03Fix incorrect exit codeGravatar Jarred Sumner 1-9/+15
2022-11-03Fix crash when reading promise value wihtout checking if nullGravatar Jarred Sumner 1-0/+1
2022-11-03Fix `which` not handling absolute paths to a binGravatar Jarred Sumner 1-3/+20
2022-11-03Fix `cmd not found in $PATH` printing raw structGravatar Jarred Sumner 1-1/+1
2022-11-03Delete unused fileGravatar Jarred Sumner 1-97/+0
2022-11-03Add minified prod build of react-dom/server.bun (#1458)Gravatar Colin McDonnell 2-6819/+138
2022-11-03chore: remove unecessary files (#1457)Gravatar Hyro 2-118/+0
2022-11-03Introduce `import.meta.primordials` for builtin JSGravatar Jarred Sumner 5-3/+95