@@ -143,11 +143,12 @@ object bench extends ScalaModule with JmhModule with ScalafmtModule {
143143}
144144
145145object sjsonnet extends VersionFileModule {
146- object js extends Cross[SjsonnetJsModule](scalaVersions)
147- trait SjsonnetJsModule extends SjsonnetCrossModule with ScalaJSModule with SjsonnetPublishModule {
146+ trait SjsonnetScalaJSModule
147+ extends SjsonnetCrossModule
148+ with ScalaJSModule
149+ with SjsonnetPublishModule {
148150 def moduleDir = super.moduleDir / os.up
149151 def scalaJSVersion = "1.20.2"
150- def moduleKind = Task { ModuleKind.CommonJSModule }
151152 val sourceDirs = Seq(
152153 "src",
153154 "src-js",
@@ -160,8 +161,10 @@ object sjsonnet extends VersionFileModule {
160161 mvn"org.virtuslab::scala-yaml::0.3.0"
161162 )
162163
163- object test extends ScalaJSTests with CrossTests {
164- def jsEnvConfig = JsEnvConfig.NodeJs(args = List("--stack-size=" + stackSizekBytes))
164+ def nodeJsArgs: List[String] = List("--stack-size=" + stackSizekBytes)
165+
166+ trait SjsonnetScalaJSTests extends ScalaJSTests with CrossTests {
167+ def jsEnvConfig = JsEnvConfig.NodeJs(args = nodeJsArgs)
165168 def resources = Task.Sources(
166169 this.moduleDir / "resources" / "test_suite",
167170 this.moduleDir / "resources" / "go_test_suite",
@@ -229,6 +232,21 @@ object sjsonnet extends VersionFileModule {
229232 }
230233 }
231234
235+ object js extends Cross[SjsonnetJsModule](scalaVersions)
236+ trait SjsonnetJsModule extends SjsonnetScalaJSModule {
237+ def moduleKind = Task { ModuleKind.CommonJSModule }
238+ object test extends SjsonnetScalaJSTests
239+ }
240+
241+ object wasm extends Cross[SjsonnetWasmModule](scalaVersions)
242+ trait SjsonnetWasmModule extends SjsonnetScalaJSModule {
243+ def moduleKind = Task { ModuleKind.ESModule }
244+ def moduleSplitStyle = ModuleSplitStyle.FewestModules
245+ def scalaJSExperimentalUseWebAssembly = true
246+ override def nodeJsArgs = super.nodeJsArgs ++ List("--experimental-wasm-exnref")
247+ object test extends SjsonnetScalaJSTests
248+ }
249+
232250 object native extends Cross[SjsonnetNativeModule](scalaVersions)
233251 trait SjsonnetNativeModule
234252 extends SjsonnetCrossModule
0 commit comments