Fork me on GitHub
#shadow-cljs
<
2021-07-21
>
Timofey Sitnikov11:07:27

Hello Clojurians. I run my development environment in a VirtualBox on my Mac with 8GB of RAM. Because of amazing thing like clojure_lsp, I am out of memory. I am developing using Fulcro Library, and it seems to require tons of dependencies. Are there some ideas of how I can reduce shadow-cljs memory usage? Is one JVM better than others? Is there a way to run in a mode that reduces the memory usage.

awb9914:07:26

I am trying to use "vega-loader-arrow" "0.0.10" in my deps.cljs. And when I inclued it in a cljs file I get the following error in the browser: TypeError: Cannot read property 'ByteBuffer' of undefined at Object.shadow$provide.module$node_modules$apache_arrow$util$buffer (buffer.js:23) at shadow.js.jsRequire (js.js:66) at Object.shadow$provide.module$node_modules$apache_arrow$io$adapters (adapters.js:20) at shadow.js.jsRequire (js.js:66) at Object.shadow$provide.module$node_modules$apache_arrow$Arrow_dom (Arrow.dom.js:21) at shadow.js.jsRequire (js.js:66) at eval (vega-loader-arrow.js:3) at Object.shadow$provide.module$node_modules$vega_loader_arrow$build$vega_loader_arrow (vega-loader-arrow.js:2) at Object.shadow.js.jsRequire (js.js:66) at Object.shadow.js.require (js.js:113)

awb9914:07:53

does this error mean thst this npm package module type is not supported?

awb9914:07:47

the error comes from "flatbuffers" npm dependency

awb9914:07:53

which is transient

thheller16:07:16

@timofey.sitnikov you can always limit the amount of memory shadow-cljs uses. assuming you use only shadow-cljs.edn you can set :jvm-opts ["-Xmx600m"] to limit to 600mb. that is usually plenty unless you run like 5 watch in parallel

thheller16:07:15

@hoertlehner it means that it Cannot read property 'ByteBuffer' of undefined. why that is so I do not know, don't know what it is trying to access that on. as always can't say much more without a reproducible repo