Fork me on GitHub

I'm trying to follow set up guides for both fulcro and re-frame, and I'm hitting a dead-end in both scenarios when it comes to "Having no JS environment" (even if I ensure I visit something like localhost:8200 before trying repl buffer evaluation, in fact, i visited 3 localhost domains trying fulcro that were output in terminal). If I change from build-id :main or :app to browser, I can get a successful repl call to something like (js/alert 1) to work, but can't load any files from my project template (cljs) in repl. I thought my issue may have been emacs/cider specific, but even following the guide on shadow-cljs and said binary to make a client connection presented the same failure - I tried going through the shadow-cljs documentation for that section to no avail - any idea what I may be messing up?


@m131 sorry, don't know anything about emacs/cider. I can tell you how it works with the command line and maybe you can reconstruct what to do from there.


when you visit the browser page that has your compiled JS loaded you should be getting a shadow-cljs ready log in the browser console

thanks3 2

assuming for all of this that your shadow-cljs watch the-build-id process is running


Hi! I am using only whitespace :optimasations and continue to recieve warnings from chrome web store about code obfuscation. Can we somehow deel with such code obfuscation? out/background.js:null:null: var cljs$cst$symbol$response = new cljs.core.Symbol(null, "response", "response", 572107335, null);...............


So the shadow-cljs build reports are fantastic, but is there a way to get even more detailed info? Specifically, I'd like to know which vars are getting pulled in from a specific namespace, and what code is pulling them in.


@dovganchin sorry, don't know what that error message means. definitely do not use :whitespace regardless though. at the very least :simple better :advanced. I doubt that is responsible for any issue you might see


@wombawomba that info does not exist. if you want that kind of detail you can use shadow-cljs release app --pseudo-names and go browsing through the code. through pseudo names you can sort of tell where code comes from and how it got there


alright, yeah, that's what I'm trying to do currently


@thheller earlier I have used --pseudo-names, and it were ok, but now apparently the requirements for code readability (for chrome extension) have increased and even using :simple does not work. It looks like we can no longer use clojuresctipt in chrome extension development.

😨 1

that sounds highly unlikely. I don't know how they define readable but every build tool I know of minimizes the code in some way


I know they banned certain things such as eval and dynamic script loading. never head of a "readability" check


“Starting today, Chrome Web Store will no longer allow extensions with obfuscated code.” and later “Thus, minification will still be allowed, including the following techniques:”


haha thats ridicilous. but according to their description :simple should be fine


as if a human would read that code ...


especially whats wrong with var cljs$cst$symbol$response = new cljs.core.Symbol(null, "response", "response", 572107335, null);


too many $ in the variable name or what? 😛

🤕 1

you can try :compiler-options {:shadow-keywords true} in the build config. maybe its happy with that? somehow doubt that change anything but it will change that code a little bit