Closed mostlygeek closed 5 years ago
Another option is to dump JEXL for something else. One option is Google's Common Expression Language. They have C++ and Go implementations.
From the CEL Readme:
Guiding philosophy:
It seems like it would be a good fit for what we want for it. It would be nice to compare this with how we've been using JEXL.
Something that came out of our weekly meeting was perhaps a rust implementation of this. However, since there is already a CPP implementation we might be able to leverage that directly.
Also see: https://github.com/mozilla/product-delivery/issues/6, a proposal to replace JEXL with CEL
Another initative is on the way: Mobile Experiments https://docs.google.com/document/d/1C1k68VHKEhl1fp2oA_kkn23NZxsaloIIAJiukVQKgf0/edit#heading=h.kikb69snwwdr
In the fretboard project the team is building A/B experiment and gradual rollout libraries. One of the discussions is about supporting filter. We introduced mozjexl support in RemoteSettingsV2 on Fx desktop. It's powered by the same JavaScript library as Normandy.
It would be good to support the same mozjexl filter expression format with the libraries being developed in Fretboard for Android Components. I don't have any idea what the best approach would be but the goal is to:
Info about Fretboard: