cloojure / tupelo

Tupelo: Clojure With A Spoonful of Honey
Eclipse Public License 1.0
510 stars 15 forks source link

Is this library production ready for CLJS? #22

Closed rlhk closed 1 year ago

rlhk commented 1 year ago

I'm trying to use the library for a shadow-cljs project. Believe I've got (:require-macros ... correct, but got a lot of warning like:

------ WARNING #2 - :undeclared-var --------------------------------------------
 Resource: tupelo/core.cljc:403:54
 Use of undeclared Var tupelo.core/Character
--------------------------------------------------------------------------------
...

And there are codes marked fix for CLJS related to error outputs.

If it's not ready for CLJS, it'd be good to mention in the readme.

Or do I miss anything?

catalan42 commented 1 year ago

Hi - I used it for CLJS quite a bit in the past, but haven't recently. Let me look into it. I know other people have been using in it CLJS. Alan

On Mon, Mar 27, 2023 at 3:19 AM Roger Lam @.***> wrote:

I'm trying to use the library for a shadow-cljs project. Believe I've got (:require-macros ... correct, but got a lot of warning like:

------ WARNING #2 - :undeclared-var -------------------------------------------- Resource: tupelo/core.cljc:403:54 Use of undeclared Var tupelo.core/Character

...

And there are codes marked fix for CLJS related to error outputs.

If it's not ready for CLJS, it'd be good to mention in the readme.

Or do I miss anything?

— Reply to this email directly, view it on GitHub https://github.com/cloojure/tupelo/issues/22, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAXA6GJIMC2GW5OS3GH3IVLW6FSTDANCNFSM6AAAAAAWI7LWQ4 . You are receiving this because you are subscribed to this thread.Message ID: @.***>

cloojure commented 1 year ago

I went through the code and made sure I could compile and run all the unit tests using shadow-cljs. Could you please let me know if the new version is OK for you? It is

23.03.28-SNAPSHOT

Thanks, Alan

rlhk commented 1 year ago

Hi Alan, thanks for your effort!

I just tested and got a different (kind of) error this time: The required namespace "tupelo.core" is not available, it was required by "config.cljs".

You could reproduce it by checking out this branch of my logseq plugin project: https://github.com/rlhk/logseq-url-plus/tree/tupelo-test It uses Babashka. So running bb build-cljs shall reveal the above error.

Specifically the commit causing the issue is: https://github.com/rlhk/logseq-url-plus/commit/12a9ac42654bb1ca3c831201d5849504a54e3eb7

Not sure if I don't get macro setup correct in the cljs file ...

cloojure commented 1 year ago

Shadow-cljs test results (nodejs backend)

~/tupelo > go-test-node-once.bash 
rm -rf out public/js

clojure -M:shadow-cljs compile test-node  # v2 using deps.edn
[:test-node] Compiling ...
========= Running Tests =======================
no "source-map-support" (run "npm install source-map-support --save-dev" to get it)

Testing tst.aaa-bootstrap

---------------------------
   ClojureScript 1.11.60
---------------------------

Testing tst.tupelo.array

Testing tst.tupelo.array.mutable

Testing tst.tupelo.chars

Testing tst.tupelo.core

Testing tst.tupelo.interval

Testing tst.tupelo.lazy

Testing tst.tupelo.lexical

Testing tst.tupelo.math

Testing tst.tupelo.misc

Testing tst.tupelo.parse

Testing tst.tupelo.schema

Testing tst.tupelo.set

Testing tst.tupelo.string

Testing tst.tupelo.string.safe

Testing tst.tupelo.tagval

Testing tst.tupelo.vec

Ran 182 tests containing 2202 assertions.
0 failures, 0 errors.
===============================================
[:test-node] Build completed. (125 files, 1 compiled, 0 warnings, 7.16s)

I have not tried using it with Babashka yet, although that is on the todo list. I'll look into your example for logseq.

Alan

RolT commented 1 year ago

I had the same error with 23.03.28-SNAPSHOT (tupelo.core not available) but the more recent 23.03.17 is working fine and removed all the warnings in cljs under shadow-cljs. I assume this version number was a mistake ?

Thanks !

catalan42 commented 1 year ago

Hi - The "-SNAPSHOT" stuff is just for internal testing and should not be used by anyone. There is a newer version 23.05.04 that is for general use. Alan

On Tue, May 9, 2023 at 8:06 AM Roland Thiolliere @.***> wrote:

I had the same error with 23.03.28-SNAPSHOT (tupelo.core not available) but the more recent 23.03.17 is working fine and removed all the warnings in cljs under shadow-cljs. I assume this version number was a mistake ?

Thanks !

— Reply to this email directly, view it on GitHub https://github.com/cloojure/tupelo/issues/22#issuecomment-1540330879, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAXA6GLZUB3F4ZVJELRYHL3XFJMPNANCNFSM6AAAAAAWI7LWQ4 . You are receiving this because you commented.Message ID: @.***>

cloojure commented 1 year ago

Let me know if anything else crops up! Alan