cel-js icon indicating copy to clipboard operation
cel-js copied to clipboard

Version 1.0.0

Open Jastrzebowski opened this issue 1 year ago • 3 comments

@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?

Jastrzebowski avatar Dec 16 '24 10:12 Jastrzebowski

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 avatar Dec 16 '24 15:12 ChromeGG

@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.

marcbachmann avatar Jul 12 '25 16:07 marcbachmann

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!

ChromeGG avatar Jul 14 '25 08:07 ChromeGG