BreakPoint Drop

By language · JavaScript

Abandoned JavaScript projects looking for a new maintainer

A 2026 field guide to finding, evaluating, and adopting an abandoned npm package. Covers the npm deprecate workflow, the GitHub adopt-me topic, and how to read the maintenance signals in your package.json.

Published July 13, 2026 · ~3 min read

The short version

  • Use npm deprecate <package> "message" when stepping back — it surfaces a warning on every install.
  • The canonical signal vocabulary is the GitHub adopt-me topic + the looking-for-maintainer shield + a pinned issue.
  • 15% of widely-used npm packages become abandoned within 6 years (2025 ICSE study). Bus factor 1 is the default for solo JS projects.
  • For evaluation, check Snyk Advisor + npm view <package> time + GitHub git shortlog.

How to find abandoned JavaScript projects

The fastest way is the BreakPoint feed filtered to JavaScript. Three other signals to layer on top:

  • GitHub topic search: https://github.com/topics/adopt-me?l=javascript — direct, real-time.
  • npm CLI: npm view <package> time shows the last release date. npm view <package> deprecated shows the deprecation message. npm view <package> maintainers shows the bus factor.
  • Snyk Advisor: scores every npm package on maintenance, security, and popularity. A "low maintenance" score is a real adoption-candidate signal.

The npm deprecate workflow

If you're stepping back from a JavaScript project, the npm-native way to signal it is npm deprecate <package> "<message>". The message shows up on every npm install of the package, which is the right place to surface it. A good message includes (1) when the deprecation started, (2) what to use instead, (3) a link to a migration guide. Also set the deprecated field in package.json. The deprecation does NOT delete the package — it just warns. The package continues to install and work for everyone who depends on it, with the warning visible to anyone adding it to a new project.

If you want to fully archive the project (the equivalent of a GitHub archive), use npm deprecate plus a clear "this project is no longer maintained" banner in the README. Don't npm unpublish unless the package is less than 72 hours old — npm blocks unpublishing of older packages to protect dependents.

If you maintain: how to signal "looking for a maintainer"

See the maintainer handoff guide for the full 5-step playbook. The JavaScript-specific bits: add the adopt-me GitHub topic, add the shields.io looking-for-maintainer badge to the README, pin a "Seeking new maintainer" issue, run npm deprecate for users who depend on you, and drop the project on BreakPoint. JavaScript's release culture means a 3-month silence is already a real signal — don't wait until the issues queue is unmanageable before you start the handoff.

Frequently asked questions

How do I find abandoned JavaScript projects?

Three places: the BreakPoint feed filtered to JavaScript, the GitHub adopt-me topic, and Snyk Advisor.

How do I deprecate an npm package?

npm deprecate <package> "<message>" — the message shows up on every install. Also set the deprecated field in package.json.

What's the bus factor in JavaScript?

Bus factor 1 is the default for solo JS projects. 15% of widely-used npm packages become abandoned within 6 years (2025 ICSE study).

Related reading

Adopter guide

How to take over an abandoned open source project

The 6-step playbook that applies to every language, including the cross-language contact-and-fork workflow.

Find a JavaScript project

The BreakPoint feed — fresh adoptions, filtered to your stack

Median drop-to-first-PR is 23 days. The right JS project is here.