FluidFramework
FluidFramework copied to clipboard
build(server): Bump node types to latest v18
Bumps server to use the latest v18 node types, 18.19.36. This causes a build break:
packages/services-shared build:compile: src/socketIoServer.ts:318:18 - error TS2769: No overload matches this call.
packages/services-shared build:compile: Overload 1 of 2, '(intervalId: string | number | Timeout | undefined): void', gave the following error.
packages/services-shared build:compile: Argument of type 'Timer | undefined' is not assignable to parameter of type 'string | number | Timeout | undefined'.
packages/services-shared build:compile: Type 'Timer' is not assignable to type 'string | number | Timeout | undefined'.
packages/services-shared build:compile: Property '[Symbol.dispose]' is missing in type 'Timer' but required in type 'Timeout'.
packages/services-shared build:compile: Overload 2 of 2, '(id: number | undefined): void', gave the following error.
packages/services-shared build:compile: Argument of type 'Timer | undefined' is not assignable to parameter of type 'number | undefined'.
packages/services-shared build:compile: Type 'Timer' is not assignable to type 'number'.
packages/services-shared build:compile: 318 clearInterval(this.pingPongLatencyInterval);
packages/services-shared build:compile: ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
packages/services-shared build:compile: ../../node_modules/.pnpm/@[email protected]/node_modules/@types/node/timers.d.ts:76:17
packages/services-shared build:compile: 76 [Symbol.dispose](): void;
packages/services-shared build:compile: ~~~~~~~~~~~~~~~~~~~~~~~~~
packages/services-shared build:compile: '[Symbol.dispose]' is declared here.
packages/services-shared build:compile: Found 1 error in src/socketIoServer.ts:318
packages/services-shared build:compile: Faile
@tylerbutler I added that type very recently in #21428 because it appeared to be the same as ReturnType<typeof setInterval>
To resolve this, you should be able to just change NodeJs.Timer to ReturnType<typeof setInterval> or number, whichever feels best to you.
This will unblock bumping build-tools deps in server.