frejs/fre

:ghost: Tiny Concurrent UI library with Fiber.

View on GitHub ↗Jump to charts ↓Open shareable report

Summary Information

Updated 33 minutes ago
Type:Library / SDKCategory(s):Frontend FrameworksWeb Development
Added to GitGenius on September 18th, 2026
Created on July 28th, 2018
Open Issues & Pull Requests: 10 (+0)
GitHub issues: Enabled
Number of forks: 348
Total Stargazers: 3,763 (+0)
Total Subscribers: 39 (+0)

Repository Insights (GitGenius)

Median issue/PR response: 0.4 hours
Mean response time: 6.2 days
90th percentile: 44.1 hours
Tracked items: 12

Most active contributors

Sign in to see contributor activity.

Charts & Analytics

Fetching additional details & charts...

Issue Activity (beta)

Open issues: 2
New in 7 days: 0
Closed in 7 days: 0
Avg open age: 1,065 days
Stale 30+ days: 2
Stale 90+ days: 1

Recent activity

Opened in 7 days: 0
Closed in 7 days: 0
Comments in 7 days: 0
Events in 7 days: 0

Top labels

No label distribution available yet.

Most active issues this week

No issue events were indexed in the last 7 days.

Detailed Description

Fre is a lightweight concurrent UI library with Fiber architecture that brings React-like development patterns to a minimal codebase.

The library addresses the need for a small-footprint UI framework that does not sacrifice modern features. It implements concurrent mode through a coroutine scheduler that enables time slicing, allowing the browser to interrupt rendering work and handle high-priority tasks. The core reconciliation algorithm is keyed and minimal, supporting pre-process rendering, offscreen rendering, and server-side hydration. The tool provides virtual DOM, hooks API, Suspense, Fragments, and memoization despite its tiny size.

Fre suits developers building projects where bundle size matters but who want familiar React-like APIs and patterns. The hooks API covers useState, useEffect, useReducer, useLayout, useCallback, useMemo, useRef, and useContext. The library includes ErrorBoundary for error handling and memo for component optimization. Teams evaluating adoption should note that the concurrent mode implementation via time slicing is a distinguishing feature that allows rendering work to be split across multiple frames, preventing long tasks from blocking user interaction.

The project maintains active test coverage and builds successfully through continuous integration. Development activity shows ongoing maintenance with regular updates to the codebase and attention to code quality metrics.