Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Prepare the Scala.js integration for SIP-51. #2988

Merged
merged 1 commit into from
Jan 23, 2024

Conversation

sjrd
Copy link
Contributor

@sjrd sjrd commented Jan 23, 2024

When using Scala.js 1.15.0+ together with Scala 2, we now add an explicit dependency to the scalajs-scalalib artifact. That artifact comes with Scala.js 1.15.0+, and is double-versioned with the Scala version and the Scala.js version.

As SIP-51 gets implemented and future versions of the Scala library may break forward binary compatibility, the new scalajs-scalalib will be able to bring in new APIs back to existing Scala.js versions.

This commit mimics the changes done to sbt-scalajs in https://github.com/scala-js/scala-js/pull/4913/files#diff-adc7ad642b8f89aab3d2a81ac25b23e345bbea758b1c8bbea46cc9d1f351834c

When using Scala.js 1.15.0+ together with Scala 2, we now add an
explicit dependency to the `scalajs-scalalib` artifact. That
artifact comes with Scala.js 1.15.0+, and is double-versioned with
the Scala version and the Scala.js version.

As SIP-51 gets implemented and future versions of the Scala library
may break forward binary compatibility, the new `scalajs-scalalib`
will be able to bring in new APIs back to existing Scala.js versions.

This commit mimics the changes done to sbt-scalajs in
https://github.com/scala-js/scala-js/pull/4913/files#diff-adc7ad642b8f89aab3d2a81ac25b23e345bbea758b1c8bbea46cc9d1f351834c
@lefou
Copy link
Member

lefou commented Jan 23, 2024

@lefou
Copy link
Member

lefou commented Jan 23, 2024

Thank you for opening this pull request, @sjrd . It looks reasonable.

What's the next step? Should we merge it right away or wait for some state change / announcement of SIP-51?

@sjrd
Copy link
Contributor Author

sjrd commented Jan 23, 2024

It can be merged right away. sbt-scalajs 1.15.0 already behaves this way.

It is already beneficial irrespective of SIP-51 (though with much smaller consequences): if there is a bugfix in a newer version of the standard library, users of the new Scala version will get the bug fix, instead of having to wait for a newer version of Scala.js that has itself upgraded to the newer Scala.

@lefou lefou merged commit 710ac88 into com-lihaoyi:main Jan 23, 2024
38 checks passed
@lefou lefou added this to the 0.11.7 milestone Jan 23, 2024
@sjrd sjrd deleted the prepare-scalajs-sip-51 branch January 23, 2024 21:49
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants