Add Unused Dependency Check for Ruby Gems
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 4/5
- Tiempo estimado
- 3-5 días
- Aptitud para principiantes
- 42/100
Línea de trabajo
Start by reviewing the main CI workflow and the current Gemfile, then investigate whether degem works reliably and compare the suggested alternatives bundle-checker and gem-unused. Done means a stable dependency check is integrated, reports current unused gems, handles documented false positives, and fails CI when unused dependencies are detected.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
feat: Add Unused Dependency Check for Ruby Gems
Description:
To maintain a clean and efficient codebase, we need to add an automated process to the zitadel/client-ruby CI pipeline. The goal of this process is to detect and report any gems listed in the Gemfile that are no longer used in the project. The initial tool considered for this task was degem.
Problem:
The proposed tool, degem, does not appear to be functional in our current environment. Further investigation suggests the tool may be unmaintained, with its last commit several years ago. This makes it an unreliable choice for our CI pipeline, as it may have compatibility issues with modern Ruby versions and bundler.
Impact:
- Without an automated check, the project is at risk of accumulating unused dependencies over time.
- Unused gems lead to project bloat, slower
bundle installtimes, and an increased potential security surface. - The dependency tree is less clear, making maintenance more difficult for developers.
Tasks:
- Attempt a final investigation to determine if
degemcan be made to work reliably. - If
degemis not viable, research and evaluate alternative tools for detecting unused Ruby gems (e.g.,bundle-checker,gem-unused). - Select a reliable tool and integrate it into the CI pipeline as a new check.
- Run the tool on the codebase and generate an initial report of unused dependencies.
- Configure the tool to ignore any known false positives (e.g., gems used by frameworks or other tools but not directly required in the code).
- Create a follow-up pull request to remove the confirmed unused gems from the
Gemfile.
Expected Outcomes:
- The CI pipeline includes a job that automatically fails if it detects unused gems in the
Gemfile. - The project's dependencies are kept clean and minimal, improving maintainability and reducing bloat.
- Developers are immediately notified of unused dependencies when contributing code.
Additional Notes:
- The primary goal is to establish a reliable dependency check, not necessarily to use
degem. The chosen solution should be stable and actively maintained. - This task will likely require updating the main CI workflow file to add a new step for the dependency analysis.
- Lenguaje dominante
- Ruby
- Estrellas
- 6
- Forks
- 2
- Merge medio
- 11 min
- PR fusionados (30 d)
- 2
Preparar el entorno
- Incluye un Dockerfile o un archivo de Docker Compose
- Tiene una plantilla de pull request
- Sin 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 zitadel/client-ruby
-
Dificultad 4/5 3-5 días Aptitud para principiantes 45/100
zitadel/client-ruby#87 ·
-
Release SDK for V5Posiblemente ocupada @mridang la tomó hace 312 días. Abierto
zitadel/client-ruby#76 · 1 asignado ·
-
Fixed the messy auto-generated serde logic in the libraryPosiblemente ocupada @mridang la tomó hace 521 días. Abierto
zitadel/client-ruby#29 · 1 asignado ·
-
Update Qodana Linter for Ruby SupportPosiblemente ocupada @mridang la tomó hace 119 días. Abierto
Dificultad 4/5 3-5 días Aptitud para principiantes 35/100
zitadel/client-ruby#27 ·
Todos los issues de zitadel/client-ruby
Issues similares
-
Dependencies view: `getParent` loops forever on untitled documents, extension host runs out of memoryPosiblemente ocupada Un pull request vinculado a esta issue está abierto o ya se fusionó. Abiertobug
Dificultad 2/5 1-3 horas Aptitud para principiantes 70/100
Los mantenedores suelen responder en 1 día
-
area/web interface
Dificultad 2/5 1-3 horas Aptitud para principiantes 62/100
mastodon/mastodon#41000 · 1 reacción ·
Los mantenedores suelen responder en 1 día
-
Dificultad 1/5 Menos de una hora Aptitud para principiantes 82/100
zerocracy/judges-action#2743 ·
Los mantenedores suelen responder en 8 días
-
Python 3.15 supportPosiblemente ocupada @amnesiaof la tomó hoy. AbiertoL: python L: python:uv
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
dependabot/dependabot-core#16524 · 1 comentario ·
Los mantenedores suelen responder en 1 día
-
Add Nagoya Ruby Kaigi 05Abiertocontent good first issue
Dificultad 2/5 1-3 horas Aptitud para principiantes 66/100
rubyevents/rubyevents#2182 ·
Los mantenedores suelen responder en 1 día