Simplify package module/type structure
@jderochervlk ya está trabajando en esto.
Desde el 18/4/2026.
Evaluación
Este issue todavía no se ha evaluado.
Descripción
Summary
Pre-alpha breaking cleanup to simplify the package structure and make the public surface more consistent.
This issue tracks the refactor to:
- rename root
*APItype-holder modules to*Types - keep the existing folder structure for concrete modules
- export the primary concrete type as
t - selectively re-export additional public helper types from the concrete module that uses them
- remove unrelated
openusage - remove trivial primitive aliases like
string,bool,unit, and low-value callback aliases where they do not add meaning - remove
windowandnavigatorfromGlobalwithout deletingGlobal - shift access toward owner modules such as
Window,Navigator,History,Storage,Performance, and similar modules - avoid introducing any new
includedirectives as part of the simplification
Out Of Scope
- contributor docs
- code-generation conventions
- deleting
Global - flattening the folder structure
Execution Order
- #239 must land first
- #238, #240, #241, and #243 can run in parallel after #239
- #242 is the final integration pass
Linked Issues
- #239 Shared groundwork for package simplification
- #238 Simplify DOM, event, and observer module surfaces
- #240 Simplify fetch, file, canvas, URL, and socket module surfaces
- #241 Move runtime capability access away from Global window and navigator
- #243 Simplify media and device module surfaces
- #242 Final integration for package simplification
Acceptance Criteria
- No root
src/*API.restype-holder files remain; they are replaced bysrc/*Types.res. - The existing folder structure remains in place.
- Each concrete module exports its main type as
t. - Concrete modules selectively re-export secondary public types only where justified.
- Unrelated
openusage is removed. - No new
includedirectives are introduced by this refactor. - Trivial primitive aliases are removed instead of being renamed or moved.
Global.windowandGlobal.navigatorare removed.- Source and tests stop depending on
Global.windowandGlobal.navigator. - The package passes
npm run buildandnpm testafter integration.
- Lenguaje dominante
- ReScript
- Estrellas
- 41
- Forks
- 11
- Merge medio
- 9 h 46 min
- PR fusionados (30 d)
- 3
Preparar el entorno
Este proyecto no incluye contenedor de desarrollo, Dockerfile ni guía de contribución, así que la configuración corre por tu cuenta: empieza por su README y consulta nuestra guía para la primera contribución para los pasos generales.
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 rescript-lang/experimental-rescript-webapi
-
Add an opt-in SafeFetch wrapper for result-based Fetch workflowsPosiblemente ocupada @jderochervlk la tomó hace 27 días. Abiertoenhancement
Dificultad 5/5 Más de una semana Aptitud para principiantes 38/100
-
Dificultad 5/5 Más de una semana Aptitud para principiantes 35/100
rescript-lang/experimental-rescript-webapi#236 · 1 comentario ·
-
Improve generated overloadsAbiertohelp wanted
Dificultad 5/5 Más de una semana Aptitud para principiantes 25/100
rescript-lang/experimental-rescript-webapi#27 · 1 reacción ·
-
API overviewAbiertohelp wanted
Dificultad 5/5 Más de una semana Aptitud para principiantes 25/100
-
Dificultad 5/5 Más de una semana Aptitud para principiantes 25/100
rescript-lang/experimental-rescript-webapi#5 · 3 comentarios ·
Todos los issues de rescript-lang/experimental-rescript-webapi