dillon1000/react

Commit

Ensure <fbt> children are not independently memod

This is a Meta-ism, but adding it for now to unblock. We special-case the 
`<fbt>` element for translation purposes, and have a transform that requires the 
children of this element to be a limited subset of nodes. Notably, any dynamic 
translation values must appear as `<fbt:param>` children — we disallow 
identifiers as children of `<fbt>` nodes. 

This PR adds a new pass which finds `<fbt>` nodes and ensures their immediate 
operands are not independently memoized. Note that this still allows the values 
of `<fbt:param>` to be independently memoized, as demonstrated in the unit test.
Browse files
Changed paths9 files
First-parent comparison
M compiler/forget/src/CompilerPipeline.ts ModifiedA compiler/forget/src/ReactiveScopes/MemoizeFbtOperandsInSameScope.ts AddedM compiler/forget/src/ReactiveScopes/index.ts ModifiedA compiler/forget/src/__tests__/fixtures/compiler/fbt-params-complex-param-value.expect.md AddedA compiler/forget/src/__tests__/fixtures/compiler/fbt-params-complex-param-value.js AddedA compiler/forget/src/__tests__/fixtures/compiler/fbt-params.expect.md AddedA compiler/forget/src/__tests__/fixtures/compiler/fbt-params.js AddedM compiler/forget/src/index.ts ModifiedM compiler/forget/yarn.lock Modified
Patch

Files changed

Rendering syntax-highlighted changes…