node_modules/mongodb/mongodb.d.ts:3314:5 - error TS2416: Property 'end' in type 'GridFSBucketWriteStream' is not assignable to the same property in base type 'Writable'. Type '{ (): void; (chunk: Buffer): void; (callback: Callback<void | GridFSFile>): void; (chunk: Buffer, callback: Callback<void | GridFSFile>): void; (chunk: Buffer, encoding: BufferEncoding): void; (chunk: Buffer, encoding: BufferEncoding, callback: Callback<...>): void; }' is not assignable to type '{ (cb?: () => void): this; (chunk: any, cb?: () => void): this; (chunk: any, encoding: BufferEncoding, cb?: () => void): this; }'. 3314 end(chunk: Buffer, encoding: BufferEncoding | undefined, callback: Callback<GridFSFile | void>): void; ~~~ Anteriormente era correcto, pero cuando agregué la función para cargar archivos estáticos (imágenes) en el cubo s3 (usando multer y multer-s3), recibo este error al hacer yarn dev para iniciar el servidor que se ejecuta así "dev": "NODE_ENV=dev nodemon -e ts --exec \"npm run compile\"",
Mis scripts de package.json
"scripts": { "compile": "tsc && node build/index.js | pino-pretty", "dev": "NODE_ENV=dev nodemon -e ts --exec \"npm run compile\"", "start": "NODE_ENV=prod node build/index.js | pino-pretty", "lint": "eslint . --ext .ts" }, Actualización: funciona de alguna manera con el script de start pero no con el dev de desarrollo. Además, me ha quitado los poderes de "dev" :(
Buenas noticias. Desde entonces, este problema se resolvió con mongodb versión 4.3.0. (Aquí estaba el informe de error: jira.mongodb.org/browse/NODE-3843 )
Mi problema se resolvió con esta pregunta: ¿ La conversión 'GridFSBucketWriteStream' para escribir 'WritableStream' es imposible?
Solución: Degradar @types/node a 16 ya que el node 17 tiene cambios importantes. Use npm i -D @types/node@16 o yarn add -D @types/node@16 para hacerlo