[rush reporter][R3] Emit shadow RushSession lifecycle and diagnostics

Aperta
#5,976 1 commento 0 reazioni 0 assegnatari Vedi su GitHub

Nessuno ha ancora preso questa issue.

Valutazione

Difficoltà
5/5
Tempo stimato
Più di una settimana
Idoneità per principianti
28/100
Tipo di issue
Funzionalità
Chiarezza
Abbastanza chiara
Stato di attività
Attiva
Stack tecnologico
typescript

Direzione di ricerca

Start with the reporter event contract and blocker #5974, then trace RushSession, action and plugin entry points in rush-lib alongside the legacy hooks and AlreadyReportedError path. Review how lifecycle, diagnostics, telemetry, and exit-status events are currently handled. Done means shadow emission and parity tests cover ordering, correlation, telemetry, diagnostics, and all listed result states without changing stdout or stderr.

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

Descrizione

enhancement

Parent: #5858

Blocked by: #5974

Goal

Connect rush-lib to the reporter event contract in shadow mode, with no visible output change.

Scope

  • Expose a typed reporter event sink and scoped producers through RushSession, actions, and plugins without exposing concrete reporters.
  • Adapt command/session lifecycle, structured diagnostics, telemetry projection, and command-result/exit-status events into the canonical envelope.
  • Keep operation identity phase-aware: an operation is project × phase, not merely a project.
  • Bridge legacy hooks and AlreadyReportedError correlation while the legacy renderer remains authoritative.
  • Add parity tests for event ordering, telemetry fields, diagnostics, and exit status.

Acceptance criteria

  • Shadow emission can be enabled in tests without changing stdout/stderr.
  • First-party lifecycle and diagnostic paths emit stable, correlated envelopes.
  • Actions/plugins receive scoped producer APIs only.
  • Telemetry and derived exit status match legacy behavior for success, warning, failure, cancellation, and internal-error cases.
  • Phase-aware operation identifiers are stable across retries/watch iterations.

DAG

Unblocks R4, R5, and R7.

Part of #5858.

Lingua principale
TypeScript
Stelle
6.5k
Fork
708
Merge medio
5g 7h
PR unite (30g)
44

Guida per i contributori

Nessuna guida per i contributori indicizzata per questo repository

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 microsoft/rushstack

Tutte le issue di microsoft/rushstack

Issue simili

Altre issue su TypeScript

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.