diff options
author | 2022-06-22 23:21:48 -0700 | |
---|---|---|
committer | 2022-06-22 23:21:48 -0700 | |
commit | 729d445b6885f69dd2c6355f38707bd42851c791 (patch) | |
tree | f87a7c408929ea3f57bbb7ace380cf869da83c0e /bench/scanner/scan.node-esbuild.mjs | |
parent | 25f820c6bf1d8ec6d444ef579cc036b8c0607b75 (diff) | |
download | bun-jarred/rename.tar.gz bun-jarred/rename.tar.zst bun-jarred/rename.zip |
change the directory structurejarred/rename
Diffstat (limited to 'bench/scanner/scan.node-esbuild.mjs')
-rw-r--r-- | bench/scanner/scan.node-esbuild.mjs | 42 |
1 files changed, 42 insertions, 0 deletions
diff --git a/bench/scanner/scan.node-esbuild.mjs b/bench/scanner/scan.node-esbuild.mjs new file mode 100644 index 000000000..1a7fa79d8 --- /dev/null +++ b/bench/scanner/scan.node-esbuild.mjs @@ -0,0 +1,42 @@ +import { build, buildSync } from "esbuild"; +import { readFileSync } from "fs"; +const fixture = ["action", "default", "loader"]; +const ITERATIONS = parseInt(process.env.ITERATIONS || "1") || 1; + +const opts = { + metafile: true, + format: "esm", + platform: "neutral", + write: false, + logLevel: "silent", + stdin: { + contents: readFileSync("remix-route.ts", "utf8"), + loader: "ts", + sourcefile: "remix-route.js", + }, +}; + +const getExports = ({ metafile }) => { + for (let i = 0; i < fixture.length; i++) { + if (fixture[i] !== metafile.outputs["stdin.js"].exports[i]) { + throw new Error("Mismatch"); + } + } +}; + +console.time("Get exports"); + +if (!process.env.SYNC) { + var promises = new Array(ITERATIONS); + for (let i = 0; i < ITERATIONS; i++) { + promises[i] = build(opts).then(getExports); + } + + await Promise.all(promises); +} else { + for (let i = 0; i < ITERATIONS; i++) { + getExports(buildSync(opts)); + } +} + +console.timeEnd("Get exports"); |