Request for a Simplified Swagger Parser with Minimal Dependencies
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
No se nombran archivos, pruebas ni puntos de entrada. Empieza auditando el grafo de dependencias y los componentes del parser del proyecto; la implementación requeriría acordar el alcance de la eliminación de dependencias, los cambios en la reflexión y la modernización antes de poder medir la finalización.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
Issue Description:
Dear Team,
I am using the Swagger parser, and while its functionality is appreciated, the sheer number of dependencies introduced by the library is problematic. Below are my observations and concerns:
- Excessive Dependencies: The library adds over 50 additional dependencies to my project. Some examples:
org.slf4j: Not necessary for a simple parser. It clutters logs with irrelevant prompts for adding more dependencies.com.github.java-json-tools: This library appears to be inactive.com.sun.activation.jakartaandjakarta.xml.bind: Outdated and unreliable with newer Java versions, especially in stricter environments.org.mozilla:rhino:JavaScript? What?apache.httpclient: The use case here is unclear.com.google.guava,org.apache.commons:commons-lang3,commons-io: Why are these required for basic parsing?
- Core Simplicity Missing: For a YAML/JSON parser, dependencies like
SnakeYAMLandObjectMapperare understandable, but even these come with their own CVE risks. However, the other dependencies seem unnecessary for the core functionality. - Reflections and Overhead: The library’s reliance on reflection further complicates its use and limits performance optimization.
Proposal:
- Simplify the Library: Rebuild the parser using plain Java, focusing on minimalism. Most parsing tasks can be achieved without additional libraries.
- Reduce Dependencies: Restrict dependencies to absolute essentials like SnakeYAML and ObjectMapper, provided their risks are mitigated.
- Modernize: Remove outdated or dead dependencies like com.github.java-json-tools.
- Avoid Reflection: Replace reflective mechanisms with straightforward, efficient alternatives.
This library has great potential but could be significantly better with these improvements. My goal is not to replace it, but to help make it a cleaner, more reliable tool for everyone.
Looking forward to your thoughts and potential roadmap for addressing these issues.
- Lenguaje dominante
- Java
- Estrellas
- 868
- Forks
- 560
- Métricas de merge de PR
- Sin PR fusionados en 30 d
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 swagger-api/swagger-parser
-
InlineModelResolver.uniqueName throws StringIndexOutOfBoundsException for titles starting with a separator (camelCaseFlattenNaming)Posiblemente ocupada @arimu1 la tomó hace 38 días. Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
swagger-api/swagger-parser#2386 ·
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
swagger-api/swagger-parser#2168 ·
-
ResolveFully fails on internal references when the initial spec is read from a file URLPosiblemente ocupada Un pull request vinculado a esta issue está abierto o ya se fusionó. Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 65/100
swagger-api/swagger-parser#1922 · 2 comentarios · 1 reacción ·
-
[Bug]: `ResolverFully` does not process OAS 3.1 combinators and skips nested OAS 3.1 schema-valued keywordsPosiblemente ocupada Un pull request vinculado a esta issue está abierto o ya se fusionó. AbiertoBug
Dificultad 4/5 3-5 días Aptitud para principiantes 25/100
swagger-api/swagger-parser#2403 ·
-
[Bug]: Regression: resolveFully fails when components key does not match external file basenamePosiblemente ocupada @goutamadwant la tomó hace 32 días. AbiertoBug
Dificultad 4/5 3-5 días Aptitud para principiantes 58/100
swagger-api/swagger-parser#2399 · 3 comentarios ·
Todos los issues de swagger-api/swagger-parser
Issues similares
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 83/100
jenkinsci/gitlab-plugin#1950 ·
-
It's not necessary to copy the memory block in the readWrite() of org.h2.store.fs.mem.FileMemDataAbierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
h2database/h2database#4435 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
micronaut-projects/micronaut-core#13717 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
ADORSYS-GIS/token-status-link#145 ·
Los mantenedores suelen responder en 3 días
-
enhancement
Dificultad 1/5 Menos de una hora Aptitud para principiantes 88/100
helidon-io/helidon#12721 ·
Los mantenedores suelen responder en 1 día