Extension --help prints root help instead of running the extension
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
- Ambito
- cli, developer-experience
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
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
elastic extension create demo --path ./examples/extensions/basicelastic 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
- Nessun Dockerfile né file Docker Compose
- Nessun modello di pull request
- Leggi la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di elastic/cli
-
feat: ship skills/elastic/SKILL.md for agent invocationForse già presa @onatozmenn l’ha presa 26 giorni fa. Apertaenhancement
Difficoltà 2/5 1-3 ore Idoneità per principianti 88/100
elastic/cli#628 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
elastic/cli#617 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
-
tracking
Difficoltà 5/5 Più di una settimana Idoneità per principianti 35/100
I maintainer di solito rispondono entro 1 giorno
-
Stale
Difficoltà 3/5 1-2 giorni Idoneità per principianti 38/100
elastic/cli#772 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
-
refactor(config): drop unused safeParse wrappers and stale Zod comments in config/schema.tsForse già presa @JoshMock l’ha presa 7 giorni fa. ApertaStale
Difficoltà 3/5 Mezza giornata Idoneità per principianti 62/100
elastic/cli#740 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
Issue simili
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
braintrustdata/braintrust-sdk-javascript#2659 ·
I maintainer di solito rispondono entro 1 giorno
-
body-parser 2.3.0 in the published ai-dial-chat-bff image is vulnerable (CVE-2026-111181, HIGH)Forse già presa @illya-havsiyevych l’ha presa oggi. Apertabug
Difficoltà 1/5 1-3 ore Idoneità per principianti 87/100
epam/ai-dial-chat#9566 ·
I maintainer di solito rispondono entro 1 giorno
-
bug
Difficoltà 2/5 1-3 ore Idoneità per principianti 83/100
I maintainer di solito rispondono entro 1 giorno
-
はさみアイコンを修正するApertabug
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 68/100
-
resource.reload() while params is in error switches the resource to 'idle' instead of retryingApertaarea: core
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
I maintainer di solito rispondono entro 1 giorno