Hacktoberfest 2026: los issues que los mantenedores marcaron para octubre, abiertos y aptos para principiantes. Explorar issues de Hacktoberfest

Simplify package module/type structure

Abierto
#237 0 comentarios 0 reacciones 3 asignados Ver en GitHub

@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 *API type-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 open usage
  • remove trivial primitive aliases like string, bool, unit, and low-value callback aliases where they do not add meaning
  • remove window and navigator from Global without deleting Global
  • shift access toward owner modules such as Window, Navigator, History, Storage, Performance, and similar modules
  • avoid introducing any new include directives 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.res type-holder files remain; they are replaced by src/*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 open usage is removed.
  • No new include directives are introduced by this refactor.
  • Trivial primitive aliases are removed instead of being renamed or moved.
  • Global.window and Global.navigator are removed.
  • Source and tests stop depending on Global.window and Global.navigator.
  • The package passes npm run build and npm test after 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

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Más de rescript-lang/experimental-rescript-webapi

Todos los issues de rescript-lang/experimental-rescript-webapi

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.