Hacktoberfest 2026 : les issues que les mainteneurs ont marquées pour octobre, ouvertes et accessibles aux débutants. Parcourir les issues Hacktoberfest

Feature request: Qualified subdirectories (directory-based module namespaces)

Ouverte
#9,006 0 commentaires 1 réaction 0 personnes assignées Voir sur GitHub

Les mainteneurs répondent en général sous 1 jour

Personne n'a encore pris cette issue.

Évaluation

Difficulté
5/5
Temps estimé
Plus d'une semaine
Accessibilité débutants
35/100
Type d'issue
Fonctionnalité
Clarté
Plutôt claire
Activité
Active
Stack technique
ocaml
Domaine
compilers

Piste de recherche

Read the existing recursive source scanning behavior described in the issue and the related proposals #1974, #1805, and #2459. The issue does not name implementation files or tests; first locate where subdirs: true is handled in the compiler and review its module naming rules. Done means an opt-in qualified mode supports the shown directory hierarchy and duplicate filenames while preserving the default behavior.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Description

Feature request: Qualified subdirectories (directory-based module namespaces)

Hi! I've been using ReScript a bit in my free time recently, and have been really enjoying it. However I've found it quite difficult/frustrating to organize code/packages using ReScript's existing tooling (even when using the "monorepo" features).

I'd like to propose an opt-in feature similar to Dune's (include_subdirs qualified), where source directories automatically become part of the ReScript module hierarchy.

For example, given:

src/
  App.res
  Components/
    Button.res
    Input.res
  Admin/
    Button.res

App.res could reference Components.Button, Components.Input, and Admin.Button.

This would provide two benefits:

  • Better code organization: Module hierarchies could mirror the filesystem without manually creating wrapper modules.
  • Duplicate filenames: Files such as Components/Button.res and Admin/Button.res could coexist without module-name collisions.

Currently, recursive source scanning (subdirs: true) places all files in a flat module namespace.

Ideally, this would be an opt-in configuration (perhaps subdirs: "qualified"), preserving existing behavior by default. Directory modules could be implemented using compile-time aliases, without introducing additional JavaScript runtime wrappers.

Related issues
References

Thanks!
Ethan

Langage dominant
OCaml
Étoiles
7.5k
Forks
483
Merge moyen
20 h
PR mergées (30 j)
219

Préparer son environnement

Ouvrir dans Codespaces

Lance le conteneur de développement du projet dans votre navigateur, avec votre propre compte GitHub.

Par où commencer

  1. Lisez l'issue en entier, puis le guide de contribution du projet.
  2. Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
  3. Forkez le dépôt et travaillez sur une branche.
  4. Ouvrez une pull request qui référence le numéro de l'issue.

Autres issues de rescript-lang/rescript

Toutes les issues de rescript-lang/rescript

Issues similaires

Plus d'issues Compilers

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.