Closed mbovel closed 8 months ago
this seems to be specifically a problem with the test scope in scala-cli, it works with the run command
For me it also fails with compile
or run
:
➜ ~/scaladex-scalajs echo '//> using dep "org.scala-js::scalajs-dom::2.8.0"' > project.scala
➜ ~/scaladex-scalajs scala-cli compile project.scala
Downloading 2 dependencies
[error] ./project.scala:1:16
[error] Error downloading org.scala-js:scalajs-dom_3:2.8.0
[error] not found: /Users/mbovel/.ivy2/local/org.scala-js/scalajs-dom_3/2.8.0/ivys/ivy.xml
[error] not found: https://repo1.maven.org/maven2/org/scala-js/scalajs-dom_3/2.8.0/scalajs-dom_3-2.8.0.pom
[error] not found: /Users/mbovel/Library/Caches/ScalaCli/local-repo/1.1.2/org.scala-js/scalajs-dom_3/2.8.0/ivys/ivy.xml
[error] No fallback URL found
[error] //> using dep "org.scala-js::scalajs-dom::2.8.0"
[error]
Ah! Got the explanation from @sjrd; the first ::
makes the dependency platform-dependent, and the platform is JVM by default, for which there is no scalajs-dom
. I must use //> using platform "js"
:
//> using platform "js"
//> using dep "org.scala-js::scalajs-dom::2.8.0"
So the dependency shown by Scaladex is actually correct; no issue.
However, maybe Scaladex could prepend //> using platform "js"
for libraries that are only built for Scala.js?
Current behavior
https://index.scala-lang.org/scala-js/scala-js-dom/artifacts/scalajs-dom/2.8.0 says I should write:
Which fails:
Expected Behavior
The Scala CLI deps for Scala.js libraries shown on Scaladex should work.
The following works for me:
Extra comments
Scala CLI version:
Tried to mimic SBT's
%%%
, this also doesn't work (should it?):Search terms
Scala.js Scala CLI