-
Notifications
You must be signed in to change notification settings - Fork 663
Open
Labels
effort: mediumNeeds a somewhat experienced developerNeeds a somewhat experienced developerenhancementThe issue is asking for a new feature or design changeThe issue is asking for a new feature or design change
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+ |
Metadata
Metadata
Assignees
Labels
effort: mediumNeeds a somewhat experienced developerNeeds a somewhat experienced developerenhancementThe issue is asking for a new feature or design changeThe issue is asking for a new feature or design change
Type
Projects
Status
In Progress