dillon1000/react
Commit
Browse files [devx] emit calls to `makeReadOnly` for debugging
---
Emit calls to makeReadOnly for memoized values.
```js
function MyComponent() {
let x;
if (c_0) {
x = // ... (recompute x)
$[0] = __DEV__ ? makeReadOnly(x, "MyComponent") : x;
} else {
x = $[0]
}
}
```
- import source / specifier should be configurable, as
- we'll likely want to add gk gating to `makeReadOnly` itself to reduce codesize
bloat
- each Forget project needs different logging and filter configurations
- codegen function name as an argument for easier debugging
- only freeze memoized outputsChanged paths6 files
First-parent comparisoncompiler/forget/packages/babel-plugin-react-forget/src/Entrypoint/Program.ts ModifiedM compiler/forget/packages/babel-plugin-react-forget/src/HIR/Environment.ts ModifiedM compiler/forget/packages/babel-plugin-react-forget/src/ReactiveScopes/CodegenReactiveFunction.ts ModifiedM compiler/forget/packages/snap/src/compiler-worker.ts ModifiedA compiler/forget/src/__tests__/fixtures/compiler/emit-make-read-only.expect.md AddedA compiler/forget/src/__tests__/fixtures/compiler/emit-make-read-only.js AddedPatch
Files changed
Rendering syntax-highlighted changes…