J'ai quelques difficultés à compiler mon code de dactylographié en javascript.
La compilation échoue en raison d'une erreur de type dans namespace.d.ts et socket.d.ts. La classe Namespace et Socket étend EventEmitter. Cependant, ils remplacent la fonction «émettre» et la signature n'est pas compatible avec la fonction d'émission de l'EventEmitter.
Y a-t-il un moyen de contourner ce problème?
Voici mon paramètre tsconfig:
{
"compileOnSave": true,
"compilerOptions": {
"outDir": "./dist",
"lib": ["es5", "es6"],
"target": "es3",
"module": "commonjs",
"moduleResolution": "node",
"experimentalDecorators": true,
"emitDecoratorMetadata": true,
"allowSyntheticDefaultImports": true,
},
"include": ["./src/**/*"],
}
Voici les dépendances du projet:
"dependencies": {
"debug": "^3.1.0",
"koa": "^2.13.0",
"socket.io": "^3.0.0"
},
"devDependencies": {
"@types/koa": "^2.11.6",
"@types/node": "^14.14.6",
"supervisor": "^0.12.0",
"typescript": "^4.0.5"
}
quand je lance: 'tsc', j'ai l'erreur suivante:
node_modules/socket.io/dist/namespace.d.ts(89,5): error TS2416: Property 'emit' in type 'Namespace' is not assignable to the same property in base type 'EventEmitter'.
Type '(ev: string, ...args: any[]) => Namespace' is not assignable to type '(event: string | symbol, ...args: any[]) => boolean'.
Type 'Namespace' is not assignable to type 'boolean'.
node_modules/socket.io/dist/socket.d.ts(84,5): error TS2416: Property 'emit' in type 'Socket' is not assignable to the same property in base type 'EventEmitter'.
Type '(ev: string, ...args: any[]) => this' is not assignable to type '(event: string | symbol, ...args: any[]) => boolean'.
Type 'this' is not assignable to type 'boolean'.
Type 'Socket' is not assignable to type 'boolean'.
Avoir le même problème ici!
Le même problème.
Debian, socket.io 3.0
Merci, j'ai pu en effet reproduire le problème.
Cela devrait être corrigé par https://github.com/socketio/socket.io/commit/50671d984a81535a6a15c704546ca7465e2ea295.
Pouvez-vous publier cette version dès que possible?
Ou ciblons directement la branche fix/typescript-emit
!
Cela semble digne d'une version 3.0.1.
3.0.1 est sorti!
J'ai mis à jour l'exemple TypeScript ici: https://github.com/socketio/socket.io/tree/master/examples/typescript
Je vous remercie!
Commentaire le plus utile
Pouvez-vous publier cette version dès que possible?
Ou ciblons directement la branche
fix/typescript-emit
!