feat: add expression playground tooling - #175
Conversation
Generate Monaco tokenizers and configurations from CEL, Go template, and JSONPath vocabularies. Keep editor highlighting aligned with evaluator grammars and registered functions, with deterministic output and lexer-backed conformance validation.
Expose reusable evaluation and metadata endpoints for hosts embedding gomplate's language playground. Support CEL, Go templates, JSONPath, and JavaScript with source-positioned errors, typed results, host-provided functions, examples, and bounded responses.
Adds generated Monaco language support and an interactive playground for gomplate expressions and templates. Keeps editor catalogues aligned with evaluator registries while providing completion, hover, theming, object-graph exploration, and live evaluation. Includes generated specs, conformance coverage, package documentation, and playground tests.
Provide a browser playground that evaluates against the real gomplate engine and stays aligned with its language registries. Add generated Monaco definitions with drift detection, plus CI coverage for web typechecking, tests, and builds.
Add concurrency-safe native type registration so CEL preserves registered Go values and JSON field mappings. Upgrade cel-go to v0.31, support optimized execution decorators, and enforce a 10,000-instruction regex limit. Rework benchmark CI to interleave base/head samples and report metric-level CSV regressions with tests. Document the new CEL behavior and upcoming collection helpers. Claude-Session-Id: 019fef64-038b-7471-9962-6019a7d08109
|
Important Review skippedToo many files! This PR contains 108 files, which is 8 over the limit of 100. To get a review, reduce the PR to 100 files or fewer by splitting it into smaller PRs or changing its base branch. Upgrade to a paid plan to raise the limit. This review couldn't start because sufficient usage credits or metered capacity aren't available. Add credits or update usage-based reviews in the billing tab, then retry. ⚙️ Run configurationConfiguration used: Organization UI Review profile: CHILL Plan: Pro Plus Run ID: ⛔ Files ignored due to path filters (6)
📒 Files selected for processing (108)
You can disable this status message by setting the Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
BenchstatBase: 5 minor regression(s) (all within 5% threshold)
13 improvement(s)
Full benchstat output |
|
Review the following changes in direct dependencies. Learn more about Socket for GitHub. |
|
Warning Review the following alerts detected in dependencies. According to your organization's Security Policy, it is recommended to resolve "Warn" alerts. Learn more about Socket for GitHub.
|
… one JSON artifact Keep tokenizer and configuration data together in one stable generated artifact while preserving the definitions export. BREAKING CHANGE: Remove per-language *.monarch.json and *.config.json artifacts; consumers must use languages.json or the generated definitions export Claude-Session-Id: 36467ebc-f368-4040-bc75-e28248497b4c
Keep generated Monarch and editor configuration metadata in one catalog so the language package has a single import surface while preserving all existing definitions.
What
Why