Version 1.0.0
@ChromeGG, I would like to help you elevate this library. I found it easy to use and a solution to a gap in CEL. I saw in a few places in the code that you wanted to share it with the rest of the CEL community. That's a great idea, the best moment to do so would be to get it to version 1.0.0. Here are the things I believe we are missing to have a v1.
- [x] Ternary
- [ ] Literals
- [ ] bytes
- [x] Macros
- [x] All
- [x] Exists
- [x] Exists one
- [x] Filter
- [x] Map
- [ ] Update the dependencies
- [ ] Adding documentation to the exported functions
Nice to have:
- [ ] Add coverage
- [ ] Extend documentation to the rest of the helpers and visitors.
- [ ] Add security check (Snyk or something like that?)
Thoughts?
Yeah, would be nice reach 1.0.0. I agree with points you mentioned. My time is limited, but I'll be happy to help with reviews, tests & releases. Thanks, Man!
@ChromeGG fyi I've created another implementation that's considerably faster as it's not using chevrotrain as dependency. IMO the code is still quite easy to maintain.
You might want to have a look at it: https://github.com/marcbachmann/cel-js Benchmark results are here: https://github.com/marcbachmann/cel-js?tab=readme-ov-file#performance
It also includes bytes support and all the macros.
Hey @marcbachmann,
First off, great work! I've had a look at your cel-js implementation, and I'm impressed. I like the API, and the full syntax support is a big plus. The performance is also a plus.
A couple of points for consideration, though:
- TypeScript support (Even with a simple API, having TS typings would be beneficial)
- Long-term support (I have to admit that I no longer have time to actively develop this library; I only accept new PRs)
Ultimately, having a high-performance, feature-rich alternative like yours is a clear win for the community. I added a note to the README.md of this lib 🙂
Cheers!