2025年3月10日月曜日

Bunの組み込みCSSトランスパイラを使う

もともとnodeでviteで作っていたものをbunにしたら、lightningcssとpkgでエラーでまくった。


最近のbunには組み込みトランスパイラがあるのでそれを使う。




ランタイム「Bun」の最新版「バージョン1.1.30」
オープンソースの「Lightning CSS」パーサーを取り込んだ。Lightning CSSはRust言語で記述してあるが、これをZig言語で書き直して、BunのCSSパーサーとして実験的に採用した。使用するにはビルド時に「--experimental-css」フラグを付ける必要がある。


Bun 1.2以降のバージョンでは、CSSパーサおよびバンドラが正式に組み込まれています。これにより、CSSのトランスパイルやバンドリング機能を利用する際に、以前必要だった--experimental-cssフラグを指定する必要がなくなりました。したがって、これらの機能を使用する際に--experimental-cssオプションは不要です。


github action上でコンパイルエラーになり、微妙になやんだ。

      - name: Setup Bun
        uses: oven-sh/setup-bun@v1
        with:
          bun-version: latest



1
Run bun run build:server
16$ bun build server/index.ts --target=node --outdir=dist
1717 | module.exports = require(`../pkg`);
18 ^
19error: Could not resolve: "../pkg"
20 at /home/runner/work/souzoku-AI-reader/souzoku-AI-reader/node_modules/lightningcss/node/index.js:17:28
21error: script "build:server" exited with code 1
22Error: Process completed with exit code 1.


バージョンが古かったらしい。

      - name: Setup Bun
        uses: oven-sh/setup-bun@v2
        with:
          bun-version: latest



0 件のコメント:

コメントを投稿