Repository navigation
Conversation
|
Important Review skippedBot user detected. To trigger a single review, invoke the ⚙️ Run configuration
You can disable this status message by setting the Use the checkbox below for a quick retry:
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 |
|
Hi @Copilot!, thanks for the Pull Request The pull request title isn't properly formatted. We ask that you update the pull request title to match this format, as we use it to generate changelogs and automate releases.
To Fix: You can fix this problem by clicking 'Edit' next to the pull request title at the top of this page. Read more about contributing to ESLint here |
|
Hi @Copilot!, thanks for the Pull Request The pull request title isn't properly formatted. We ask that you update the pull request title to match this format, as we use it to generate changelogs and automate releases.
To Fix: You can fix this problem by clicking 'Edit' next to the pull request title at the top of this page. Read more about contributing to ESLint here |
3 similar comments
|
Hi @Copilot!, thanks for the Pull Request The pull request title isn't properly formatted. We ask that you update the pull request title to match this format, as we use it to generate changelogs and automate releases.
To Fix: You can fix this problem by clicking 'Edit' next to the pull request title at the top of this page. Read more about contributing to ESLint here |
|
Hi @Copilot!, thanks for the Pull Request The pull request title isn't properly formatted. We ask that you update the pull request title to match this format, as we use it to generate changelogs and automate releases.
To Fix: You can fix this problem by clicking 'Edit' next to the pull request title at the top of this page. Read more about contributing to ESLint here |
|
Hi @Copilot!, thanks for the Pull Request The pull request title isn't properly formatted. We ask that you update the pull request title to match this format, as we use it to generate changelogs and automate releases.
To Fix: You can fix this problem by clicking 'Edit' next to the pull request title at the top of this page. Read more about contributing to ESLint here |
use-baseline schema depth to avoid config stack overflows
|
Hi @Copilot!, thanks for the Pull Request The pull request title isn't properly formatted. We ask that you update the pull request title to match this format, as we use it to generate changelogs and automate releases.
To Fix: You can fix this problem by clicking 'Edit' next to the pull request title at the top of this page. Read more about contributing to ESLint here |
use-baseline schema depth to avoid config stack overflowsuse-baseline schema depth to avoid config stack overflows
|
@copilot fix failing CI checks |
|
@copilot with this approach, we lose validation of property values through the rule schema. Can we add back validation inside the |
| type: "object", | ||
| properties: Object.fromEntries( | ||
| Array.from(properties.keys()).map(prop => { | ||
| const values = new Set([ |
There was a problem hiding this comment.
If we want to keep the values, we could not construct Set here as globalKeywords.keys and propertyValues.get(prop).keys() have no overlap.
This would also remove the conversion from Set to Array for the enum.
Unfortunately this would be not enough for the test case below with stack size 100.
For me this reliably works for node version 26.10 (unaffected from this bug) with a stack size of 400.
Unfortunately we cannot use iterator helpers (by removing "Array.from()" around "properties.keys()" as we support v20 which also should help with decreasing the required memory.
Co-authored-by: nzakas <38546+nzakas@users.noreply.github.com>
Co-authored-by: nzakas <38546+nzakas@users.noreply.github.com>
Moves the per-property value check out of the schema and into `create()` so invalid values are still reported without generating a schema large enough to overflow the stack. Also increases the stack size used by the regression test to reduce the chance of flakiness. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
69bb161 to
ff166bc
Compare
css/use-baselinecould overflow the stack while ESLint compiled the rule option schema when the environment had less available stack space, as seen with some installs that includenode@25.x. The failure happened during config validation, before any CSS file content was analyzed.Problem
allowPropertyValuesbuilt a very large nested JSON schema by enumerating every allowed value for every known property.Maximum call stack size exceededin affected environments during rule schema compilation.Change
allowPropertyValuesschema validation:Regression coverage
css/use-baselinein a subprocess with constrained stack space and verifies config compilation succeeds.Behavioral impact
allowPropertyValues.