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

Extension --help prints root help instead of running the extension

Aperta Adatta ai principianti
#795 0 commenti 0 reazioni 0 assegnatari Vedi su GitHub

I maintainer di solito rispondono entro 1 giorno

Nessuno ha ancora preso questa issue.

Valutazione

Difficoltà
2/5
Tempo stimato
1-3 ore
Idoneità per principianti
77/100
Tipo di issue
Bug
Chiarezza
Specificata chiaramente
Stato di attività
Attiva
Stack tecnologico
node.js, typescript

Direzione di ricerca

Inizia da src/cli.ts e segui come la pre-analisi di argv imposta wantsHelp e controlla il dispatch delle estensioni; confrontala con l’esempio incluso in examples/extensions/basic/index.js. Esegui la riproduzione con elastic demo --help e conferma che l’estensione riceva i suoi argomenti e stampi le proprie istruzioni per l’uso.

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

Descrizione

tracking

Summary

When --help or -h appears anywhere in the arguments, the CLI does not dispatch to an installed extension; it prints the root elastic --help instead. Extensions cannot show their own help, and an extension cannot receive -h/--help as an argument at all.

This contradicts the bundled example, whose header says elastic demo --help # shows usage (examples/extensions/basic/index.js), and that extension does handle --help itself.

Reproduction

  1. elastic extension create demo --path ./examples/extensions/basic
  2. elastic demo --help

Expected: the extension runs and prints Usage: elastic demo [--help].

Actual: root elastic --help output.

Seen with @elastic/cli 0.7.0 and a Rust extension (elastic console --help). Same code on main.

Notes

The argv pre-scan sets wantsHelp for any --help/-h, and extension dispatch is gated on it (src/cli.ts):

if (arg === '--help' || arg === '-h') wantsHelp = true
// ...
if (!wantsHelp && firstArg != null && !program.commands.some(c => c.name() === firstArg)) {
  // findExtension / runExtension
}

A guess at a fix: when firstArg is an installed extension, dispatch regardless of wantsHelp, since everything after the extension name belongs to the extension (process.argv.slice(3) is already passed through).

Related

  • #738 (extensions ignore --use-context / --config-file), another case of argv handling around extension dispatch.

authored by Pi Coding Agent (Claude Opus 4)

Lingua principale
TypeScript
Stelle
51
Fork
27
Merge medio
1g 19m
PR unite (30g)
50

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 elastic/cli

Tutte le issue di elastic/cli

Issue simili

Altre issue su TypeScript

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.