moon_config docs: clarify that post-processed Ast shapes differ between parse_moon_mod (deps object) and parse_moon_pkg (import array)
Los mantenedores suelen responder en 1 día
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 1/5
- Tiempo estimado
- 1-3 horas
- Aptitud para principiantes
- 82/100
- Tipo de issue
- Documentación
- Claridad
- Bien especificado
- Estado de actividad
- Activo
- Área
- documentation
Línea de trabajo
Comienza con el README de moon_config y los puntos de entrada parse_moon_mod y parse_moon_pkg, comparando las estructuras posprocesadas documentadas para moon.mod, moon.pkg y moon.work. Se considera terminado cuando la documentación distingue claramente deps como un objeto de módulo a versión frente a import como un array de objetos de ruta/alias, incluido el comportamiento de @version.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
Summary
moonbitlang/moon_config post-processes each manifest into different shapes, and the README examples show both without calling out the difference:
-
parse_moon_mod: theimport { ... }block is rewritten into a top-leveldepsobject — keys are module paths with any@versionsuffix stripped, values are the pinned versions:{ "name": "example/app", "deps": { "moonbitlang/x": "0.4.6" } } -
parse_moon_pkg:importstays an array of objects withpath(andalias) fields:{ "import": [{ "path": "moonbitlang/core/json", "alias": "json" }] }
Why it matters
Tooling built on parse_moon_mod naturally looks for an import array first (mirroring parse_moon_pkg's shape and the source syntax) and finds nothing — the imports now live under a differently-shaped deps key. The asymmetry (key rename import → deps, array → object, @version stripping) is easy to trip over since all three files (moon.mod / moon.pkg / moon.work) share the same DSL syntax.
Suggestion
A short note in the moon_config README (or the per-function docstrings) clarifying the per-file post-processed shapes — e.g. "moon.mod imports are merged into a deps object (module → version, @version stripped); moon.pkg keeps import as an array of {path, alias} objects".
Context: we build workspace release tooling on top of moon_config and hit exactly this while extracting member dependency graphs. Happy to send a docs PR if helpful.
- Lenguaje dominante
- MoonBit
- Estrellas
- 35
- Forks
- 10
- Merge medio
- 9 h 47 min
- PR fusionados (30 d)
- 15
Preparar el entorno
- Sin Dockerfile ni archivo de Docker Compose
- Sin plantilla de pull request
- Leer la guía de contribución
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 moonbitlang/parser
-
Dificultad 1/5 Menos de una hora Aptitud para principiantes 85/100
moonbitlang/parser#202 ·
Los mantenedores suelen responder en 1 día
-
CST lowering widens constraint-pattern locations through redundant parenthesesQuizá libre de nuevo @myfreess la tomó hace 37 días y no hay ningún pull request abierto. Abierto
moonbitlang/parser#189 · 1 comentario · 2 asignados ·
Los mantenedores suelen responder en 1 día
-
Negative constant pattern locations exclude the minus sign in Handrolled and CST loweringQuizá libre de nuevo @Yoorkin la tomó hace 37 días y no hay ningún pull request abierto. Abiertobug good first issue
moonbitlang/parser#188 · 2 comentarios · 1 asignado ·
Los mantenedores suelen responder en 1 día
Todos los issues de moonbitlang/parser
Issues similares
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 85/100
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 85/100
Los mantenedores suelen responder en 1 día
-
good first issue help wanted Project:Docs workshop
Dificultad 2/5 1-3 horas Aptitud para principiantes 90/100
Los mantenedores suelen responder en 1 día
-
Dificultad 1/5 Menos de una hora Aptitud para principiantes 82/100
mfreed7/xslt_polyfill#65 ·
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 68/100
Los mantenedores suelen responder en 1 día