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(); /install-tag-without-dash'>dave/install-tag-without-dash Unnamed repository; edit this file 'description' to name the repository.
aboutsummaryrefslogtreecommitdiff
path: root/SECURITY.md (unfollow)
AgeCommit message (Collapse)AuthorFilesLines
2023-09-13Fixed api & cli docs typo. (#5262)Gravatar James Gordo 3-4/+4
* Fixed api & cli docs typo. * Fix --------- Co-authored-by: Colin McDonnell <colinmcd94@gmail.com>
2023-09-13chore(docs): include missing links to Node.js APIs (#5281)Gravatar Steven 1-2/+2
These links make it easy to click and jump to another section.
2023-09-13docs(guide): fix expect assertion example in guide for `spyOn` (#5294)Gravatar wing 1-1/+1
Fixes example with `spyOn` and assertions. The example failed because the spied function would be called once but the expectation asserted 0 calls.
2023-09-13add uninstall instructions (#5311)Gravatar Andrew Brown 1-0/+24
it's always good to have uninstall instructions as well as install, and I couldn't find them anywhere else on the site. IMO, this gives users a little more confidence to try new tools out, as they know it's easily reversible. I'm not familiar with how to uninstall with Docker, so would appreciate some help there. We could possibly add a note for "bash" on how to remove Bun from the `$PATH`.
2023-09-13docs: update lockfile diff instructions (#5275)Gravatar Guilherme J. Tramontina 1-3/+7
2023-09-13fix(node/fetch): Make data URL fetch consistent with node (#5126)Gravatar David Hewitt 2-7/+37
2023-09-13avoid inserting extraneous"accept-encoding" header (#5057)Gravatar iidebyo 2-1/+22
* add no extraneous accept-encoding header test * ensure fetch honors no decompress opt * fix format on test/js/node/http/node-http.test.ts
2023-09-13docs(runtime): fix plugins loader extensions typo (#5250)Gravatar Zong 1-1/+1
2023-09-13chore: make comment grammatically correct (#5140)Gravatar Gareth Jones 1-1/+1
2023-09-13Add informative message on 'bun create react' (#5248)Gravatar Colin McDonnell 1-0/+22
2023-09-13docs(runtime): fix jsx FragmentFactory output example (#5243)Gravatar Zong 1-1/+1
2023-09-13file.exists() needs to be awaited to get the value (#5061)Gravatar amt8u 1-1/+1
2023-09-13Update discordjs.md (#5227)Gravatar Antonin CLAUZIER 1-1/+1
2023-09-13decode regex if needed (#5167)Gravatar Dylan Conway 5-126/+167
* decode regex if non-ascii * make it comptime * add test * use `bun.BabyList(u16)`
2023-09-13Correct the configuration file names. (#5234)Gravatar Nathan Hammond 2-2/+2
2023-09-12Update tsconfig.json for bun initGravatar Colin McDonnell 1-1/+1
2023-09-12js/node/stream.js: call write() callback when encoding is not provided (#4841)Gravatar cfal 2-3/+7
* js/node/stream.js: call write() callback when encoding is not provided * js/out/InternalModuleRegistryConstants.h: update
2023-09-12docs: Made bun-types install as dev dependency in example (#5120)Gravatar Gordon Goldbach 1-1/+1
2023-09-12Various docs (#5201)Gravatar Colin McDonnell 4-4/+147
* Updates * Improve jest guide * Improve
2023-09-12Use git's --global flag for lockfile diffs instead of manually modifying ↵Gravatar Southpaw 1-17/+7
config files (#5143)
2023-09-12docs: fix typo in import.meta.resolve (#5146)Gravatar Jonathan Neal 1-1/+1
2023-09-12Update hot.md (#4990)Gravatar Nazeel 1-1/+1
2023-09-12Update simple.md (#4997)Gravatar Tom Redman 1-1/+1
Remove errant slash preventing the correct console log
2023-09-12fix typo and grammar errors (#5046)Gravatar xnacly 1-3/+3
2023-09-12clang and llvm on arch install v16, update to use v15 (#5069)Gravatar mi4uu 1-1/+10
2023-09-12Add missing full stop on nodejs-apis.md (#5072)Gravatar Diogo Goncalves 1-5/+5
2023-09-12udate README.md (#5127)Gravatar Toby 1-1/+1
update path
2023-09-12docs: fix typos (#5151)Gravatar Samuel Rigaud 17-18/+18
2023-09-12fix lifecycle docu (#5159)Gravatar Thomas Rupprecht 1-4/+4
2023-09-12Clean up Modules docGravatar Colin McDonnell 1-66/+73