npm package storage: 590 versions, ~12GB — risk of policy action
Nobody has claimed this yet.
- Dominant language
- CSS
- Stars
- 70
- Forks
- 31
- Avg merge
- 4h 14m
- Merged PRs (30d)
- 5
Description
Problem
The mashlib npm package currently has 590 published versions totaling an estimated ~12GB on the npm registry (each build is ~21MB unpacked).
The growth has accelerated sharply:
| Year | Versions published |
|---|---|
| 2023 | 23 |
| 2024 | 10 |
| 2025 | 90 |
| 2026 (Jan–Feb only) | 109 |
That's 199 versions in ~14 months, compared to 10 in the entirety of 2024.
Risk
npm monitors package storage and has taken action against packages for excessive registry usage. With 14 maintainers listed on this package, a policy action would affect everyone.
Suggested fixes
- Add a version-exists check to CI so it doesn't publish if the version already exists on npm
- Stop publishing prerelease/hash versions (e.g.
2.1.4-test.0,3.0.1-0dd33a6) to the public registry — use a local artifact or GitHub Packages instead - Consider deprecating the hundreds of unused prerelease versions to signal they are not intended for consumption
- Review the CI pipeline to ensure publishes only happen on tagged releases from main
Context
This is a shared infrastructure concern that affects all 14 npm maintainers. The goal is to prevent further storage growth and reduce the risk of npm taking action against the package.
cc @jeswr @timea-solid
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.
Research direction
The issue names no specific files or tests; start by reviewing the CI pipeline, tagged-release flow, and npm publication configuration, then compare them with the listed prerelease and hash versions. Done means an agreed publishing policy prevents duplicate or unintended prerelease publishes, with any package cleanup decision documented.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- javascript, typescript
- Domain
- ci-cd, devops, release
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 45/100