[rush reporter][R7] Integrate Heft child reporting and problem matchers

Open
#5,980 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Assessment

Difficulty
5/5
Estimated time
Over a week
Newbie friendliness
35/100
Issue type
Feature
Clarity
Mostly clear
Activity status
Active
Tech stack
typescript

Research direction

Start by reading the parent issue #5858 and blockers #5976 and #5978, then trace the Rush–Heft child descriptor/NDJSON protocol and problem-matcher scope described here. Done means the listed acceptance criteria pass, including structured-event negotiation, ordered raw fallback, safe handling of optional and required features, diagnostic recovery, and cross-version or malformed-stream coverage.

Written by the indexing model from the issue text.

Description

enhancement

Parent: #5858

Blocked by: #5976, #5978

Goal

Carry the semantic reporter stream through Heft child processes while retaining compatibility with older Heft versions and opaque external tools.

Scope

  • Negotiate the child descriptor/NDJSON protocol and forward correlated Heft envelopes.
  • Propagate reporter/log-level/color/width context to child processes.
  • Retain ordered raw stdout/stderr fallback for older or incompatible Heft versions.
  • Register and run problem matchers against the uncollated source stream.
  • Preserve parent/child ordering, source sequence, privacy classification, and record/chunk limits.

Acceptance criteria

  • New Rush + new Heft uses negotiated structured events.
  • New Rush + old Heft remains readable through ordered raw fallback.
  • Unknown optional events degrade safely; unsupported required features produce an actionable diagnostic.
  • Problem matchers recover diagnostics without mutating raw output.
  • Cross-version and malformed-stream tests cover fallback behavior.

DAG

Unblocks R9.

Part of #5858.

Dominant language
TypeScript
Stars
6.5k
Forks
708
Avg merge
5d 19h
Merged PRs (30d)
48

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from microsoft/rushstack

All issues in microsoft/rushstack

Similar issues

More TypeScript issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.