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

未关闭
#5,980 0 条评论 0 个 reaction 已指派 0 人 在 GitHub 查看

还没有人认领这个 Issue。

评估

难度
5/5
预计耗时
一周以上
新手友好度
35/100
Issue 类型
功能
描述清晰度
基本清楚
活跃度
活跃
技术栈
typescript

调研方向

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.

由索引模型根据 Issue 内容生成。

描述

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.

主要语言
TypeScript
星标
6.5k
派生
708
平均合并
5 天 7 小时
30 天内合并 PR
44

贡献指南

这个仓库没有索引到贡献指南

从这里开始

  1. 先读完整个 Issue,再读项目的贡献指南。
  2. 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
  3. Fork 仓库,在一个分支上完成修改。
  4. 提交 Pull Request,并在描述里引用这个 Issue 编号。

microsoft/rushstack 的其他 Issue

查看 microsoft/rushstack 的全部 Issue

相似的 Issue

更多 TypeScript Issue

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。