Unmet peer dependency: @rushstack/heft@^0.71.1 required by heft-sass-plugin but 1.1.2 is installed
@iclanton is already working on this.
Since Mar 5, 2026.
- Dominant language
- TypeScript
- Stars
- 32
- Forks
- 18
- PR merge metrics
- No merged PRs in 30d
Description
Summary
rush update reports an unmet peer dependency for @rushstack/heft in the build infrastructure. @rushstack/heft-sass-plugin@0.15.24 (bundled in @microsoft/spfx-web-build-rig@1.22.2) requires @rushstack/heft@^0.71.1, but the build rig actually ships with @rushstack/heft@1.1.2.
Root Cause
The dependency chain is:
- Example projects use
@microsoft/spfx-web-build-rig@1.22.2as their build rig - The build rig depends on
@rushstack/heft-sass-plugin@0.15.24 @rushstack/heft-sass-plugin@0.15.24declarespeerDependencies: { "@rushstack/heft": "^0.71.1" }- The build rig also depends on
@rushstack/heft@1.1.2(via@microsoft/spfx-heft-plugins@1.22.2) heft@1.1.2does not satisfy the^0.71.1range (semver^0.71.1means>=0.71.1 <0.72.0, and1.1.2is outside this range)
Affected Examples
This affects ace-data-visualization (and potentially any project using @microsoft/spfx-web-build-rig with sass support):
../../examples/ace-data-visualization
├─┬ @microsoft/spfx-web-build-rig 1.22.2
│ └─┬ @rushstack/heft-sass-plugin 0.15.24
│ └── ✕ unmet peer @rushstack/heft@^0.71.1: found 1.1.2 in @microsoft/spfx-web-build-rig
Notes
This is a packaging issue within @microsoft/spfx-web-build-rig@1.22.2. The heft-sass-plugin was published with a peer dependency constraint targeting the pre-1.0 heft, but the build rig bundles the post-1.0 version. The heft-sass-plugin's peer dependency likely needs updating to include >=0.71.1 || ^1.0.0 (or similar).
The workaround is to suppress this via globalPeerDependencyRules in pnpm-config.json.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Assessment
This issue has not been assessed yet.