PromucFlow_constructor/app
Ayush Pahwa 9c816473ff
feat: custom eslint rule infra (#38345)
## Description
This PR introduces the custom ESLint rule to [handle floating
promises](https://typescript-eslint.io/rules/no-floating-promises/) in
our JS Objects (using async function calls without await inside async
functions). Along with this, some refactors were needed

1) Function to dynamically enable/disable the rules based on context (
using editor type as the context for now, can be updated as per
requirements).
2) Generate a list of async functions from the global data input for
evaluation.
3) Package added for estree types.

Note: This custom rule is only used in our EE codebase for now. We can
enable it in CE in case the requirement arises.

Fixes https://github.com/appsmithorg/appsmith/issues/37255

## Automation

/test sanity js

### 🔍 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/12558146123>
> Commit: 36b66109c7ef70dc1eb97b445661ac69f881775a
> <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=12558146123&attempt=1"
target="_blank">Cypress dashboard</a>.
> Tags: `@tag.Sanity, @tag.JS`
> Spec:
> <hr>Tue, 31 Dec 2024 10:54:23 UTC
<!-- end of auto-generated comment: Cypress test results  -->


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


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

## Summary by CodeRabbit

## Release Notes

- **New Features**
	- Added a custom ESLint rule to enforce proper Promise handling
	- Enhanced linting capabilities with more granular error detection

- **Improvements**
- Updated linting utility functions to support more flexible
configuration
	- Introduced more detailed context-aware linting options

- **Development**
	- Added TypeScript type definitions for ESTree
	- Expanded test coverage for linting utilities

- **Chores**
	- Refactored linting-related utility functions and constants

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2025-01-02 17:41:55 +05:30
..
client feat: custom eslint rule infra (#38345) 2025-01-02 17:41:55 +05:30
server chore: Added support for artifact type in git redis utils (#38418) 2025-01-02 09:26:50 +00:00
util