Using additional configuration with `js` block in ...
# eap
a
Using additional configuration with
js
block in gradle after
js(IR)
gives error:
Copy code
==========
This project currently uses the Kotlin/JS Legacy compiler backend, which has been deprecated and will be removed in a future release.
Please migrate the project to the new IR-based compiler (<https://kotl.in/jsir>) by adding:
- kotlin.js.compiler=ir to your gradle.properties file.
- js(IR) { ... } to your build file.
You can continue to use the deprecated legacy compiler in the current version of the toolchain by specifying it explicitly.
==========
Before it automatically used first provided compiler. I think since LEGACY is deprecated,
js
should mean IR by default.
2
This is also a build breaking change.
i
cc @Ilya Goncharov [JB]
i
Is it with
kotlin("js")
plugin or with
kotlin("multiplatform")
?
a
mpp
i
It is a bug, and it is bug in reporting as I can see, logic with using existing compiler works like in previous versions
Thank you for reporting
a
I think that js block should use IR by default now.
It is a breaking change, but it is a major version after all. It could break things.
i
We want to notify all users who rely on previous default behaviour that it is no more option, and after that we’ll change default
a
Well, I think it will make sense to do things faster in this case. One of the stoppers for Kotlin-JS adoption is this uncertainty with compilers version. I am not sure about the statistics of Legacy backend usage, but it seems like it is rather low. And default is important for the new users. So switching default half a year sooner could mean a lot.
l
I second thet, especially since the official stability of Kotlin/JS was "moving fast", I don't really see a point in delaying the default to be IR any longer. There are no compatibility related reasons to do that, right?
i
101 Views