PromucFlow_constructor/app/client/packages/ast
Vemparala Surya Vamsi 95c70aabb5
chore: optimised updateDependencyGraph code (#41117)
## Description
Added code optimisations around updateDependencyGraph by caching ast
parsing and made lower level code optimisations by using sets. Observed
a 40% reduction of updateDependencyGraph in a customer app. In addition
made optimisations to linkAffectedChildNodesToParent where we aren't
recomputing the result for the same node.
_or_  
Fixes `Issue URL`
> [!WARNING]  
> _If no issue exists, please create an issue first, and check with the
maintainers if the issue is valid._

## Automation

/ok-to-test tags="@tag.All"

### 🔍 Cypress test results
<!-- This is an auto-generated comment: Cypress test results  -->
> [!TIP]
> 🟢 🟢 🟢 All cypress tests have passed! 🎉 🎉 🎉
> Workflow run:
<https://github.com/appsmithorg/appsmith/actions/runs/16398467407>
> Commit: e5d8a165ac49fb205f5bb344979d09d1ebc2a225
> <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=16398467407&attempt=2"
target="_blank">Cypress dashboard</a>.
> Tags: `@tag.All`
> Spec:
> <hr>Sun, 20 Jul 2025 12:41:19 UTC
<!-- end of auto-generated comment: Cypress test results  -->


## Communication
Should the DevRel and Marketing teams inform users about this change?
- [ ] Yes
- [ ] No


<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit

## Summary by CodeRabbit

* **New Features**
* Improved dependency management with a new utility for comparing sets,
enhancing accuracy in tracking changes.
* **Chores**
* Optimized internal logic for handling dependencies to improve
performance and maintainability.
* Enhanced code parsing efficiency with caching to speed up repeated
analyses.
* Refined sorting logic to better handle duplicates and improve
processing speed.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2025-07-21 12:54:23 +05:30
..
src chore: optimised updateDependencyGraph code (#41117) 2025-07-21 12:54:23 +05:30
.eslintrc.json chore: add strict-boolean-expressions rule (#27852) 2023-10-06 16:05:32 +03:00
.prettierignore
index.ts chore: Compute default value for jsaction params (#34708) 2024-07-15 21:01:42 +05:30
jest.config.js
package.json chore: upgrade version of acorn and acron walk (#37641) 2024-11-22 01:53:58 +05:30
rollup.config.js
tsconfig.json