Bun v0.6.0 がリリース、JavaScript ランタイムは Zig によって作成

公式には、Bun 0.6.0 はこれまでのところ Bun の最大のアップデートです。

Bun の最新バージョンには、フロントエンド アプリケーションをバンドルしたり、コードを 1 つの実行可能ファイルにバンドルしたりするために使用できる、JavaScript および TypeScript バンドラーおよびリデューサーが組み込まれています。

Bun 0.6.0 では、パフォーマンスの向上とバグ修正にも取り組んでいます。LinuxwriteFile()での 20% の高速化、Node.js 互換性と Web API 互換性に関する多数のバグ修正、TypeScript 5.0 構文のサポート、およびbun installMade のさまざまな修正のサポートです。

新しい JavaScript バンドラーとミニファイアー

このリリースの焦点は Bun の新しい JavaScript Bundler (バンドラー) ですが、このバンドラーはさらに大規模なプロジェクトの始まりにすぎません。今後数か月にわたって、Bun は、Bun.AppBun のネイティブ速度のバンドラー、HTTP サーバー、およびファイルシステム ルーターを 1 つのパッケージに統合する「スーパー API」をリリースする予定です。

bun buildCLI コマンドまたは新しいJavaScript APIを使用してBun.build()使用できます。

JavaScript

Bun.build({
  entrypoints: ["./src/index.tsx"],
  outdir: "./build",
  minify: true,
  // ...
});

CLI

bun build ./src/index.tsx --outdir ./build --minify

スタンドアロンの実行可能ファイル

bun buildこれを使用してスタンドアロンの実行可能ファイルを作成できるようになりました。

bun build --compile ./foo.ts

これにより、ユーザーが Bun をインストールしなくても、アプリケーションを実行可能ファイルとして配布できます。

また、スケールダウンして大規模なアプリケーションの起動パフォーマンスを向上させることもできます。

bun build --minify --compile ./three.ts
  [32ms]  minify  -123 KB (estimate)
  [50ms]  bundle  456 modules
 [107ms] compile  three

これは、Bun の新しい JavaScript バンドラーおよびシンプリファイアーによって提供されます。

インポート.メタ.メイン

これで、import.meta.main現在のファイルが bun を開始するためのエントリ ポイントであるかどうかを確認できます。これは、CLI が現在のファイルがアプリケーションを開始したファイルかどうかを判断するのに役立ちます。

たとえば、index.ts次のようなファイルがあるとします。

インデックス.ts

console.log(import.meta.main);

次に、それを実行します。

$ bun ./index.ts
true

しかし、それをインポートすると:

import "./index.ts";

そしてそれを実行します:

$ bun ./other.ts
false

正しいbun test改善

  • bun testテストの実行時間を報告するようになりました
  • describe.skip達成されました
  • 達成されexpect().toBeEven()expect().toBeOdd()

Linux での高速化fs.writeFile

Linux 上の大きなファイルの場合、fs.writeFile は 20% 高速です

トランスレータの改善

このリリースでは、トランスパイラに多くの改良も加えられています。以下にハイライトをいくつか示します。

  • パーサーは TypeScript 5.0 をサポートします。
  • パーサーは属性のインポートをサポートしています。
  • 一部の npm パッケージには、Bun のトランスパイラの循環インポートのバグが原因でエラーがReferenceError: Cannot access uninitialized variable発生します。これは修正されました。
  • サポート// @jsx// @jsxImportSource注意// @jsxFragment事項
  • ……

詳細については、https: //bun.sh/blog/bun-v0.6.0をご覧ください。

おすすめ

転載: www.oschina.net/news/241496/bun-0-6-0-released