appsmithorg / appsmithorg/appsmith

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

Aperta
#3,136 1 commento 1 reazione 0 assegnatari Vedi su GitHub
Enhancement Javascript Product JS Evaluation Low Query & JS Pod Query Widgets & IDE Pod
Lingua principale
TypeScript
Stelle
40.9k
Fork
4.8k
Merge medio
1g 22h
PR unite (30g)
45

Descrizione

## 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.

Guida per i contributori

Apri la guida per i contributori

Valutazione

Questa issue non è ancora stata valutata.

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.