Skip to content
New issue

Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? # to your account

Typescript support #117

Open
gchokeen opened this issue Jun 15, 2018 · 11 comments
Open

Typescript support #117

gchokeen opened this issue Jun 15, 2018 · 11 comments

Comments

@gchokeen
Copy link

gchokeen commented Jun 15, 2018

Hi,

I am trying to use this library in the ionic 4 app and its based on typescript. Can you tell how to import the socket cluster inside angular 2 component?

What I tried
import {socketCluster} from 'socketcluster-client'

ERROR

Could not find a declaration file for module 'socketcluster-client'. '.../node_modules/socketcluster-client/index.js' implicitly has an 'any' type.
Try npm install @types/socketcluster-client if it exists or add a new declaration (.d.ts) file containing declare module 'socketcluster-client';

@DanielRose
Copy link

I started writing type definitions which include socketcluster-client; see SocketCluster/socketcluster#431

@makarov-roman
Copy link

Thanks @DanielRose for https://www.npmjs.com/package/@types/socketcluster
I guess it's time to close the issue.

@ChisholmKyle
Copy link

The types are broken again due to major version change to v15. @DanielRose is having a look DefinitelyTyped/DefinitelyTyped#41893

I have a feeling it's going to be a bit of a job and there was some discussion about it on Gitter. Are the Socketcluster main contributors also going to look at typescript and maybe help out?

@jondubois
Copy link
Member

jondubois commented Feb 3, 2020

I think right now it makes sense for developers to define the TS interfaces themselves in their projects but we can start thinking about updating DefinitelyTyped definitions.

One thing to be aware of is that the type names are currently prefixed with the letters AG. See https://socketcluster.io/docs/api/ - This was the prefix for the temporary SC fork 'Asyngular' where all the async/await improvements were developed.

I'm still unsure whether we should stick to that AG prefix or change it to back to SC; e.g. SCChannel and SCServerSocket?

Alternatively, we could stick to AG as a prefix and define it as standing for Asynchronous Generator because that's the core principle behind the new approach.

@DanielRose
Copy link

Got a PR: DefinitelyTyped/DefinitelyTyped#42068 Due to a lot of internal changes, and obsoleting of several packages, it was a bit more difficult than expected.

@ChisholmKyle
Copy link

Typing an existing package is a big job. Thank you @DanielRose for the quick work!

@ChisholmKyle
Copy link

@jondubois I think it would make sense to keep the AG prefix now that v15 is released and with all the internal changes it's a quick way to distinguish between major versions.

@katanacrimson
Copy link

katanacrimson commented Feb 4, 2020

I would recommend considering it for v16. AG typically implies Angular is involved, conventionally speaking. Many angular plugins and libraries will prefix with "ag-".

IMO, if further discussion is warranted, though, it should be in its own issue.

@jondubois
Copy link
Member

jondubois commented Feb 4, 2020

I thought Angular was ng-; it was at some point ;p

@katanacrimson
Copy link

Point. I think I'm misremembering.

@jondubois
Copy link
Member

@DanielRose Wow nice work :)

# for free to join this conversation on GitHub. Already have an account? # to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

6 participants