Skip to content

Commit ee79cb0

Browse files
Update the ScalaJS support section according to @sjrd review
1 parent 4e30263 commit ee79cb0

File tree

1 file changed

+24
-2
lines changed

1 file changed

+24
-2
lines changed

docs/blog/_posts/2020-08-31-27th-dotty-milestone-release.md

Lines changed: 24 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,8 +15,30 @@ Alternatively, you can try this version of Scala online via [Scastie](https://sc
1515
Enjoy the ride🚀!
1616

1717
<!--more-->
18-
# Welcome ScalaJS support
19-
PR [#9637](https://github.com/lampepfl/dotty/pull/9637) brings ScalaJS support to Dotty. Now, if you use the ScalaJSPlugin in your Dotty SBT project, the project will be correctly compiled to compile to JavaScript.
18+
# Welcome Scala.js support (with caveats)
19+
This release brings enough support for Scala.js that it should be actually usable in a number of projects.
20+
To use it, make sure of the following:
21+
22+
* Use sbt-scalajs v1.1.1 or later
23+
* Use sbt-dotty v0.4.2 or later (v0.4.2)
24+
* Use `scalaVersion := "0.27.0-RC1"` or later for Dotty
25+
* Use `enablePlugins(ScalaJSPlugin)` or a `crossProject`
26+
27+
When the above are combined, sbt-scalajs ans sbt-dotty will coordinate to transparently configure your project with Dotty with its Scala.js support.
28+
29+
In this release, the following features are supported:
30+
31+
* Dependencies with `%%%`, including with `withDottyCompat`,
32+
* The entire portable subset of the language, i.e., code that compiles both on the JVM and on JS,
33+
* Calling JavaScript APIs, including those defined in dependencies.
34+
35+
The following features are *not supported yet*:
36+
37+
* Define non-native JS classes (i.e., classes extending `js.Any` but without `@js.native`): they will report compile errors
38+
* Exports of all kinds (i.e., `@JSExportXYZ`): they will be silently ignored
39+
40+
To the best of our knowledge, cross-compiling libraries should be able to use Scala.js with Dotty in plain capacity.
41+
If you experience a bug with anything except the unsupported features mentioned above, please file a bug report.
2042

2143
# Stability
2244
As we're getting closer to the release of Scala 3, we are continuing to focus on the stability and performance of the language. In this release, we have fixed support of objects under JDK9 (PR [#9181](https://github.com/lampepfl/dotty/pull/9181)). The issue was, due to the changes in JDK9 compared to JDK8, our initialization scheme for objects did not work under JDK9. The aforementioned fixed that issue, thereby unblocking JDK9 support for Dotty.

0 commit comments

Comments
 (0)