ScalablyTyped / Converter

Typescript to Scala.js converter
https://scalablytyped.org
GNU General Public License v3.0
218 stars 43 forks source link

`^.scala` files should be `$up.scala` or some other name #623

Closed arturaz closed 5 months ago

arturaz commented 5 months ago

Otherwise Metals is sad:

2024.04.19 18:14:02 ERROR error processing file:///home/x11/.ivy2/local/org.scalablytyped/undici-types_sjs1_3/5.26.5-a35a65/srcs/undici-types_sjs1_3-sources.jar
java.lang.IllegalArgumentException: Illegal character in opaque part at index 147: jar:file:///home/x11/.ivy2/local/org.scalablytyped/undici-types_sjs1_3/5.26.5-a35a65/srcs/undici-types_sjs1_3-sources.jar!/typings/undiciTypes/mod/^.scala
    at java.net.URI.create(URI.java:932)
    at scala.meta.internal.mtags.MtagsEnrichments$XtensionStringMtags.toAbsolutePath(MtagsEnrichments.scala:177)
    at scala.meta.internal.metals.MetalsEnrichments$XtensionString.toAbsolutePath(MetalsEnrichments.scala:732)
    at scala.meta.internal.metals.MetalsEnrichments$XtensionString.toAbsolutePath(MetalsEnrichments.scala:729)
    at scala.meta.internal.metals.JarTopLevels.toPath(JarTopLevels.scala:95)
    at scala.meta.internal.metals.JarTopLevels.$anonfun$getTopLevels$2(JarTopLevels.scala:47)
    at scala.meta.internal.metals.JdbcEnrichments$XtensionConnection.query(JdbcEnrichments.scala:40)
    at scala.meta.internal.metals.JarTopLevels.getTopLevels(JarTopLevels.scala:44)
    at scala.meta.internal.metals.Indexer.addSourceJarSymbols(Indexer.scala:645)
    at scala.meta.internal.metals.Indexer.$anonfun$indexDependencySources$5(Indexer.scala:487)
    at scala.collection.IterableOnceOps.foreach(IterableOnce.scala:619)
    at scala.collection.IterableOnceOps.foreach$(IterableOnce.scala:617)
    at scala.collection.AbstractIterable.foreach(Iterable.scala:935)
    at scala.collection.IterableOps$WithFilter.foreach(Iterable.scala:905)
    at scala.meta.internal.metals.Indexer.$anonfun$indexDependencySources$1(Indexer.scala:478)
    at scala.meta.internal.metals.Indexer.$anonfun$indexDependencySources$1$adapted(Indexer.scala:477)
    at scala.collection.IterableOnceOps.foreach(IterableOnce.scala:619)
    at scala.collection.IterableOnceOps.foreach$(IterableOnce.scala:617)
    at scala.collection.AbstractIterable.foreach(Iterable.scala:935)
    at scala.meta.internal.metals.Indexer.indexDependencySources(Indexer.scala:477)
    at scala.meta.internal.metals.Indexer.$anonfun$indexWorkspace$24(Indexer.scala:396)
    at scala.runtime.java8.JFunction0$mcV$sp.apply(JFunction0$mcV$sp.scala:18)
    at scala.meta.internal.metals.TimerProvider.timedThunk(TimerProvider.scala:25)
    at scala.meta.internal.metals.Indexer.$anonfun$indexWorkspace$23(Indexer.scala:389)
    at scala.meta.internal.metals.Indexer.$anonfun$indexWorkspace$23$adapted(Indexer.scala:385)
    at scala.collection.immutable.List.foreach(List.scala:334)
    at scala.meta.internal.metals.Indexer.indexWorkspace(Indexer.scala:385)
    at scala.meta.internal.metals.Indexer.$anonfun$profiledIndexWorkspace$2(Indexer.scala:172)
    at scala.runtime.java8.JFunction0$mcV$sp.apply(JFunction0$mcV$sp.scala:18)
    at scala.meta.internal.metals.TimerProvider.timedThunk(TimerProvider.scala:25)
    at scala.meta.internal.metals.Indexer.$anonfun$profiledIndexWorkspace$1(Indexer.scala:172)
    at scala.runtime.java8.JFunction0$mcV$sp.apply(JFunction0$mcV$sp.scala:18)
    at scala.concurrent.Future$.$anonfun$apply$1(Future.scala:687)
    at scala.concurrent.impl.Promise$Transformation.run(Promise.scala:467)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1144)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:642)
    at java.lang.Thread.run(Thread.java:1583)
