Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[expressions][kql] Migrate from PEG.js to new "Peggy" fork. #97504

Closed
lukeelmers opened this issue Apr 19, 2021 · 5 comments · Fixed by #103169
Closed

[expressions][kql] Migrate from PEG.js to new "Peggy" fork. #97504

lukeelmers opened this issue Apr 19, 2021 · 5 comments · Fixed by #103169
Assignees
Labels
chore Feature:ExpressionLanguage Interpreter expression language (aka canvas pipeline) Feature:KQL KQL impact:low Addressing this issue will have a low level of impact on the quality/strength of our product. loe:medium Medium Level of Effort triage_needed

Comments

@lukeelmers
Copy link
Member

As discussed in this issue, development of the PEG.js library has stalled as the maintainer has abandoned the project.

A new fork named Peggy has been created and community members are being encouraged to migrate to it.

If we plan to keep the PEG-based implementation of KQL and Expressions for the foreseeable future, we should consider migrating to the fork so that we can keep getting updates.

@lukeelmers lukeelmers added chore Feature:ExpressionLanguage Interpreter expression language (aka canvas pipeline) Feature:KQL KQL Team:AppServices labels Apr 19, 2021
@elasticmachine
Copy link
Contributor

Pinging @elastic/kibana-app-services (Team:AppServices)

@wylieconlon
Copy link
Contributor

We also use this for tinymath and the work on the Lens formula system.

@legrego
Copy link
Member

legrego commented Apr 21, 2021

@lukeelmers just caught up on the linked PEG.js issue, and I was pleasantly surprised to see that you're one step ahead of me! Thanks for opening this issue so we can track progress on our end 💚

@wylieconlon
Copy link
Contributor

It looks like the fork is fully backwards-compatible, so I prepared a small PR to move tinymath over. I will spend a short time to see if I can migrate all the grammars at once, since I found it quite a small task.

@wylieconlon
Copy link
Contributor

As explained in #17284, this issue is blocked because our build tooling only uses peg.js 0.9.0, so switching libraries would also require upgrading the build. I think that whoever is migrating this would need to move all .peg grammars (timelion, kql, expressions) into packages/*, so that we are able to use Bazel to automatically build these files. We can probably do the peggy migration at the same time as moving the grammars into packages/*

@exalate-issue-sync exalate-issue-sync bot added impact:low Addressing this issue will have a low level of impact on the quality/strength of our product. loe:small Small Level of Effort loe:medium Medium Level of Effort and removed loe:small Small Level of Effort labels Apr 26, 2021
@petrklapka petrklapka added 1 and removed 1 labels May 6, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
chore Feature:ExpressionLanguage Interpreter expression language (aka canvas pipeline) Feature:KQL KQL impact:low Addressing this issue will have a low level of impact on the quality/strength of our product. loe:medium Medium Level of Effort triage_needed
Projects
None yet
6 participants