GV

GeezerVison

The World Wide Web, restored to 800 pixels of glory.

Home|About|Gaming cabinet|Archives|How it works|Starter sites

On this site

  • Sign in
  • unabandoned
  • ActionsCI/CD and automation
  • CodespacesCloud development environments
  • All Features
  • Documentation
  • Training
  • Certifications
  • Build with Copilot
  • Customize Copilot
  • Integrations
  • Trending repos
  • GitHub Sponsors
  • Developer articles

This view

  • Original page
  • New address

GeezerVison is showing github.com — unabandoned

README.md

unabandoned

Maintained forks of abandoned npm packages, kept current so their dependency trees don't rot.

Abandoned packages don't just stop getting features — they stop getting dependency updates. Every stale transitive dependency underneath an unmaintained package is a CVE waiting to happen, and nobody upstream will ever refresh it. unabandoned adopts these packages, publishes them under the @unabandoned/* npm scope, and points Renovate at them so the whole tree stays green.

This org is a holding area, not a mission: the packages here are ones our own projects depend on, forked and parked together instead of scattered through the organization where those projects live. They're published, documented and drop-in, so anyone downstream of the same abandoned libraries is welcome to use them — but the catalog grows from our dependency trees, not from a survey of the ecosystem.

What gets forked

Given a package our projects already pull in, the trigger is abandonment + any outdated dependency — not a live CVE. A CVE only changes the timeline (publish immediately), never whether we act.

Situation Action
Abandoned and carrying any outdated dependency Fork + publish — we own the tree and Renovate keeps it clean
Abandoned but the tree is already fully current Leave alone — forking would add maintenance for zero benefit
A maintained drop-in equivalent exists Replace upstream instead of forking
A tiny leaf library Vendor it in-tree

The goal is a clean transitive dependency tree, all the way up — de-risking the whole tree, not just direct dependencies.

Consuming the packages

Each fork is a drop-in replacement for its upstream. Point your dependency at the @unabandoned scope:

{
  "dependencies": {
    "events": "npm:@unabandoned/events@^3"
  }
}

or install directly:

npm install @unabandoned/events

The public API matches upstream; only the maintenance model changes.

How forks are kept current

  • Renovate runs against every fork, extending the shared unabandoned/renovate-config preset. It bumps dependencies (soaking new releases first) and auto-merges nightly once CI is green.
  • Releases publish monthly by default; a merged security fix cuts an immediate out-of-cycle release.
  • Packages publish with OIDC trusted publishing (provenance attestations), falling back to a scoped token only until OIDC is bootstrapped.
  • CI runs on Node 20 / 22 / 24, plus CodeQL and OpenSSF Scorecard.

Shared CI, release, and publish logic lives here in unabandoned/.github as reusable workflows; each fork carries only a thin caller. See CONTRIBUTING.md for how to add a new fork.

Package dashboard

Every fork's live status — pending Renovate updates, open PRs and issues, latest release, CI, any security fast-path in flight, and what each package is used for — is on the package dashboard. It's generated from each fork's own .unabandoned.yml plus the GitHub API and rebuilt on a schedule, so it's never hand-edited and can't drift. A dependency topology view maps the owned subtree — consumers, forks, and the shared leaves beneath them — coloured by live health, with every edge derived from package.json and used-by (nothing hand-drawn).

Beyond status, it answers the questions that actually decide work: a work queue ranking interventions by how much rot each one removes rather than how often a package appears, and intake for auditing a dependency tree — or comparing any two repositories — before adopting it. Anything measured but unmeasurable is reported as unknown rather than assumed healthy, and every build carries its own integrity verdict. A machine-readable copy is at observation.json.

Reporting a vulnerability

See SECURITY.md. Reporting CVEs in these trees — and getting a fix shipped fast — is the whole point of forking it.

