TypeScript and Socket.io


I would like to use socket.io in my Typescript project, but I've only found .d.ts files for server-side typescript.

This is a nice example: https://github.com/soywiz/typescript-node-definitions/blob/master/socket.io.d.ts

It shows how to use TypeScript in combination with Socket.io. However on the client side it uses JavaScript.

What I need is a .d.ts file for client-side TypeScript, that resolves the error message from this line:

var socket=io.connect("localhost");

The name "io" does not exist in the current scope

Where can I find the appropriate definition file?

3/30/2014 7:23:02 PM

Accepted Answer

I created my own .d.ts file, it's rather short but it works well:

declare var io : {
    connect(url: string): Socket;
interface Socket {
    on(event: string, callback: (data: any) => void );
    emit(event: string, data: any);

This declaration file can be imported to client side Typescript and the socket.io standard example will work, here's my Typescript version:

var socket=io.connect("localhost");
8/23/2017 7:46:18 PM

There is @types/socket.io now, just install it by running:

npm i --save @types/socket.io

Licensed under: CC-BY-SA with attribution
Not affiliated with: Stack Overflow