Dependency analysis
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 5/5
- Tiempo estimado
- Más de una semana
- Aptitud para principiantes
- 25/100
- Tipo de issue
- Nueva funcionalidad
- Claridad
- Necesita aclaración
- Estado de actividad
- Tranquilo
- Stack tecnológico
- javascript
- Área
- build-system, compilers
Línea de trabajo
Comienza con el ejemplo vinculado de res-dep-issue, compara sus ramas main y rescript-11-cjs y reproduce el fallo de enlazado al estilo de pnpm. Después, lee los puntos de entrada del análisis de dependencias del compilador y determina cómo deberían comprobarse las dependencias de package.json. Se considera completado cuando el análisis propuesto identifica de forma fiable las dependencias incorrectas y tiene un camino claro para la integración con Knip.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
Currently it is very hard to analyze where a dependency will be imported, for example:
type t
@module("dep") external make: unit => t = "make"
let timeMake = () => {
Js.Console.timeStart("make")
let t = make()
Js.Console.timeEnd("make")
t
}
A consuming module may import dep directly, or it may not depending on which function is used and if there is an interface file.
If dependencies, devDependencies, and peerDependencies are not properly set this may become a problem for certain package manager setups. A small change could end up causing a runtime error. It could be particularly insidious if it is a rarely used or lazy loaded binding.
Due to the different dependency types often being misunderstood and the complexity of analysis, I believe ReScript should have the ability to check package.json dependencies for correctness.
I've had Claude create an example project here that failures when using pnpm style linking. The main branch uses ReScript 12 and ESM, but there is also a rescript-11-cjs branch for reference.
BTW it could be helpful if this feature was implemented in a way that we could integrate with Knip as a plugin
- Lenguaje dominante
- OCaml
- Estrellas
- 7.5k
- Forks
- 485
- Merge medio
- 1 d 2 h
- PR fusionados (30 d)
- 55
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 rescript-lang/rescript
-
Dificultad 5/5 Más de una semana Aptitud para principiantes 35/100
rescript-lang/rescript#8659 · 2 comentarios · 2 reacciones ·
-
Dificultad 5/5 Más de una semana Aptitud para principiantes 35/100
rescript-lang/rescript#8647 ·
-
rescript-lang/rescript#8632 · 1 asignado ·
-
Dificultad 5/5 Más de una semana Aptitud para principiantes 28/100
rescript-lang/rescript#8624 ·
-
Dificultad 5/5 Más de una semana Aptitud para principiantes 30/100
rescript-lang/rescript#8596 · 2 comentarios ·
Todos los issues de rescript-lang/rescript
Issues similares
-
typst-0.12 Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 68/100
commercialhaskell/stackage#8127 ·
-
[CI] Nightly Clang build broken: structured binding captured in a lambda in FileDataSource.cpp Abiertobug build
Dificultad 1/5 Menos de una hora Aptitud para principiantes 91/100
facebookincubator/velox#19194 ·
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 84/100
-
agentic-workflows maintenance
Dificultad 2/5 1-3 horas Aptitud para principiantes 85/100
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
nebari-dev/jhub-apps#742 ·