developit / developit/microbundle

Bundled type definitions for bundled dependencies?

Abierto
#1,050 5 comentarios 1 reacción 0 asignados Ver en GitHub
TypeScript
Lenguaje dominante
JavaScript
Estrellas
8.1k
Forks
358
Métricas de merge de PR
Sin PR fusionados en 30 d

Descripción

**Context:** As documented in #454 and [*How Microbundle decides which dependencies to bundle*](https://github.com/developit/microbundle/wiki/How-Microbundle-decides-which-dependencies-to-bundle#1-i-want-to-bundle-a-dependency), one recommended way to bundle dependencies is to put the dependency in `devDependencies` rather than `dependencies`.

**Problem:** `my-bundled-dependency` is bundled into `my-parent-library`, and affects its exported type definitions. Recently a downstream user of my package reported an issue that surprised me – while the JavaScript is bundled as expected, the type definitions are not bundled, and contain an import from `my-bundled-dependency`. This causes builds to fail for users of `my-parent-library` if they've enabled TypeScript's `skipLibCheck: false`. If this is unexpected and a simple repro example would be helpful, I'm happy to create that.

**Alternatives:** Should the type definitions also be bundled by Microbundle? By TypeScript? Am I perhaps making a mistake by using a bundled dependency in my exported TypeScript API? I'm inclined to the idea that this is something TypeScript, not Microbundle, should ideally handle. But they've historically been pretty [unenthusiastic](https://github.com/microsoft/TypeScript/issues/4433) about such requests.

**Related:**

- https://github.com/donmccurdy/glTF-Transform/issues/996

Guía de contribución

No hay ninguna guía de contribución indexada para este repositorio

Línea de trabajo

Start with the context in #454 and the linked Microbundle dependency-bundling guidance. Reproduce the case where a JavaScript dependency is bundled but its exported type definitions still import that dependency, using TypeScript with skipLibCheck set to false. Done means the project has a decided scope for handling bundled dependency types and a verified reproduction or test.

Escrito por el modelo de indexación a partir del texto del issue.

Evaluación

Stack tecnológico
javascript, typescript
Área
build-system, tooling
Tipo de issue
Nueva funcionalidad
Dificultad
5/5
Tiempo estimado
Más de una semana
Estado de actividad
Estancado
Claridad
Necesita aclaración
Aptitud para principiantes
25/100

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.