[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
@@ -14,6 +14,7 @@ export const computeWhereConditionParts = (
operator: string,
objectNameSingular: string,
key: string,
// eslint-disable-next-line @typescript-eslint/no-explicit-any
value: any,
): WhereConditionParts => {
const uuid = Math.random().toString(36).slice(2, 7);
@@ -10,6 +10,7 @@ import {
} from 'src/engine/api/graphql/graphql-query-runner/errors/graphql-query-runner.exception';
export interface CursorData {
// eslint-disable-next-line @typescript-eslint/no-explicit-any
[key: string]: any;
}
@@ -28,6 +29,7 @@ export const encodeCursor = <T extends ObjectRecord = ObjectRecord>(
objectRecord: T,
order: ObjectRecordOrderBy | undefined,
): string => {
// eslint-disable-next-line @typescript-eslint/no-explicit-any
const orderByValues: Record<string, any> = {};
const orderBy = order?.reduce((acc, orderBy) => ({ ...acc, ...orderBy }), {});
@@ -47,7 +49,10 @@ export const encodeCursor = <T extends ObjectRecord = ObjectRecord>(
};
export const getCursor = (
// eslint-disable-next-line @typescript-eslint/no-explicit-any
// eslint-disable-next-line @typescript-eslint/no-explicit-any
args: FindManyResolverArgs<any, any>,
// eslint-disable-next-line @typescript-eslint/no-explicit-any
): Record<string, any> | undefined => {
if (args.after) return decodeCursor(args.after);
if (args.before) return decodeCursor(args.before);
@@ -56,6 +61,7 @@ export const getCursor = (
};
export const getPaginationInfo = (
// eslint-disable-next-line @typescript-eslint/no-explicit-any
objectRecords: any[],
limit: number,
isForwardPagination: boolean,