Join GitHub today
GitHub is home to over 50 million developers working together to host and review code, manage projects, and build software together.
Sign upEmpty jsEnvInput causes freeze #4054
Comments
Why not just Test / test := {} ? |
That said, not having anything shouldn't throw an exception in the first place. I can't reproduce that behavior, even with the Now, emptying |
Using
|
ah sorry - correction: Using |
@sjrd I can provide a repo if you like :)
@plokhotnyuk Unfortunately in my case it's not a cross-project but a plain JS-only module |
Yes, please. |
It's likely jsdependencies' fault, though. I suspect the exception is thrown by this line: |
Which |
Actually, scratch that. If the input is empty, To avoid the hanging, I don't think we have another option than setting a timeout on the |
Alrighty, reproduction is here:
If you look at the module's config you can see that it only enables |
Thank you. That's definitely |
Thanks @sjrd ! |
IIUC, the
Is the above reasoning correct? If yes, what is going wrong that causes the hanging? Perhaps a race between cancelling call RPC calls versus starting the |
The com run establishes a connection to the JVM unconditionally (even if This is a specification problem in the It is unclear to me how to resolve this. We could:
|
After giving this some thought, I think we do not gain a lot with the first two options, because the JS side might as well have a bug so it doesn't answer to messages. To address this for now, I think we should simply refuse to create a |
This captures the most likely cause of scala-js#4054 and fails with an informative error message.
How on earth to do configure SBT and/or Scala.JS to allow a JS module without tests?
I have no idea what the default
jsEnv
is or how it works but a new module with basically justenablePlugins(ScalaJSPlugin, JSDependenciesPlugin)
and not much else, runningtest
throws an exception:I'm trying a few things but to no avail. One of the things I've tried is
Test / jsEnvInput := Nil
but when I runtest
it just hangs. Presumably it simply doesn't handle this case and sits around waiting for the jsEnv to signal completion.If
Test / jsEnvInput := Nil
I think either one of two things should happen