Hacktoberfest 2026: le issue che i maintainer hanno segnato per ottobre, aperte e adatte ai principianti. Sfoglia le issue Hacktoberfest

Make gli an optional dependency (only bin/slack needs it)

Aperta
#601 1 commento 0 reazioni 0 assegnatari Vedi su GitHub

Nessuno ha ancora preso questa issue.

Valutazione

Difficoltà
3/5
Tempo stimato
1-2 giorni
Idoneità per principianti
72/100
Tipo di issue
Refactoring
Chiarezza
Abbastanza chiara
Stato di attività
Attiva
Stack tecnologico
ruby
Ambito
cli, tooling

Direzione di ricerca

Start at bin/slack and the gem's runtime dependency declaration. Check how the CLI currently loads gli and how the Web/Events API client is used without it. Done means gli is no longer installed for API-only users, while bin/slack clearly asks users to add gli when it is missing.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Descrizione

slack-ruby-client has a runtime dependency on gli, but gli is only used by the bin/slack command-line tool. Apps that use the gem purely as a Web/Events API client still install gli, along with gli's own runtime dependency on ostruct (GLI::Options < OpenStruct).

That matters now because Ruby 4.0 removed ostruct from the default gems, and apps that have otherwise removed OpenStruct still carry ostruct in their lockfile through slack-ruby-client → gli.

Options, in order of least disruption:

  1. Move gli to an optional dependency. Have bin/slack require 'gli' and fail with a clear message ("add gem 'gli' to use the slack CLI") when it's missing.
  2. Split the CLI into its own gem (e.g. slack-ruby-client-cli). #23 ("Partition this gem?") discussed this years ago.

Would either work for you? I'm happy to send a PR for option 1.

Lingua principale
Ruby
Stelle
1.3k
Fork
222
Metriche di merge delle PR
Nessuna PR unita negli ultimi 30g

Preparare l'ambiente

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di slack-ruby/slack-ruby-client

Tutte le issue di slack-ruby/slack-ruby-client

Issue simili

Altre issue su Ruby

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.