[npm-check-fork] Replace package-json and throat dependencies with local implementations
@TheLarkInn is already working on this.
Since Jan 24, 2026.
Assessment
This issue has not been assessed yet.
Description
Summary
The @rushstack/npm-check-fork package depends on package-json and throat, which should be replaced with existing Rush Stack utilities:
- package-json: ESM-only module with a heavy dependency tree (~500KB). We only use it to fetch basic registry metadata.
- throat: Concurrency limiter that duplicates functionality already in
@rushstack/node-core-library
Details
Proposed solution:
- Replace
package-jsonwith a minimalNpmRegistryClientclass using the existingWebClientfrom@rushstack/rush-lib - Replace
throatwithAsync.forEachAsyncfrom@rushstack/node-core-library
Benefits:
- Eliminates ESM compatibility issues with CJS consumers
- Reduces bundle size and dependency footprint
- Integrates with Rush's existing proxy configuration
- Uses utilities already in the codebase
- Reduces chances of CVE's from upstream dependencies
Standard questions
| Question | Answer |
|---|---|
| Package name: | @rushstack/npm-check-fork |
| Package version? | 5.0.x |
| Operating system? | All |
| Would you consider contributing a PR? | Yes |
Node.js version (node -v)? |
18.x+ |
- Dominant language
- TypeScript
- Stars
- 6.5k
- Forks
- 708
- Avg merge
- 4d 13h
- Merged PRs (30d)
- 62
Contributor guide
No contributing guide indexed for this repository
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.
More from microsoft/rushstack
-
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
-
Difficulty 2/5 1-3 hours Newbie friendliness 65/100
-
Difficulty 2/5 1-3 hours Newbie friendliness 68/100
-
Difficulty 2/5 1-3 hours Newbie friendliness 70/100
-
Difficulty 4/5 3-5 days Newbie friendliness 45/100
All issues in microsoft/rushstack
Similar issues
-
Difficulty 2/5 1-3 hours Newbie friendliness 84/100
bcgov/bc-wallet-mobile#4761 · 1 comment ·
-
external-issue to-triage
Difficulty 2/5 1-3 hours Newbie friendliness 88/100
-
area-deployment area-integrations triage:bot-seen
Difficulty 2/5 Half a day Newbie friendliness 86/100
-
Difficulty 2/5 1-3 hours Newbie friendliness 82/100
-
refactor
Difficulty 2/5 1-3 hours Newbie friendliness 84/100