Closed
Description
Many users don't have Java on their machines anymore. Installing it is slow and confusing and a major blocker to adoption. Currently Closure Compiler uses GWT to transpile to a native JS distro.
There are a bunch of bugs with the current approach.
- GWT unicode support J2CL transpiled compiler Scanner.java doesn't understand non-ascii characters. #2383
- Node process runs out of heap memory Node process runs out of memory closure-compiler-js#23
- Not 100% feature compatible [citation needed]
Aside from these bugs, supporting compiling to JS is an unnecessary distraction for the core team. Will you chase down the long tail of compatibility issues? What if we just stopped doing this?
Users may also want to use Bazel. (Angular has announced at ngConf day3 keynote that we'll push this.) So we still need a way to get a Java runtime onto their machines.
Bazel is about to release their solution to this problem:
bazelbuild/bazel#1666
The approach:
- ship an OpenJDK JRE to npm (for the three major architectures, windows, darwin x64, linux x64)
- either statically link it into the
google-closure-compiler
package or make it a separate peerDependency - closure compiler binary runs Java without the user needing to know about it.
Metadata
Metadata
Assignees
Labels
No labels