Skip to content

[rush] PNPM v7 commitlint autoinstaller doesn't work #3526

Closed
@Faithfinder

Description

@Faithfinder

Summary

Cannot upgrade our repo to pnpm v7. We're using commitlint, and autoinstaller breaks on v7

Repro steps

Repro here: https://github.com/Faithfinder/rush-pnpm7-commilint-repro

  • Checkout main
  • rush update to install git hooks
  • Try to make a commit (empty is fine) with random letters, get error:
⧗   input: asdfasdf
✖   subject may not be empty [subject-empty]
✖   type may not be empty [type-empty]

✖   found 2 problems, 0 warnings
  • Try to make a commit conforming to standard, ie test: commit, succeed
    • These steps are just to check that commitlint is set up correctly and working, all behaviour intended.
  • Checkout pnpmv7 branch (or update pnpm to v7 in rush.json)
  • Try to make the same conforming commit, get error:
dependencies:
+ @commitlint/cli 17.0.2
+ @commitlint/config-conventional 17.0.2

Progress: resolved 189, reused 189, downloaded 0, added 189, done
Auto install completed successfully

Error: Cannot find module "@commitlint/config-conventional" from "/home/misamoto/Source/OpenSource/rush-pnpm7-commilint-repro"

Details

Something changed with pnpm v7 module resolution that messes with autoinstallers :(

Standard questions

Please answer these questions to help us investigate your issue more quickly:

Question Answer
@microsoft/rush globally installed version? 5.74.0
rushVersion from rush.json? 5.74.0
useWorkspaces from rush.json? true
Operating system? WSL
Would you consider contributing a PR? Eh... Wouldn't know where to start, a bit low level for me, but I can try with guidance
Node.js version (node -v)? 16.15.1

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    Status

    Closed

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions