aboutsummaryrefslogtreecommitdiff
path: root/src/api/demo/lib/run.ts
diff options
context:
space:
mode:
authorGravatar Jarred Sumner <jarred@jarredsumner.com> 2023-07-11 19:14:34 -0700
committerGravatar GitHub <noreply@github.com> 2023-07-11 19:14:34 -0700
commitcbb88672f217a90db1aa1eb29cd92d5d9035b22b (patch)
tree43a00501f3cde495967e116f0b660777051551f8 /src/api/demo/lib/run.ts
parent1f900cff453700b19bca2acadfe26da4468c1282 (diff)
parent34b0e7a2bbd8bf8097341cdb0075d0908283e834 (diff)
downloadbun-jarred/esm-conditions.tar.gz
bun-jarred/esm-conditions.tar.zst
bun-jarred/esm-conditions.zip
Merge branch 'main' into jarred/esm-conditionsjarred/esm-conditions
Diffstat (limited to 'src/api/demo/lib/run.ts')
-rw-r--r--src/api/demo/lib/run.ts70
1 files changed, 0 insertions, 70 deletions
diff --git a/src/api/demo/lib/run.ts b/src/api/demo/lib/run.ts
deleted file mode 100644
index 87d703556..000000000
--- a/src/api/demo/lib/run.ts
+++ /dev/null
@@ -1,70 +0,0 @@
-import { transform as _transform, initialize } from "esbuild-wasm";
-import initSwc, { transformSync as transformSyncSWC } from "@swc/wasm-web";
-import { Bun } from "./api";
-
-export async function start() {
- await initialize({
- worker: false,
- wasmURL: "/node_modules/esbuild-wasm/esbuild.wasm",
- });
- await Bun.init("/bun-wasm.wasm");
- await initSwc("/node_modules/@swc/wasm-web/wasm_bg.wasm");
-}
-
-const swcOptions = {
- sourceMaps: false,
- inlineSourcesContent: false,
- jsc: {
- target: "es2022",
- parser: {
- jsx: true,
- syntax: "typescript",
- tsx: false,
- decorators: false,
- dynamicImport: false,
- },
- },
-};
-
-export async function transform(contents, file) {
- var result: any = {
- timings: {
- esbuild: 0,
- bun: 0,
- swc: 0,
- },
- };
- result.timings.esbuild = performance.now();
- result.esbuild = await _transform(contents, {
- sourcefile: file,
- loader: file.substring(file.lastIndexOf(".") + 1),
- });
- result.timings.esbuild = performance.now() - result.timings.esbuild;
-
- result.timings.bun = performance.now();
- result.bun = Bun.transformSync(contents, file);
- result.timings.bun = performance.now() - result.timings.bun;
-
- if (file.substring(file.lastIndexOf(".") + 1) === "tsx") {
- swcOptions.jsc.parser.tsx = true;
- swcOptions.jsc.parser.syntax = "typescript";
- } else if (file.substring(file.lastIndexOf(".") + 1) === "jsx") {
- swcOptions.jsc.parser.tsx = false;
- swcOptions.jsc.parser.jsx = true;
- swcOptions.jsc.parser.syntax = "typescript";
- } else {
- swcOptions.jsc.parser.tsx = false;
- swcOptions.jsc.parser.jsx = false;
- swcOptions.jsc.parser.syntax = "javascript";
- }
-
- result.timings.swc = performance.now();
- result.swc = transformSyncSWC(contents, swcOptions as any);
- result.timings.swc = performance.now() - result.timings.swc;
-
- console.log("esbuild:", result.timings.esbuild, "ms");
- console.log("Bun:", result.timings.bun, "ms");
- console.log("SWC:", result.timings.swc, "ms");
-
- return result;
-}