mirror of
https://github.com/facebook/react.git
synced 2025-11-01 09:12:30 +00:00
dd1ff4dc30
I realized that properly propagating scope dependencies requires reusing the same logic as dependency collection itself: a dependency of an inner scope should only be propagated upward if the dependency was declared before the outer scope, for example. So this PR reimplements dependency collection in the propagation pass. At the same time I made a few other improvements: * Don't report dependencies that are "constant". This is a bit simplistic for now, we can use a more advanced analysis later. * Try to avoid creating duplicate dependencies. This addresses the todo from the previous PR (flattening scopes in loops) since now we don't need to compute deps until after that runs. As a follow-up i'll remove the existing dependency collection.