When updating malli dependencies, Cherry got updated from 0c4e0d1de534a4cf910ed7079638dbcfec8ec8b7 to 3f78c7e03e1b940c0cbc05e8c5bc76f8295055cb, breaking the sci-tests. Seems like the namespace aliases don’t work as expected. Using this config:
(defn -default-sci-options []
{:preset :termination-safe
:aliases {'str 'clojure.string
'm 'malli.core}
:namespaces {'malli.core {'properties properties
'type type
'children children
'entries entries}}})
any ideas what has changed and how to mitigate?interesting...
can you log an issue with SCI? I'll take a look on Monday
preferably a SCI-only repro if possible
I’ll do that
@ikitommi alright, I'll wait for the issue
@ikitommi is it about this failing test? https://github.com/metosin/malli/actions/runs/8764828329/job/24055235948 I don't see how this is related to SCI though
it's probably a cherry issue, I'll take a look later today
forgot, wrote it to cherry: https://github.com/squint-cljs/cherry/issues/130
it’s just using SCI under Cherry.
SCI under cherry?
I'm confused
the failing code uses m/eval, e.g.
(m/eval "(m/properties [int? {:district 9}])")
doesn’t work anymore with cherry.yes, but how does that relate to SCI?
I'll take a look regardless, doesn't matter
thanks! m/eval uses SCI to evaluate the code, to be honest, I have no idea how that works with cherry.
it only uses SCI if you enable SCI. If you enable cherry, m/eval evaluates through cherry only:
(defn eval
([code] (eval code nil))
([code _opts]
(cond (or (symbol? code)
(seq? code))
(cherry/eval-form code cherry-opts)
(string? code)
(cherry/eval-string code cherry-opts)
:else code)))
(set! malli.core/eval eval)That code is in malli.cherry
I'll take a look right now
should be fixed with cherry main branch now, sorry for the inconvenience