Caused by: java.net.URISyntaxException: Illegal character in opaque part at index 147: jar:file:///home/x11/.ivy2/local/org.scalablytyped/undici-types_sjs1_3/5.26.5-a35a65/srcs/undici-types_sjs1_3-sources.jar!/typings/undiciTypes/mod/^.scala
    at java.net.URI$Parser.fail(URI.java:2995)
    at java.net.URI$Parser.checkChars(URI.java:3166)
    at java.net.URI$Parser.parse(URI.java:3202)
    at java.net.URI.<init>(URI.java:645)
    at java.net.URI.create(URI.java:930)
    at scala.meta.internal.mtags.MtagsEnrichments$XtensionStringMtags.toAbsolutePath(MtagsEnrichments.scala:177)
    at scala.meta.internal.metals.MetalsEnrichments$XtensionString.toAbsolutePath(MetalsEnrichments.scala:732)
    at scala.meta.internal.metals.MetalsEnrichments$XtensionString.toAbsolutePath(MetalsEnrichments.scala:729)
    at scala.meta.internal.metals.JarTopLevels.toPath(JarTopLevels.scala:95)
    at scala.meta.internal.metals.JarTopLevels.$anonfun$getTopLevels$2(JarTopLevels.scala:47)
    at scala.meta.internal.metals.JdbcEnrichments$XtensionConnection.query(JdbcEnrichments.scala:40)
    at scala.meta.internal.metals.JarTopLevels.getTopLevels(JarTopLevels.scala:44)
    at scala.meta.internal.metals.Indexer.addSourceJarSymbols(Indexer.scala:645)
    at scala.meta.internal.metals.Indexer.$anonfun$indexDependencySources$5(Indexer.scala:487)
    at scala.collection.IterableOnceOps.foreach(IterableOnce.scala:619)
    at scala.collection.IterableOnceOps.foreach$(IterableOnce.scala:617)
    at scala.collection.AbstractIterable.foreach(Iterable.scala:935)
    at scala.collection.IterableOps$WithFilter.foreach(Iterable.scala:905)
    at scala.meta.internal.metals.Indexer.$anonfun$indexDependencySources$1(Indexer.scala:478)
    at scala.meta.internal.metals.Indexer.$anonfun$indexDependencySources$1$adapted(Indexer.scala:477)
    at scala.collection.IterableOnceOps.foreach(IterableOnce.scala:619)
    at scala.collection.IterableOnceOps.foreach$(IterableOnce.scala:617)
    at scala.collection.AbstractIterable.foreach(Iterable.scala:935)
    at scala.meta.internal.metals.Indexer.indexDependencySources(Indexer.scala:477)
    at scala.meta.internal.metals.Indexer.$anonfun$indexWorkspace$24(Indexer.scala:396)
    at scala.runtime.java8.JFunction0$mcV$sp.apply(JFunction0$mcV$sp.scala:18)
    at scala.meta.internal.metals.TimerProvider.timedThunk(TimerProvider.scala:25)
    at scala.meta.internal.metals.Indexer.$anonfun$indexWorkspace$23(Indexer.scala:389)
    at scala.meta.internal.metals.Indexer.$anonfun$indexWorkspace$23$adapted(Indexer.scala:385)
    at scala.collection.immutable.List.foreach(List.scala:334)
    at scala.meta.internal.metals.Indexer.indexWorkspace(Indexer.scala:385)
    at scala.meta.internal.metals.Indexer.$anonfun$profiledIndexWorkspace$2(Indexer.scala:172)
    at scala.runtime.java8.JFunction0$mcV$sp.apply(JFunction0$mcV$sp.scala:18)
    at scala.meta.internal.metals.TimerProvider.timedThunk(TimerProvider.scala:25)
    at scala.meta.internal.metals.Indexer.$anonfun$profiledIndexWorkspace$1(Indexer.scala:172)
    at scala.runtime.java8.JFunction0$mcV$sp.apply(JFunction0$mcV$sp.scala:18)
    at scala.concurrent.Future$.$anonfun$apply$1(Future.scala:687)
    at scala.concurrent.impl.Promise$Transformation.run(Promise.scala:467)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1144)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:642)
    at java.lang.Thread.run(Thread.java:1583)
arturaz commented 5 months ago

OTOH, this is probably a Metals bug: https://github.com/scalameta/metals/issues/6294