Fork me on GitHub

@loganpowell I don't really understand what you are trying to do? You are trying to include the compiled library in CLJS?

Logan Powell12:11:11

So, I might be setting myself up for failure, but I have a function that can cause js vm heap overflow that I'm hoping to offload to a worker using this library (which uses promises to communicate with webworkers/child_processes): with this library (which enables translation of promises to core.async compatible things): I'm trying to test out some code I want to use inside the "pool"... maybe I should use the web workers config?


are you running in node? or the browser?


ewww .. do not use that library. it is only going to work for extremely basic examples since it relies on turning the function into a string

Logan Powell14:11:21

is there a better library you are aware of? I'm trying to run in browser and node, but developing in node


@loganpowell and no you can use promises directly without any kind of tricks or pre-compile/re-include tricks


FWIW I improved the error message for the problem you are running into to make it clearer what is happening

๐Ÿ™ 4

I just added a quickstart section to the main readme. Feedback very welcome. Not sure if I should make this a separate document or part of the user guide or blog post.


@thheller thats wonderful. I'd love to see that prominently linked off the project page

Hannu Hartikainen12:11:45

I was trying to reproduce a possible bug in reitit and the maintainer (@ikitommi) noted that thereโ€™s something weird about how backtick resolution works with shadow-cljs. This code runs

(js/console.log `int?)
and the value is starter.browser/int? instead of the expected cljs.core/int?. Did I do something wrong or is that a bug?


hmm strange. looking into it


I tried adding an entry for cljsjs.js-joda in shadow-cljsjs, but the build fails with an NPE like this Am I doing something wrong or should I file an issue?


Actually, scratch that. I was barking up the wrong tree. It's actually this issue:


@hannu.hartikainen just pushed 2.6.24 which fixes the incorrect int? resolve. thanks for the report.

๐Ÿ‘ 4
Hannu Hartikainen14:11:33

great! now back to my original repro ๐Ÿ™‚

Logan Powell17:11:21

What's the difference between an explicitly configured :npm-module (with :entries) and the :node-library target?


@loganpowell the way it is packaged. :node-library has one thing JS can require while :npm-module has one per NS

Logan Powell18:11:11

should I still :output-dir to node_modules when using :node-library if I'm looking for smooth JS ecosystem interop?


I still don't know what you are trying to do exactly


especially what "smooth JS ecosystem interop" means to you


does that mean you publishing a library to npm that JS can use?


if you are building something that you are going to consume from CLJS then do not use either

Logan Powell18:11:08

"publishing a library to npm that JS can use": exactly


then I recommend :node-library


unless you really need more complex stuff that :node-library can't do (eg. multiple require entries)


just pushed for those eager to play with the new CLJS release

๐ŸŽ‰ 20

don't expect too much from the promised performance gains ... most of them were already in shadow-cljs for a while


symbols with . in them are now checked more strictly and may produce warnings when used improperly


previous versions accepted ANY symbol with a . without validation (eg. i.dont.exist) would not warn at compile time and only fail at runtime


cool thanks Thomas, I will bump and report ๐Ÿ˜„