A box around a Linker to support clearing.
ECMAScript features to use when linking to JavaScript.
ECMAScript features to use when linking to JavaScript.
The options in ESFeatures
specify what features of modern versions of
JavaScript are used by the Scala.js linker.
useX
*force* the linker to use the
corresponding features, guaranteeing that the specific semantics that
they provide will be used.allowX
*allow* the linker to use the
corresponding features if it supports them. Support for such options can
be dropped in any subsequent version of the linker, including patch
versions.
Centralized Scala.js IR cache.
Centralized Scala.js IR cache.
Caches all Scala.js IR used in a given JVM. It supports creating of multiple sub-caches (IRFileCache.Cache) that track individual file sets. The global cache is fully thread-safe. However, the sub-caches are not.
Configuration of an IRFileCache.
A Scala.js linker, with its most abstract API.
A Scala.js linker, with its most abstract API.
A linker can take a sequence of virtual .sjsir files and a sequence of module initializers, link them together, and write the output to a writable .js file.
Output specification for a linker run.
Thrown by the linker when linking cannot be performed.
A module initializer for a Scala.js application.
A module initializer for a Scala.js application.
When linking a Scala.js application, a sequence of ModuleInitializer
s can
be given. Those module initializers will be executed at the startup of the
application. More specifically, the top-level code of the ECMAScript 2015
module emitted for the application will invoke the specified module
initializers in the specified order, after having initialized everything
else (notably static initializers).
Instances of ModuleInitializer
can be created with methods of
the ModuleInitializer companion object.
Kind of module structure emitted for the Scala.js output.
Configuration of a standard linker.
Factory for ModuleInitializers.
A box around a Linker to support clearing.
Calling
clear()
completely resets the state of thisClearableLinker
, so that it can be used again without being affected by previous calls tolink
, even of those would have corrupted the internal state.In addition to the contract of Linker, if Linker.link throws an exception, the
ClearableLinker
is automaticallyclear()
'ed.Implementations are allowed to automatically
clear()
in other cases, but never while a linking is in progress.Unless otherwise specified, instances of this trait are not thread-safe.