appsmithorg / appsmithorg/appsmith

[Feature] Deep freeze properties that should not get updated before evaluation

Offen
#3,136 1 Kommentar 1 Reaktion 0 zugewiesene Personen Auf GitHub ansehen
Enhancement Javascript Product JS Evaluation Low Query & JS Pod Query Widgets & IDE Pod
Vorherrschende Sprache
TypeScript
Sterne
40.9k
Forks
4.8k
Ø Merge
1 T. 22 Std.
Gemergte PRs (30 T.)
45

Beschreibung

## Summary

Today I can add a binding like the following anywhere and cause data issues in my app.

```
Table1.tableData => {{ (()=>{ Api1.data = [{"hello": "world"}]; return Api1.data;})() }}
```

## Motivation

While the example above might look trivial, subtler versions like `.shift()` to get the first row (keys) from a google sheet can cause issues that would become really difficult for the user to debug later on.

Deep freezing will make sure that the user gets an error when they accidentally mutate an object that they're not supposed to.

Beitragsleitfaden

Beitragsleitfaden öffnen

Bewertung

Dieses Issue wurde noch nicht bewertet.

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.