Skip to content

riceharvest/opensourceframework

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

80 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

OpenSource Framework

Maintained forks of abandoned npm packages

CI License Commitizen friendly

About

OpenSource Framework is a monorepo dedicated to maintaining forks of abandoned npm packages. We ensure these valuable tools continue to receive security updates, bug fixes, and compatibility improvements.

Packages

Package Version Description Original Package Docs
@opensourceframework/critters npm CSS optimization for Next.js critters README
@opensourceframework/next-auth npm Authentication for Next.js (v3 legacy) next-auth README, MIGRATION
@opensourceframework/next-circuit-breaker npm Circuit breaker pattern for Next.js next-circuit-breaker README
@opensourceframework/next-compose-plugins npm Compose Next.js plugins next-compose-plugins README
@opensourceframework/next-connect npm Method routing and middleware next-connect README
@opensourceframework/next-cookies npm Cookies utility for Next.js next-cookies README, MIGRATION
@opensourceframework/next-csrf npm CSRF protection for Next.js next-csrf README
@opensourceframework/next-images npm Image handling for Next.js next-images README
@opensourceframework/next-iron-session npm Session handling with iron iron-session README
@opensourceframework/next-json-ld npm JSON-LD SEO helpers next-json-ld README
@opensourceframework/next-mdx npm MDX content helpers for Next.js next-mdx README
@opensourceframework/next-mdx-toc npm Table of contents helpers for MDX pages next-mdx-toc README
@opensourceframework/next-optimized-images npm Image optimization for Next.js next-optimized-images README
@opensourceframework/next-pwa npm PWA support for Next.js next-pwa README, MIGRATION
@opensourceframework/next-seo npm SEO utilities for Next.js next-seo README, MIGRATION
@opensourceframework/next-session npm Session management for Next.js next-session README
@opensourceframework/next-transpile-modules npm Transpile modules in Next.js next-transpile-modules README, MIGRATION
@opensourceframework/react-a11y-utils npm React accessibility utilities react-a11y-utils README
@opensourceframework/react-query-auth npm Authenticate with react-query react-query-auth README
@opensourceframework/react-virtualized npm Virtualized list/grid for React react-virtualized README
@opensourceframework/seeded-rng npm Seeded random number generator seeded-rng README

Compatibility Matrix

We rigorously test our packages against a matrix of framework versions to ensure bulletproof backwards compatibility and safe migrations.

Framework Versions Status Verified Packages
Next.js 16.1.6 / React 19.2.0 ✅ SAFE next-images, next-compose-plugins, next-mdx, next-session, next-auth, react-virtualized, and more
Next.js 15.2.0 / React 19.0.0 ✅ SAFE next-images, next-compose-plugins, next-mdx, next-session, next-auth, react-virtualized, and more
Next.js 14.2.24 / React 18.3.1 ✅ SAFE next-images, next-compose-plugins, next-mdx, next-session, next-auth, react-virtualized, and more

Every package is verified for both CommonJS and ESM resolution using modern Node.js standards.

API Surface Protection

We use API Extractor to maintain a strict "contract" for our public API surface. All packages in the @opensourceframework ecosystem include a .api.md report (found in their etc/ directory) that catalogs every exported function, class, and interface.

  • Zero Accidental Breaking Changes: Any modification to the public API surface is caught in CI using Turborepo, ensuring that migrations are always safe for our users.
  • Dual-Package Support: Every package is verified for both CommonJS and ESM resolution using modern Node.js standards and @arethetypeswrong/cli.
  • Comprehensive Coverage: 20+ packages are now protected by this regression suite.

Ecosystem Integrity

We go beyond standard unit testing to ensure that our modernized forks are not just compatible, but also performant and visually identical to the originals.

Performance Benchmarks

We use Mitata to verify that our engine modernizations don't introduce performance regressions. For example, @opensourceframework/critters is verified to process HTML in microseconds:

Task Average Latency
Process Small HTML ~123.83 µs
Process Small HTML (optimized) ~58.09 µs

Visual Regression Testing

For UI components like @opensourceframework/react-virtualized, we use Playwright to take pixel-perfect snapshots of components. This ensures that modernization (e.g., migrating to React 19) never breaks complex virtualization math or layout integrity.

Continuous Security Monitoring

Our ecosystem is under constant audit for dependency vulnerabilities. We maintain an active Security Audit Log and prioritize patching critical issues found in the dependency graph of abandoned forks.

Migration Tooling

To make migration as seamless as possible, we provide a dedicated codemod CLI to automatically update your codebase.

Automated Import Updates

# Run the migration tool
npx @opensourceframework/codemods next-seo ./src

This will automatically transform all next-seo imports and require calls to @opensourceframework/next-seo.

Why OpenSource Framework?

Many npm packages become abandoned over time, leaving projects vulnerable to security risks and framework obsolescence. OpenSource Framework provides a "Safe Haven" for critical utilities with a focus on:

  • Legacy Preservation: We maintain "stable-forever" forks of popular versions (like NextAuth v3) that official maintainers have abandoned, ensuring legacy apps don't break as frameworks like Next.js evolve.
  • Zero-Effort Migration: Unlike official major upgrades that often force complete rewrites (e.g., next-seo v7), our forks prioritize drop-in compatibility. We restore removed components and provide compatibility aliases for legacy props to ensure your existing codebase stays functional.
  • Modern Standards: Every fork is migrated to modern tooling (tsup, vitest, ESM) and strictly tested against the latest Next.js versions (including Next.js 16/17 compatibility).
  • Unified Ecosystem: A single namespace (@opensourceframework) for a collection of drop-in replacements, reducing dependency fragmentation and audit fatigue.
  • Simplicity over Complexity: While other forks (like Serwist) shift philosophies, we prioritize maintaining the original, simple APIs that developers already know and love.

Quick Start

Installation

# Using npm
npm install @opensourceframework/[package-name]

# Using yarn
yarn add @opensourceframework/[package-name]

# Using pnpm
pnpm add @opensourceframework/[package-name]

Migration from Original Packages

Simply update your imports:

- import { something } from 'original-package';
+ import { something } from '@opensourceframework/original-package';

Contributing

We welcome contributions! Please see our Contributing Guide for details.

Development

Prerequisites

  • Node.js 18+
  • pnpm 9+

Setup

# Clone the repository
git clone https://github.com/riceharvest/opensourceframework.git
cd opensourceframework

# Install dependencies
pnpm install

# Build all packages
pnpm build

# Run tests
pnpm test

# Lint code
pnpm lint

License

This repository is licensed under the MIT License. Individual packages may retain their original licenses if different.

Acknowledgments

  • Original package authors for their valuable contributions
  • All contributors who help maintain these packages

Made with 💜 by the OpenSource Framework community