Skip to content

Commit

Permalink
Bunはダウンレベルコンパイルはしてくれない
Browse files Browse the repository at this point in the history
  • Loading branch information
yossydev committed Dec 19, 2024
1 parent df7d937 commit a16931b
Showing 1 changed file with 43 additions and 0 deletions.
43 changes: 43 additions & 0 deletions app/routes/posts/bun-transpile-target.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
---
title: "Bunはダウンレベルコンパイルはしてくれない"
description: "a"
date: "2024/12/22"
updatedAt: "2024/12/22"
path: "bun-transpile-target"
published: true
---

## Intro

Bunでトランスパイルしてくれるのはいいものの、吐き出すコードの種類って指定できるの?って話です。

## Bunのトランスパイル

Bunはトランスパイルもしてくれます。

[https://bun.sh/docs/api/transpiler](https://bun.sh/docs/api/transpiler)

この際、オプションにはjs, jsx, ts, tsxはドキュメントを見た感じ指定できそうです。

```ts
const transpiler = new Bun.Transpiler({
loader: "tsx", // "js | "jsx" | "ts" | "tsx"
});
```

ただ、例えばESNextじゃなくてES2023にしたいみたいなことってできるのでしょうか。

一応targetというオプションはあるものの、このニュアンス的にはESModuleかCommonJSかBunかみたいな感じそうですね。

ref: [https://bun.sh/docs/api/transpiler#reference](https://bun.sh/docs/api/transpiler#reference)

## サポートしていないらしい

なかなかissueにもそれらしくことが載っていなく、色々探していたらvs esbuildのところで見つけました。

> No supported. Bun's bundler performs no syntactic down-leveling at this time.
> https://bun.sh/docs/bundler/vs-esbuild#cli-api
現状はサポートしていないそうです。

そこまで必須ではないし、最近のJSエンジンはどれも構文サポート早いので意外と問題ないんですかね。

0 comments on commit a16931b

Please sign in to comment.