https://github.com/xuwei-k/scalafix-web-example/commit/6f2cc0d3e9e4d00b8f9ae9cce07602c533ca036d
https://xuwei-k.github.io/scalafix-web-example/
なんか作ったので貼っておきます。scala-jsとは全く別の技術で、ブラウザでjarをそのまま読み込んで、JVMエミュレートするらしいです。すごい。
自分が作ったこれは、今後どの程度しっかりメンテするのか?は未定。
まだ成果物しか置いてなくて、ビルドに使ったソースを置いてないですが・・・。
書き換えも警告出す方も、自作のscalafixのSyntacticRule大体動くな pic.twitter.com/HVupfZ6qK3
— Kenji Yoshida (@xuwei_k) December 7, 2024
以前作って今もすごく活用しているこれ
https://xuwei-k.github.io/scalameta-ast/
を中途半端に流用したのと、まだ最低限動かしただけなので、余計なコードや微妙なコードが大量にあると思います。(そもそもフロントエンドが得意ではないし)
JVMそのものをWASMで実装して、なんとなく動くのはすごいですね。 まぁこれを実用で使いたいか?というと、ライセンスの問題やJava 8限定だったり、その他にも色々とアレなので、この程度で遊ぶくらいでちょうどいいかもしれませんが。
tweetもしたけど、本来はScala compilerそのものが動けばなんでも出来て夢が広がって最高なんですが、色々試したけど動きませんでした(詳細原因不明)
動的にcompileやruleのloadは出来ないので(ユーザーにjarをuploadさせるのは不可能ではないかもしれないが)、事前に用意したscalafixのruleしか動かせなくて、その場でrule書いて動かすことはできません。