error TS2349: This expression is not callable when using "module": "NodeNext".
- Lenguaje dominante
- TypeScript
- Estrellas
- 11.9k
- Forks
- 488
- Métricas de merge de PR
- Sin PR fusionados en 30 d
Descripción
Using mitt in Typescript with `"moduleResolution": "NodeNext"` gives "error TS2349: This expression is not callable." error.
```
"mitt": "^3.0.1"
"typescript": "^5.3.3"
```
**tsconfig.json**
```json
{
"compilerOptions": {
"outDir": "dist",
"target": "ES2018",
"lib": ["ESNext", "DOM", "DOM.Iterable"],
/* Bundler mode */
"moduleResolution": "NodeNext",
"module": "NodeNext",
"resolveJsonModule": true,
"esModuleInterop": true,
"sourceMap": true,
"allowJs": true,
/* Linting */
"strict": true,
"noUnusedLocals": true,
"noUnusedParameters": true,
"noFallthroughCasesInSwitch": true
},
"include": ["src"]
}
```
```ts
import mitt from 'mitt';
...
private readonly emitter = mitt();
```
**tsc --pretty --noEmit** output:
```shell
error TS2349: This expression is not callable.
Type 'typeof import("C:/code/project/node_modules/mitt/index")' has no call signatures.
28 private readonly emitter = mitt();
```
Guía de contribución
No hay ninguna guía de contribución indexada para este repositorio
Línea de trabajo
Comienza reproduciendo el import de mitt reportado con las versiones de paquete de TypeScript 5.3.3 proporcionadas y el tsconfig de NodeNext; después, inspecciona el punto de entrada del paquete y las declaraciones de tipos de mitt. Verifica el comportamiento previsto del import predeterminado y añade una comprobación de regresión para `mitt()`; se considera terminado cuando `tsc --pretty --noEmit` finaliza sin TS2349 en NodeNext.
Escrito por el modelo de indexación a partir del texto del issue.
Evaluación
- Stack tecnológico
- node.js, typescript
- Área
- developer-experience
- Tipo de issue
- Error
- Dificultad
- 3/5
- Tiempo estimado
- 1-2 días
- Estado de actividad
- Estancado
- Claridad
- Bastante claro
- Aptitud para principiantes
- 42/100