scala-js/scala-js-dom

`prePR` doesn't generate reports on `master`

Closed this issue ยท 11 comments

Gotta add (root / Compile / scalafix).toTask("") back in

Oops!

Hehe. I think you disabled it cos of Scala 3. Gonna have to find a temporary workaround I think...

We can just add a scala version check I think.

Wait, maybe I did something stupid in #512 and deleted every line with "delete if scala 2.10" when what I should have done is delete the comment and otherwise leave alone.

Yeah I was just having a look at scalacenter/scalafix#1316 and it seems Scalafix still doesn't support Scala 3. I could've sworn a read a few weeks ago that it does now.

Edit: now I'm seeing some PRs that indicate that it might be supported after all, looking in to it atm....

The sbt plugin supports scala 3 I think, but the core module was not published for scala3 which is why I snuck a for3Use213 into the build.

So is there a way to use it on Scala 3 builds? I'm a bit confused

I restored (root / Compile / scalafix).toTask("") and I'm just about to give it a try, we'll see

@japgolly this is what spits out:

To use Scalafix on Scala 3 projects, you must unset `scalafixBinaryScalaVersion`. Rules such as ExplicitResultTypes requiring the project version to match the Scalafix version are unsupported for the moment.

Problems:

  • RemoveUnused can't be used with Scala 3 because there isn't a -Wunused flag in Scala 3 yet
  • Setting scalafixBinaryScalaVersion to 2.13 and hardcoding scalaVersion := "2.13.4" in the scalafixRules settings works but unfortunately no semantic information is available so GenerateApiReports crashes

We're just gonna have to disable scalafix all together for Scala 3 in a way that

  • prePR works
  • we don't have source-patching hacks like we did for Scala 2.10

I think that's doable, I'm on it in #525.