aboutsummaryrefslogtreecommitdiff
path: root/bench/snippets/scanner/scan.node-esbuild.mjs
diff options
context:
space:
mode:
authorGravatar Jarred Sumner <jarred@jarredsumner.com> 2022-01-19 23:07:03 -0800
committerGravatar Jarred Sumner <jarred@jarredsumner.com> 2022-01-19 23:07:03 -0800
commita09b99565138bb4bc73a5328397428fb5025817b (patch)
tree3412ae330b4a6078173d0048665b9d547b3d718b /bench/snippets/scanner/scan.node-esbuild.mjs
parent4098484ff5d1c66a5f146e773a9be25cbcd2a1f4 (diff)
downloadbun-a09b99565138bb4bc73a5328397428fb5025817b.tar.gz
bun-a09b99565138bb4bc73a5328397428fb5025817b.tar.zst
bun-a09b99565138bb4bc73a5328397428fb5025817b.zip
Bun.Transpiler – API for scanning imports/exports of JSX/TSX/TS/JS files
Diffstat (limited to 'bench/snippets/scanner/scan.node-esbuild.mjs')
-rw-r--r--bench/snippets/scanner/scan.node-esbuild.mjs37
1 files changed, 37 insertions, 0 deletions
diff --git a/bench/snippets/scanner/scan.node-esbuild.mjs b/bench/snippets/scanner/scan.node-esbuild.mjs
new file mode 100644
index 000000000..946250d1f
--- /dev/null
+++ b/bench/snippets/scanner/scan.node-esbuild.mjs
@@ -0,0 +1,37 @@
+import { build, buildSync } from "esbuild";
+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",
+ entryPoints: ["remix-route.ts"],
+};
+
+const getExports = ({ metafile }) => {
+ for (let i = 0; i < fixture.length; i++) {
+ if (fixture[i] !== metafile.outputs["remix-route.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");