blob: 580c4c506187e3294ceccc1f70d3b59f61b68043 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
|
package scala.scalajs.tools.js.test
import scala.scalajs.tools.sem.Semantics
import scala.scalajs.tools.io._
import scala.scalajs.tools.logging._
import scala.scalajs.tools.classpath._
import scala.scalajs.tools.classpath.builder._
import scala.scalajs.tools.optimizer._
import scala.scalajs.js.annotation.JSExport
@JSExport("scalajs.QuickLinker")
object QuickLinker {
/** Link a Scala.js application on Node.js */
@JSExport
def linkNode(cpEntries: String*): String = {
val builder = new AbstractPartialClasspathBuilder with NodeFileSystem
val cp = builder.build(cpEntries.toList)
val complete = cp.resolve()
val optimizer = new ScalaJSOptimizer(Semantics.Defaults.optimized)
val out = WritableMemVirtualJSFile("out.js")
import ScalaJSOptimizer._
val optimized = optimizer.optimizeCP(
Inputs(complete),
OutputConfig(out),
new ScalaConsoleLogger
)
out.content
}
}
|