dillon1000/react

Commit

[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 outputs
Browse files
Changed paths6 files
First-parent comparison
M compiler/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 Added
Patch

Files changed

Rendering syntax-highlighted changes…