Typings are silently `any` under moduleResolution node16/nodenext
Evaluación
- Dificultad
- 2/5
- Tiempo estimado
- 1-3 horas
- Aptitud para principiantes
- 68/100
- Tipo de issue
- Error
- Claridad
- Bastante claro
- Estado de actividad
- Tranquilo
- Stack tecnológico
- typescript
- Área
- tooling
Línea de trabajo
Comienza con las declaraciones publicadas en src/cjs/*.d.ts y reproduce el problema usando TypeScript 5.9.3 con moduleResolution nodenext y skipLibCheck habilitado. El trabajo estará terminado cuando las declaraciones se resuelvan sin TS2835 y las importaciones de ecpair conserven sus tipos en lugar de convertirse en any bajo una comprobación estricta.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
The published typings in src/cjs/*.d.ts use extensionless relative imports:
// src/cjs/index.d.ts
export { ECPairFactory as default, ECPairFactory, ... } from './ecpair';
The root package.json has "type": "module" and there is no nested package.json in
src/cjs/, so TypeScript treats these .d.ts files as ES modules — and in ESM, relative
imports require explicit file extensions. ./ecpair fails to resolve:
src/cjs/index.d.ts(1,166): error TS2835: Relative import paths need explicit file
extensions in ECMAScript imports when '--moduleResolution' is 'node16' or 'nodenext'.
With skipLibCheck: true (the common setup) the error is suppressed, and everything
imported from ecpair is silently any, even under --strict:
import { ECPairFactory } from 'ecpair';
const x: number = ECPairFactory; // compiles without error
Repro: ecpair 3.0.1, TypeScript 5.9.3, --module nodenext --moduleResolution nodenext,
ESM project.
- Lenguaje dominante
- JavaScript
- Estrellas
- 29
- Forks
- 35
- Métricas de merge de PR
- Sin PR fusionados en 30 d
Preparar el entorno
- Sin Dockerfile ni archivo de Docker Compose
- Sin plantilla de pull request
- Leer la guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de bitcoinjs/ecpair
-
v3.0.0 release notesAbierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 45/100
-
Dificultad 4/5 3-5 días Aptitud para principiantes 25/100
-
Dificultad 4/5 3-5 días Aptitud para principiantes 32/100
-
Please publish a ESM packageAbierto
Dificultad 4/5 3-5 días Aptitud para principiantes 35/100
Todos los issues de bitcoinjs/ecpair
Issues similares
-
xsd:integer cast from a string rejects negative numbers, a leading + and surrounding whitespaceAbiertobug 🐛
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
comunica/comunica#1960 · 1 comentario ·
Los mantenedores suelen responder en 1 día
-
Waiting for: Product Owner
Dificultad 2/5 1-3 horas Aptitud para principiantes 76/100
getsentry/sentry-javascript#26203 · 1 comentario ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 70/100
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 75/100
Los mantenedores suelen responder en 1 día
-
bug
Dificultad 2/5 1-3 horas Aptitud para principiantes 76/100
bytedance/flowgram.ai#1235 ·
Los mantenedores suelen responder en 1 día