[QRQC_2] No explicit any in twenty-server (#12068)

# Introduction

Added a no-explicit-any rule to the twenty-server, not applicable to
tests and integration tests folder

Related to https://github.com/twentyhq/core-team-issues/issues/975
Discussed with Charles

## In case of conflicts
Until this is approved I won't rebased and handle conflict, just need to
drop two latest commits and re run the scripts etc

## Legacy
We decided not to handle the existing lint error occurrences and
programmatically ignored them through a disable next line rule comment

## Open question
We might wanna activate the
[no-explicit-any](https://typescript-eslint.io/rules/no-explicit-any/)
`ignoreRestArgs` for our use case ?
```
    ignoreRestArgs?: boolean;
```

---------

Co-authored-by: etiennejouan <jouan.etienne@gmail.com>
This commit is contained in:
Paul Rastoin
2025-05-15 16:26:38 +02:00
committed by GitHub
parent c95c4383b4
commit a8423e8503
213 changed files with 453 additions and 4 deletions
@@ -51,6 +51,7 @@ const pgGraphQLErrorMapping: PgGraphQLErrorMapping = {
export const computePgGraphQLError = (
command: string,
objectName: string,
// eslint-disable-next-line @typescript-eslint/no-explicit-any
errors: any[],
pgGraphqlConfig: PgGraphQLConfig,
) => {
@@ -4,8 +4,10 @@ import {
} from 'src/engine/api/graphql/workspace-query-builder/utils/composite-field-metadata.util';
export const handleCompositeKey = (
// eslint-disable-next-line @typescript-eslint/no-explicit-any
result: any,
key: string,
// eslint-disable-next-line @typescript-eslint/no-explicit-any
value: any,
): void => {
const parsedFieldKey = parseCompositeFieldKey(key);
@@ -22,6 +24,8 @@ export const handleCompositeKey = (
result[parsedFieldKey.parentFieldName][parsedFieldKey.childFieldName] = value;
};
// eslint-disable-next-line @typescript-eslint/no-explicit-any
// eslint-disable-next-line @typescript-eslint/no-explicit-any
export const parseResult = (obj: any): any => {
if (obj === null || typeof obj !== 'object' || typeof obj === 'function') {
return obj;
@@ -31,6 +35,7 @@ export const parseResult = (obj: any): any => {
return obj.map((item) => parseResult(item));
}
// eslint-disable-next-line @typescript-eslint/no-explicit-any
const result: any = {};
for (const key in obj) {