Dependencies can be more than imports or used binaries
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 5/5
- Tiempo estimado
- Más de una semana
- Aptitud para principiantes
- 25/100
Línea de trabajo
Comienza con las reglas de dependencias descritas en el README, especialmente el pasaje sobre las importaciones y el uso de ejecutables. Determina si las dependencias expuestas a través de tipos de API inferidos o devueltos deben detectarse, generar una advertencia o solo documentarse; el trabajo estará terminado cuando haya un comportamiento definido y la validación correspondiente.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
From the README:
Some packages are not imported by any dart files but are used for their executables.
Based on this sentence I'm assuming that only import statements are found programatically. There is another way that a dependency can sneak in that you might want to consider, or at least warn in the readme so it can be treated the same way as executables.
If a class is returned from an API that isn't defined in the package, you can silently be depending on a method signature defined in some other package that you might not import.
import 'package:b/b.dart' as b;
// no import to package:c
void main() {
b.someBMethod().someCMethod();
// If someBMethod returned a class from C I have an implicit dependency on C
}
Here package:b could plausibly move to a new version of package:c without a breaking change version bump.
With type inference this 'type leaking' can happen in sneaker ways:
import 'package:b/b.dart' as b;
// no import to package:c
void main() {
// Assume someBMethod has the signature: int someBMethod(C c)
var x = someBMethod;
x = (value) => value.someCMethod();
// due to type inference I got autocomplete and would now break if someCMethod is renamed.
}
- Lenguaje dominante
- Dart
- Estrellas
- 66
- Forks
- 26
- Merge medio
- 37 min
- PR fusionados (30 d)
- 1
Preparar el entorno
- Sin Dockerfile ni archivo de Docker Compose
- Tiene una 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 Workiva/dependency_validator
-
Glob workspaces supportAbierto
Dificultad 3/5 1-2 días Aptitud para principiantes 35/100
Workiva/dependency_validator#176 · 2 reacciones ·
-
Dificultad 5/5 Más de una semana Aptitud para principiantes 30/100
Workiva/dependency_validator#167 · 2 comentarios ·
-
Support Doc ImportsAbierto
Dificultad 3/5 1-2 días Aptitud para principiantes 45/100
Workiva/dependency_validator#153 · 1 comentario ·
-
Dificultad 4/5 3-5 días Aptitud para principiantes 48/100
Workiva/dependency_validator#141 · 1 reacción ·
-
Dificultad 3/5 1-2 días Aptitud para principiantes 48/100
Workiva/dependency_validator#140 · 1 comentario ·
Todos los issues de Workiva/dependency_validator
Issues similares
-
good-first-issue P3
Dificultad 2/5 1-3 horas Aptitud para principiantes 88/100
flutter/dart-intellij-third-party#758 ·
Los mantenedores suelen responder en 1 día
-
Bug: Incorrect location coordinates on logged Sound Meter dataPosiblemente ocupada @Jashan32 la tomó hoy. Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
Los mantenedores suelen responder en 1 día
-
area/archive bug
Dificultad 2/5 1-3 horas Aptitud para principiantes 76/100
DarkFlippers/qUnleashed#374 ·
Los mantenedores suelen responder en 1 día
-
agent:in-progress agent:ready feature P2 · 中 区域: 悬浮窗
Dificultad 2/5 1-3 horas Aptitud para principiantes 85/100
ASDW51/DanmuFloat#178 ·
Los mantenedores suelen responder en 1 día
-
Missing workoutsAbiertoenhancement
Dificultad 2/5 1-3 horas Aptitud para principiantes 67/100
InlitX/GymMane#237 · 1 comentario ·
Los mantenedores suelen responder en 5 días