developit / developit/microbundle
Bundled type definitions for bundled dependencies?
- 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