google / j2cl

Java to Closure JavaScript transpiler
Apache License 2.0
1.23k stars 145 forks source link

HelloWorld sample source maps support #10

Open axls opened 5 years ago

axls commented 5 years ago

Does the current version of j2cl support sourcemaps?

Chrome's DevTool doesn't show HelloWorld.java in sources list. Also I see next log output in terminal when launching dev server through ibazel:

INFO: 750µs /0:0:0:0:0:0:0:1:38796 404 GET /HelloWorld.js.map

It seems like reference to the sources presents in js, but the web server cannot find requested resource.

jDramaix commented 5 years ago

Yes, J2CL has sourcemaps support. The web server used in the example is serving correctly the file. We will fix that.

gkdn commented 5 years ago

@jDramaix making source map work is not a small project. web_library in rules_closure needs to understand and serve files from zip files first.

Let's leave this to contributors for now. If nobody takes care of it by the time and eventually that part of the problem will go away with the tree artifacts.

gkdn commented 4 years ago

As an update; we are actively working switching from zip files to TreeArtifacts so after that this should be easier to address.

niloc132 commented 4 years ago

Worth pointing out perhaps that closure-compiler's BUNDLE mode presently doesn't handle sourcemaps at all, see https://github.com/google/closure-compiler/issues/3247. In that issue, I link the patch we're using in our closure-compiler fork so that j2cl-maven-plugin can provide sourcemaps in dev mode. This is not a perfect solution, but probably will suffice until BUNDLE gets to be more efficient or is replaced in the maven plugin.

treblereel commented 1 year ago

@gkdn maybe you have any updates? Thanks

niloc132 commented 1 year ago

For what its worth, with only very minor changes, our patch to closure-compiler has cleanly rebased over the last several years so that this always works in maven/gradle. Bazel adoption seems light, due at least to this and j2cl unit tests still being no-ops.