Skip to content

Add Scala.js and ScalaNative support#15

Merged
arainko merged 7 commits into
arainko:mainfrom
plokhotnyuk:main
Aug 21, 2025
Merged

Add Scala.js and ScalaNative support#15
arainko merged 7 commits into
arainko:mainfrom
plokhotnyuk:main

Conversation

@plokhotnyuk

@plokhotnyuk plokhotnyuk commented Aug 21, 2025

Copy link
Copy Markdown
Contributor

Fixes #14

Comment thread build.sbt Outdated
Comment thread build.sbt Outdated
Comment thread build.sbt
Comment thread build.sbt
.aggregate(chanterelleJVM, chanterelleJS, chanterelleNative)
.enablePlugins(NoPublishPlugin)

lazy val chanterelle =

@arainko arainko Aug 21, 2025

Copy link
Copy Markdown
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I feel like you can get away without expanding into multiple subprojects, going off of how I set it up in ducktape:

lazy val ducktape =
  crossProject(JVMPlatform, JSPlatform, NativePlatform)
    .crossType(CrossType.Pure)
    .enablePlugins(TypelevelMimaPlugin)
    .in(file("ducktape"))
    .settings(
      scalacOptions ++= List("-deprecation", "-Wunused:all", "-Ykind-projector:underscores", "-Xcheck-macros"),
      Test / scalacOptions --= List("-deprecation"),
      Test / scalacOptions ++= List("-Werror", "-Wconf:cat=deprecation:s"),
      libraryDependencies += "org.scalameta" %%% "munit" % "1.1.1" % Test
    )
    .nativeSettings(
      bspEnabled := false,
      tlMimaPreviousVersions := Set.empty
    )
    .jsSettings(bspEnabled := false)

@arainko

arainko commented Aug 21, 2025

Copy link
Copy Markdown
Owner

Looking good, the job is 'stuck' because the workflow expectations have changed with the addition of a crossbuild but this is something for me to change :)

Thank you VERY much for taking your time to look at this!

@arainko arainko merged commit 631b936 into arainko:main Aug 21, 2025
4 checks passed
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.

Cross build for JS and Native

2 participants