[ClojureScript] Re: (failed) Attempts to inject cljs repl into 3rd party webpage

2019-08-13 Thread John Newman
I made a thing for that here https://www.chrepl.app/

I haven't made it work with shadow-cljs yet, but that'd be an interesting 
option.

V/r

John

On Tuesday, August 13, 2019 at 12:40:36 AM UTC-4, Sigmund Tzeng wrote:
>
> Hi there,
>
> Here are my steps to inject cljs repl into 3rd party webpage:
>
> 1. inject the following line via "Custom JavaScript for websites"
>
>  (function(){var d=document;var s=d.createElement('script');s.src='
> https://localhost:8090/js/main.js';d.body.appendChild(s);})()
>
> 2. *.edn file:
>
> ;; shadow-cljs configuration
> {:source-paths
>  ["src/dev"
>   "src/main"
>   "src/test"]
>
>  :dependencies
>  [[reagent "0.8.1"] ;[etaoin "0.3.5"]
>  ]
>  :ssl {} ;for shadow-cljs server, defaults to 9630 port
>  :http {:port 9630
> :ssl-port 23456
> :host "localhost"} 
>  :dev-http {8090 {:root "public"
> :push-state/headers {"Access-Control-Allow-Origin" "*" }}
>   }
>  :builds
> {:frontend
>   {:target :browser
>:asset-path "https://localhost:8090/js;
>:modules {:main {:init-fn acme.frontend.app/init}}
>}}}
>
> 3. modify main.js with no-cors mode
>
>   fetch(uri, {mode: 'no-cors'})
>
> 4. However, the browser endpoint (shown below) is never called 
>
> wss://localhost:23456/ws/worker/frontend/.../browser
>
> 5. what am i missing here? the emacs skewer-mode seem to work just fine.
>   Was wondering if DOMContentLoaded ever get fired, even so I don't know 
> how to fix/patch it.
>
>
>

-- 
Note that posts from new members are moderated - please be patient with your 
first post.
--- 
You received this message because you are subscribed to the Google Groups 
"ClojureScript" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to clojurescript+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/clojurescript/97a78456-54a2-4c2b-8e9b-95004b7f801d%40googlegroups.com.


[ClojureScript] Re: (failed) Attempts to inject cljs repl into 3rd party webpage

2019-08-13 Thread Thomas Heller
You cannot really inject a shadow-cljs dev build into any arbitrary page. 
It is not designed for that and will potentially conflict with the page 
itself in bad ways.

You can set :devtools {:devtools-url "https://your.host:23456"} to 
overwrite where the socket is trying to connect to. The Browser console 
will tell if you that connect fails.

DOMContentLoaded is not used by the CLJS build, not sure why you are asking 
about it. If you are trying to register an event handler for it you are 
likely just registering it too late when it has already fired.

On Tuesday, August 13, 2019 at 6:40:36 AM UTC+2, Sigmund Tzeng wrote:
>
> Hi there,
>
> Here are my steps to inject cljs repl into 3rd party webpage:
>
> 1. inject the following line via "Custom JavaScript for websites"
>
>  (function(){var d=document;var s=d.createElement('script');s.src='
> https://localhost:8090/js/main.js';d.body.appendChild(s);})()
>
> 2. *.edn file:
>
> ;; shadow-cljs configuration
> {:source-paths
>  ["src/dev"
>   "src/main"
>   "src/test"]
>
>  :dependencies
>  [[reagent "0.8.1"] ;[etaoin "0.3.5"]
>  ]
>  :ssl {} ;for shadow-cljs server, defaults to 9630 port
>  :http {:port 9630
> :ssl-port 23456
> :host "localhost"} 
>  :dev-http {8090 {:root "public"
> :push-state/headers {"Access-Control-Allow-Origin" "*" }}
>   }
>  :builds
> {:frontend
>   {:target :browser
>:asset-path "https://localhost:8090/js;
>:modules {:main {:init-fn acme.frontend.app/init}}
>}}}
>
> 3. modify main.js with no-cors mode
>
>   fetch(uri, {mode: 'no-cors'})
>
> 4. However, the browser endpoint (shown below) is never called 
>
> wss://localhost:23456/ws/worker/frontend/.../browser
>
> 5. what am i missing here? the emacs skewer-mode seem to work just fine.
>   Was wondering if DOMContentLoaded ever get fired, even so I don't know 
> how to fix/patch it.
>
>
>

-- 
Note that posts from new members are moderated - please be patient with your 
first post.
--- 
You received this message because you are subscribed to the Google Groups 
"ClojureScript" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to clojurescript+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/clojurescript/d1c90213-c433-42bf-a8e1-3bf5500295f4%40googlegroups.com.