Clojurians
#lumo
<
2017-04-18
>

This page is not created by, affiliated with, or supported by Slack Technologies, Inc.

stbgz05:04:39

@plexus merged your first patch, the second looks good, but there are some conflicts. Rebasing from master should fix things, and I’ll be able to merge the last pr

dominicm07:04:26

@richiardiandrea is GWT that good?!

dominicm08:04:59

@richiardiandrea I just peaked through the source of aether, seems like the primitive "artifact" has a direct dependency on java.io.File. Which (a cursory look) seems to be depended on by the code I saw for classpath arithmetic. A quick google says java.io.File is not supported in gwt (makes sense!). Is this a blocker to compiling aether with GWT?

dominicm08:04:37

Having said that… http://www.jsweet.org/faq/ > Package http://java.io: requires the J4TS candy to support some Java IO styles and a local-storage-based FS (beta). So, maybe it could work with jsweet?

plexus12:04:41

made a thing with lumo :slightly_smiling_face: https://www.npmjs.com/package/synaesthetic

stbgz14:04:40

@dominicm GWT is used to cross compile the the google closure compiler to the googole-closure-js compiler, presumably if it can handle that project it should be able to handle maven

dominicm14:04:49

That's awesome. Right, somebody needs encouraging to dedicate their life to that :thinking_face: Any takers? :grinning:

stbgz14:04:54

I have been looking at other alternatives as well something like this https://github.com/konsoletyper/teavm maybe

richiardiandrea14:04:57

@dominicm we were checking with @stbgz here some time ago if it was any good, I have never tried it but heard good things...probably needs some refinement after the conversion but still...an attempt can be made :smile:

stbgz14:04:54

@plexus commit merged!, also sweet project by the way

plexus17:04:56

are there any known issues with source map support when using the compiler API?

plexus17:04:16

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; Without source-maps
cljs.user=> (b/build "src" {:target :nodejs
       #_=>                 :optimizations :advanced
       #_=>                 :output-to "birch-compiled.js"
       #_=>                 :main 'birch.core})
nil
;; builds fine

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; with source maps
cljs.user=> (b/build "src" {:target :nodejs
       #_=>                 :optimizations :advanced
       #_=>                 :output-to "birch-compiled.js"
       #_=>                 :source-map "birch-compiled.js.map"
       #_=>                 :output-dir "out"
       #_=>                 :main 'birch.core})
#error {:message "failed compiling file:out/cljs/core.cljs", :data {:file "out/cljs/core.cljs"}, :cause #error {:message "failed compiling file:out/cljs/nodejs.cljs", :data {:file "out/cljs/nodejs.cljs"}, :cause #error {:message "Could not parse ns form cljs.nodejs", :data {:tag :cljs/analysis-error}, :cause #error {:message "failed compiling file:/home/arne/LambdaIsland/Episodes/command_line_tools_with_lumo/src/birch/core.cljs", :data {:file "/home/arne/LambdaIsland/Episodes/command_line_tools_with_lumo/src/birch/core.cljs"}, :cause #error {:message "Could not analyze dep cljs.nodejs", :data {:tag :cljs/analysis-error}, :cause #error {:message "Could not analyze dep clojure.string", :data {:tag :cljs/analysis-error}, :cause #error {:message "Could not parse ns form birch.core", :data {:tag :cljs/analysis-error}, :cause #object[Error Error: java.lang.RuntimeException: java.lang.RuntimeException: com.google.gwt.core.client.JavaScriptException: (ReferenceError) : window is not defined]}}}}}}}
;; BOOM

anmonteiro17:04:10

probably :disappointed:

anmonteiro17:04:38

the build API is a very rough draft of what it might become one day

anmonteiro17:04:41

lots of stuff missing

anmonteiro17:04:56

I haven’t put any work into source maps yet

plexus17:04:11

ok, good to know. I'll leave that part out then :slightly_smiling_face:

anmonteiro17:04:57

@plexus feel free to open issues for all the rough edges you find

anmonteiro17:04:14

makes it easier not to forget those problems exist

plexus17:04:46

ok... it's not really a minimal example, but I can make a gist of what I have so people can try to reproduce it

plexus17:04:52

will file an issue