Hacktoberfest 2026: the issues maintainers tagged for October, open and beginner-friendly. Browse Hacktoberfest issues

[npm-check-fork] Replace package-json and throat dependencies with local implementations

Open
#5,564 0 comments 0 reactions 1 assignee View on GitHub

@TheLarkInn is already working on this.

Since Jan 24, 2026.

Assessment

This issue has not been assessed yet.

Description

effort: medium enhancement

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:

  1. Replace package-json with a minimal NpmRegistryClient class using the existing WebClient from @rushstack/rush-lib
  2. Replace throat with Async.forEachAsync from @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

  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.