MisskeyIO / misskey

🌎 A federated blogging platform 🚀
https://misskey.io/
GNU Affero General Public License v3.0
147 stars 12 forks source link

Bunで動作するようにする #666

Open melt-adzuki opened 1 month ago

melt-adzuki commented 1 month ago

What

Bunで動作するようにする

Why

Additional info (optional)

Checklist

u1-liquid commented 1 month ago

dockerfileを修正する必要がある

u1-liquid commented 1 month ago

テストにbunがインストールされてなくて落ちてるのでテストはpnpmで回すか https://github.com/oven-sh/setup-bun をworkflowに入れる必要がありそう https://bun.sh/docs/cli/install#ci-cd

u1-liquid commented 1 month ago

typecheckで落ちてるaiserviceに関しては https://bun.sh/guides/util/detect-bun でopt-outさせておいてほしいかも もしくは https://redirect.github.com/arnidan/nsfw-api を使うように(外部APIを叩くように)変えちゃった方がいいかも? (↑すぐにはやらなくてもproductionに移行すると必要となる、じゃないとnodejsバージョンと並行してリリースすることになる)

u1-liquid commented 1 month ago

👀

u1-liquid commented 1 month ago

これやってる?

melt-adzuki commented 1 month ago

@sim1222 例のアレの説明をお願いします

sim1222 commented 1 month ago

例のやつが何なのか不明ですが、当初懸念されていたBunのnode:cryptoまわりのAPIが全然実装されてない問題については、最新のバージョンにてmisskeyで使用されているAPIはほぼ実装されているため問題ないと思います。 ただ、ところどころ挙動が怪しい気がするので連合のテストとかはする必要があるかも

melt-adzuki commented 1 month ago

Misskeyで使われてるnode:cryptoの関数全部見てみたけど、Bunで実装されてないやつは使われてないみたい

でも実際に連合させてみると動かないから原因しらべないといけない

u1-liquid commented 1 month ago

いまのところ一旦streamingのAPI提供にだけ実験導入する予定なのでぶっちゃけ本番環境ではそこだけ動くならいいかも

sim1222 commented 3 weeks ago

ここってなんでjestをnode_modulesから呼んでるか知ってたりする?

https://github.com/MisskeyIO/misskey/blob/f0a44a020ab1a6e4fac0b8fddf6eb6637fef8de0/packages/backend/package.json#L25

u1-liquid commented 3 weeks ago

ここってなんでjestをnode_modulesから呼んでるか知ってたりする?

--experimental-*オプションを付けたかったからだと思う bunでテスト回すなら考慮しなくてもいいかも