eslint / eslint/code-explorer

Bug: JSON AST view is not updated when the source changes after an error

Open
#541 1 comment 0 reactions 1 assignee Claimed by @DMartens View on GitHub
bug repro:yes
Dominant language
TypeScript
Stars
61
Forks
23
Avg merge
2d 19h
Merged PRs (30d)
24

Description

### What browser did you use to see problem?

Chrome and Firefox

### What did you do?

In Code Explorer I chose the JavaScript language and switched to JSON AST view.

In the source panel on the left, I entered a bigint, e.g. `2n`. Then I deleted it again.

Image

The panel on the right shows an error because the AST is not serializable, which is fine, but the error remains even if the source is modified to remove the unserializable bigint.

[**Example**](https://explorer.eslint.org/#eslint-explorer=v2.eyJzdGF0ZSI6eyJ0b29sIjoiYXN0IiwiY29kZSI6eyJqYXZhc2NyaXB0IjoiMm4iLCJqc29uIjoiLyoqXG4gKiBUeXBlIG9yIHBhc3RlIHNvbWUgSlNPTiBoZXJlIHRvIGxlYXJuIG1vcmUgYWJvdXRcbiAqIHRoZSBzdGF0aWMgYW5hbHlzaXMgdGhhdCBFU0xpbnQgY2FuIGRvIGZvciB5b3UuXG4gKlxuICogVGhlIHRhYnMgYXJlOlxuICpcbiAqIC0gQVNUIC0gVGhlIEFic3RyYWN0IFN5bnRheCBUcmVlIG9mIHRoZSBjb2RlLCB3aGljaCBjYW5cbiAqICAgYmUgdXNlZnVsIHRvIHVuZGVyc3RhbmQgdGhlIHN0cnVjdHVyZSBvZiB0aGUgY29kZS4gWW91XG4gKiAgIGNhbiB2aWV3IHRoaXMgc3RydWN0dXJlIGFzIEpTT04gb3IgaW4gYSB0cmVlIGZvcm1hdC5cbiAqXG4gKiBZb3UgY2FuIGNoYW5nZSB0aGUgd2F5IHRoYXQgdGhlIEpTT04gY29kZSBpcyBpbnRlcnByZXRlZFxuICogYnkgY2xpY2tpbmcgXCJKU09OXCIgaW4gdGhlIGhlYWRlciBhbmQgc2VsZWN0aW5nIGRpZmZlcmVudFxuICogb3B0aW9ucy5cbiAqXG4gKiBUaGlzIGV4YW1wbGUgaXMgaW4gSlNPTkMgbW9kZSwgd2hpY2ggYWxsb3dzIGNvbW1lbnRzLlxuICovXG5cbntcbiAgICBcImtleTFcIjogW3RydWUsIGZhbHNlLCBudWxsXSxcbiAgICBcImtleTJcIjoge1xuICAgICAgICBcImtleTNcIjogWzEsIDIsIFwiM1wiLCAxZTEwLCAxZS0zXVxuICAgIH1cbn0iLCJtYXJrZG93biI6IjwhLS1cblR5cGUgb3IgcGFzdGUgc29tZSBNYXJrZG93biBoZXJlIHRvIGxlYXJuIG1vcmUgYWJvdXRcbnRoZSBzdGF0aWMgYW5hbHlzaXMgdGhhdCBFU0xpbnQgY2FuIGRvIGZvciB5b3UuXG5cblRoZSB0YWJzIGFyZTpcblxuLSBBU1QgLSBUaGUgQWJzdHJhY3QgU3ludGF4IFRyZWUgb2YgdGhlIGNvZGUsIHdoaWNoIGNhblxuYmUgdXNlZnVsIHRvIHVuZGVyc3RhbmQgdGhlIHN0cnVjdHVyZSBvZiB0aGUgY29kZS4gWW91XG5jYW4gdmlldyB0aGlzIHN0cnVjdHVyZSBhcyBKU09OIG9yIGluIGEgdHJlZSBmb3JtYXQuXG5cbllvdSBjYW4gY2hhbmdlIHRoZSB3YXkgdGhhdCB0aGUgTWFya2Rvd24gY29kZSBpcyBpbnRlcnByZXRlZFxuYnkgY2xpY2tpbmcgXCJNYXJrZG93blwiIGluIHRoZSBoZWFkZXIgYW5kIHNlbGVjdGluZyBkaWZmZXJlbnRcbm9wdGlvbnMuXG5cblRoaXMgZXhhbXBsZSBpcyBpbiBDb21tb25NYXJrIG1vZGUuXG4tLT5cblxuIyBFU0xpbnQgTWFya2Rvd24gRXhhbXBsZVxuXG5UaGlzIGlzIGFuIGV4YW1wbGUgb2YgYSBNYXJrZG93biBmaWxlIHRoYXQgY2FuIGJlIHBhcnNlZFxuYnkgRVNMaW50LiBNYXJrZG93biBpcyBhIHNpbXBsZSBtYXJrdXAgbGFuZ3VhZ2UgdGhhdCBpc1xub2Z0ZW4gdXNlZCBmb3IgZG9jdW1lbnRhdGlvbi5cblxuIyMgRmVhdHVyZXNcblxuLSBNYWtlIHRoaW5ncyAqaXRhbGljKiwgKipib2xkKiosIG9yIGBjb2RlYFxuLSBDcmVhdGUgW2xpbmtzXShodHRwczovL2VzbGludC5vcmcpXG4tIFN1cHBvcnRzIEhUTUwgPHNwYW4gc3R5bGU9XCJjb2xvcjogcmVkO1wiPmVsZW1lbnRzPC9zcGFuPlxuLSBMaXN0c1xuICAtIE5lc3RlZCBsaXN0cyIsImNzcyI6Ii8qKlxuICogVHlwZSBvciBwYXN0ZSBzb21lIENTUyBoZXJlIHRvIGxlYXJuIG1vcmUgYWJvdXRcbiAqIHRoZSBzdGF0aWMgYW5hbHlzaXMgdGhhdCBFU0xpbnQgY2FuIGRvIGZvciB5b3UuXG4gKlxuICogVGhlIHRhYnMgYXJlOlxuICpcbiAqIC0gQVNUIC0gVGhlIEFic3RyYWN0IFN5bnRheCBUcmVlIG9mIHRoZSBjb2RlLCB3aGljaCBjYW5cbiAqICAgYmUgdXNlZnVsIHRvIHVuZGVyc3RhbmQgdGhlIHN0cnVjdHVyZSBvZiB0aGUgY29kZS4gWW91XG4gKiAgIGNhbiB2aWV3IHRoaXMgc3RydWN0dXJlIGFzIEpTT04gb3IgaW4gYSB0cmVlIGZvcm1hdC5cbiAqXG4gKiBZb3UgY2FuIGNoYW5nZSB0aGUgd2F5IHRoYXQgdGhlIENTUyBjb2RlIGlzIGludGVycHJldGVkXG4gKiBieSBjbGlja2luZyBcIkNTU1wiIGluIHRoZSBoZWFkZXIgYW5kIHNlbGVjdGluZyBkaWZmZXJlbnRcbiAqIG9wdGlvbnMuXG4gKi9cblxuQGltcG9ydCB1cmwoJ2h0dHBzOi8vZm9udHMuZ29vZ2xlYXBpcy5jb20vY3NzMj9mYW1pbHk9Um9ib3RvOndnaHRANDAwOzcwMCZkaXNwbGF5PXN3YXAnKTtcblxuYm9keSB7XG5cdGZvbnQtZmFtaWx5OiBzYW5zLXNlcmlmO1xufVxuXG5oMSB7XG5cdGNvbG9yOiAjMzMzO1xufVxuXG5wIHtcblx0bWFyZ2luOiAxZW0gMDtcbn0iLCJodG1sIjoiPCFET0NUWVBFIGh0bWw-XG48IS0tXG5UeXBlIG9yIHBhc3RlIHNvbWUgSFRNTCBoZXJlIHRvIGxlYXJuIG1vcmUgYWJvdXRcbnRoZSBzdGF0aWMgYW5hbHlzaXMgdGhhdCBFU0xpbnQgY2FuIGRvIGZvciB5b3UuXG5cblRoZSB0YWJzIGFyZTpcblxuLSBBU1QgLSBUaGUgQWJzdHJhY3QgU3ludGF4IFRyZWUgb2YgdGhlIGNvZGUsIHdoaWNoIGNhblxuYmUgdXNlZnVsIHRvIHVuZGVyc3RhbmQgdGhlIHN0cnVjdHVyZSBvZiB0aGUgY29kZS4gWW91XG5jYW4gdmlldyB0aGlzIHN0cnVjdHVyZSBhcyBKU09OIG9yIGluIGEgdHJlZSBmb3JtYXQuXG4tLT5cblxuPGh0bWwgbGFuZz1cImVuXCI-XG4gICAgPGhlYWQ-XG4gICAgICAgIDxtZXRhIGNoYXJzZXQ9XCJVVEYtOFwiPlxuICAgICAgICA8dGl0bGU-SFRNTDwvdGl0bGU-XG4gICAgPC9oZWFkPlxuICAgIDxib2R5PlxuICAgICAgICA8cD5UZXh0PC9wPlxuICAgIDwvYm9keT5cbjwvaHRtbD4ifSwibGFuZ3VhZ2UiOiJqYXZhc2NyaXB0IiwianNPcHRpb25zIjp7InBhcnNlciI6ImVzcHJlZSIsInNvdXJjZVR5cGUiOiJtb2R1bGUiLCJlc1ZlcnNpb24iOiJsYXRlc3QiLCJpc0pTWCI6dHJ1ZX0sImpzb25PcHRpb25zIjp7Impzb25Nb2RlIjoianNvbmMiLCJhbGxvd1RyYWlsaW5nQ29tbWFzIjpmYWxzZX0sImNzc09wdGlvbnMiOnsiY3NzTW9kZSI6ImNzcyIsInRvbGVyYW50IjpmYWxzZX0sIm1hcmtkb3duT3B0aW9ucyI6eyJtYXJrZG93bk1vZGUiOiJjb21tb25tYXJrIiwibWFya2Rvd25Gcm9udG1hdHRlciI6Im9mZiIsIm1hcmtkb3duTWF0aCI6ZmFsc2V9LCJodG1sT3B0aW9ucyI6eyJ0ZW1wbGF0ZUVuZ2luZVN5bnRheCI6Im5vbmUiLCJmcm9udG1hdHRlciI6ZmFsc2V9LCJ3cmFwIjpmYWxzZSwidmlld01vZGVzIjp7ImFzdFZpZXciOiJqc29uIiwic2NvcGVWaWV3IjoiZmxhdCIsInBhdGhWaWV3IjoiZ3JhcGgifSwicGF0aEluZGV4Ijp7ImluZGV4IjowLCJpbmRleGVzIjoxfSwiZXNxdWVyeVNlbGVjdG9yIjp7InNlbGVjdG9yIjoiIn19LCJ2ZXJzaW9uIjowfQ)

### What did you expect to happen?

The error in the right panel should disappear when the source is edited and the AST becomes serializable.

### What actually happened?

The error remains even when the source is changed.

### Participation

- [ ] I am willing to submit a pull request for this issue.

### AI acknowledgment

- [x] I did not use AI to generate this issue report.
- [ ] (If the above is not checked) I have reviewed the AI-generated content before submitting.

### Additional comments

_No response_

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.