Closed groundedsage closed 3 years ago
Both the clj and cljs tests pass now with the same codebase.
It is not possible to use a cross-platform macro that is used within another cross-platform macro in the same namespace because macros always expand in clj first. The first macro can use (:ns &env)
fine but the second will not.
Possible solutions available were:
-cljs
then :require-macros .. :refer .. :rename {foo-cljs foo}
this is always needed in the ns requires and could be confusing to contributorsI have opted for the second. This does create quite a lot of duplication. So in the future, it may be preferable to change to option 1 when this library is considered done
There is still the joda-time js stuff in there, which we do not need, I think.
simple-konserve-test
and themanual-mixed-op-seq
pass in cljs when the dynamic var forif-async?
is set to true. Cljs tests are ran withshadow-cljs watch browser-test
andshadow-cljs compile node-test
. Clj tests are run withbin/kaocha
. Clj works well with the dynamic var set to true or false.Currently uses a branch where I updated konserve in-memory store support for cljs as a dependency.
When the dynamic var is set to false it causes complications during macro expansion which causes the cljs tests to not run.