Popular repositories Loading

  1. grunt-contrib-watch grunt-contrib-watch Public

    Forked from gruntjs/grunt-contrib-watch

    Run tasks whenever watched files change.

    JavaScript 1

  2. composerize-ts composerize-ts Public

    Forked from cgoIT/composerize-ts

    A little tool to convert docker run/create commands into docker-compose.yml files.

    TypeScript

  3. renovate-config renovate-config Public

  4. randexp.js randexp.js Public

    Forked from fent/randexp.js

    Create random strings that match a given regular expression.

    JavaScript

  5. xml-js xml-js Public

    Forked from nashwaan/xml-js

    Converter utility between XML text and Javascript object / JSON text.

    JavaScript

  6. path-browserify path-browserify Public

    Forked from browserify/path-browserify

    The path module from Node.js for browsers

    JavaScript

Repositories

Loading
Type
Language
Sort
Showing 10 of 71 repositories
  • recon Public

    Uh oh!

    There was an error while loading. Please reload this page.

    unabandoned/recon's past year of commit activity
    Python 0 0 1 0 Updated Nov 12, 2026
  • composerize-ts Public Forked from cgoIT/composerize-ts

    A little tool to convert docker run/create commands into docker-compose.yml files.

    Uh oh!

    There was an error while loading. Please reload this page.

    unabandoned/composerize-ts's past year of commit activity
    TypeScript 0 MIT 3 1 1 Updated Nov 12, 2026
  • node-qrcode Public Forked from soldair/node-qrcode

    qr code generator

    Uh oh!

    There was an error while loading. Please reload this page.

    unabandoned/node-qrcode's past year of commit activity
    JavaScript 0 MIT 721 1 0 Updated Nov 12, 2026
  • labeled-stream-splicer Public Forked from browserify/labeled-stream-splicer

    stream splicer with labels

    Uh oh!

    There was an error while loading. Please reload this page.

    unabandoned/labeled-stream-splicer's past year of commit activity
    JavaScript 0 MIT 8 1 0 Updated Nov 12, 2026
  • insert-module-globals Public Forked from browserify/insert-module-globals

    insert implicit module globals into a module-deps stream

    Uh oh!

    There was an error while loading. Please reload this page.

    unabandoned/insert-module-globals's past year of commit activity
    JavaScript 0 47 1 0 Updated Nov 12, 2026
  • xml-js Public Forked from nashwaan/xml-js

    Converter utility between XML text and Javascript object / JSON text.

    Uh oh!

    There was an error while loading. Please reload this page.

    unabandoned/xml-js's past year of commit activity
    JavaScript 0 MIT 190 1 1 Updated Nov 12, 2026
  • bootstrap-colorpicker Public Forked from itsjavi/bootstrap-colorpicker

    Bootstrap Colorpicker, maintained fork published as @unabandoned/bootstrap-colorpicker

    Uh oh!

    There was an error while loading. Please reload this page.

    unabandoned/bootstrap-colorpicker's past year of commit activity
    JavaScript 0 MIT 363 1 0 Updated Nov 10, 2026
  • browserify-aes Public Forked from browserify/browserify-aes

    aes, for browserify

    Uh oh!

    There was an error while loading. Please reload this page.

    unabandoned/browserify-aes's past year of commit activity
    JavaScript 0 34 1 0 Updated Nov 9, 2026
  • crypto-js Public

    JavaScript library of crypto standards. Maintained fork of crypto-js, published as @unabandoned/crypto-js.

    Uh oh!

    There was an error while loading. Please reload this page.

    unabandoned/crypto-js's past year of commit activity
    JavaScript 0 0 1 1 Updated Nov 9, 2026
  • grunt-exec Public Forked from jharding/grunt-exec

    Grunt plugin for executing shell commands.

    Uh oh!

    There was an error while loading. Please reload this page.

    unabandoned/grunt-exec's past year of commit activity
    JavaScript 0 48 1 1 Updated Nov 9, 2026
View all repositories

People

This organization has no public members. You must be a member to see who’s a part of this organization.

Top languages

Loading…

Uh oh!

There was an error while loading. Please reload this page.

Most used topics

Loading…

Uh oh!

There was an error while loading. Please reload this page.

You are visitor 01402503 — GeezerVison does not store the pages you look up.
Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required.