Going to change how the registry is composed. Goal is to allow easy bootstrapping of custom registries. Allows much smaller bundle size on cljs and one can (hopefully) easily add custom registries.
few sample sizes (gzipped), for malli.core (just validation):
• current (full): 12kb
• just :map
, :vector
and :string
: 4kb
• just :string
: 700b
I was surprised that the closure dce actually removes all the protocol method impls too if there is nothing using those methods. e.g. not using m/decode
or m/encode
=> all -transformer
impls are removed under :advanced
. This is really, reaaly, great.
app that uses all the features from malli, might still be big, e.g. validation, human errors, transformation, programming with schemas etc.
nice!
one step closer to malli frontend domination