Skip to content

After updating: Could not find a declaration file for module 'ws' #5202

@aayla-secura

Description

@aayla-secura

Describe the bug

Probably related to #5201 but solution in there did not work in this case.

I just updated from socket.io-client v4.7.5 to v4.8.0 and I am now getting the following error during typescript compilation:

node_modules/engine.io-client/build/esm/transports/websocket.node.d.ts:12:108 - error TS7016: Could not find a declaration file for module 'ws'. '.../node_modules/engine.io-client/node_modules/ws/wrapper.mjs' implicitly has an 'any' type.
  Try `npm i --save-dev @types/ws` if it exists or add a new declaration (.d.ts) file containing `declare module 'ws';`

12     createSocket(uri: string, protocols: string | string[] | undefined, opts: Record<string, any>): import("ws");
                                                                                                              ~~~~

Installing @types/ws results in a different error:

node_modules/engine.io-client/build/esm/transports/websocket.node.d.ts:12:101 - error TS1340: Module 'ws' does not refer to a type, but is used as a type here. Did you mean 'typeof import('ws')'?

12     createSocket(uri: string, protocols: string | string[] | undefined, opts: Record<string, any>): import("ws");

Reverting back to 4.7.5 works fine again.


My project is TypeScript with target: es2022 and module: preserve options. I'm doing

import { io } from "socket.io-client";

Expected behavior
Type declarations should be included and compilation should not error.

Platform:

  • OS: Ubuntu on Window Subsystem for Linux; Windows 11

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions