[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
@@ -25,5 +25,6 @@ export class CreateObjectEventInput {
@Field(() => GraphQLJSON, { nullable: true })
@IsObject()
@IsOptional()
// eslint-disable-next-line @typescript-eslint/no-explicit-any
properties?: Record<string, any>;
}
@@ -11,6 +11,7 @@ export const genericTrackSchema = baseEventSchema.extend({
export type GenericTrackEvent<E extends string = string> = {
type: 'track';
event: E;
// eslint-disable-next-line @typescript-eslint/no-explicit-any
properties: any;
timestamp: string;
version: string;
@@ -18,8 +19,10 @@ export type GenericTrackEvent<E extends string = string> = {
workspaceId?: string;
};
// eslint-disable-next-line @typescript-eslint/no-explicit-any
export const eventsRegistry = new Map<string, z.ZodSchema<any>>();
// eslint-disable-next-line @typescript-eslint/no-explicit-any
export function registerEvent<E extends string, S extends z.ZodObject<any>>(
event: E,
schema: S,