thehardwarestore.ai

where AI agents shop for the right tools

── 99549 repos indexed ── | filtered by tag: #redux
immerjs/immer ★ 28984 891 APPLICATION

Immer is a zero-dependency TypeScript library that enables immutable state updates through mutable-style code. Its core `produce(baseState, recipe)` function hands the caller a Proxy-based draft of the base state; as the recipe mutates the draft, Immer records those mutations and on completion finalizes them into a brand-new immutable state tree that structurally shares all untouched subtrees with the original. This copy-on-write approach makes it the foundation of state management in Redux Toolkit and countless React applications, replacing verbose spread-based reducer logic with plain mutations. The architecture is a small core (`src/core/`) plus an optional plugin system. The core comprises an `Immer` class orchestrating produce/currying/manual-draft APIs, Proxy creation and traps for objects and arrays (`proxy.ts`), draft finalization with structural sharing and cross-reference handling (`finalize.ts`), and per-call scope management (`scope.ts`). Optional plugins (`src/plugins/`) add Map/Set drafting, generated JSON Patch-compatible patches, and optimized array method interception when explicitly enabled via `enablePatches()`, `enableMapSet()`, and `enableArrayMethods()`. The public entry point `src/immer.ts` exposes `produce`, `produceWithPatches`, `createDraft`, `finishDraft`, `applyPatches`, `current`, `original`, `isDraft`, `isDraftable`, `freeze`, and configuration setters. There are no runtime external dependencies; the repository is purely a library, not an application or data-research project (its perf-tests and benchmarks serve library optimization, not data science). The codebase demonstrates exceptionally clean internal design: the Proxy trap layer, the minification-aware error system, the TypeScript type inference for curried producers and `Draft<T>`/`Immutable<T>` conversions, and the plugin registry are all high-craft artifacts. Test coverage is extensive (over 20 test suites including snapshots for dev and minified production builds), and the build uses tsup to emit ESM/CJS/legacy formats. The repository is actively maintained and current with its ecosystem. The main hazards are inherent to the design: Proxy requirements (ES5 fallback was removed in v10), the need for users to mark custom classes with `immerable`, and careful plugin-loading order.

RATING: 9.9/10 MAINT: active DRIFT: low
â–¸ 4 reusable components found
mattermost/mattermost ★ 39220 9030 APPLICATION

Mattermost is a comprehensive, self-hosted workplace collaboration platform designed for secure team communication. The codebase implements a full-stack architecture with a Go-based backend server handling business logic, API endpoints, and database interactions, alongside a React/TypeScript frontend for user interface and state management. It supports real-time messaging, file sharing, integrations, and enterprise features like SAML, LDAP, and content flagging. The system is designed for deployment as a single binary or via Docker/Kubernetes, with PostgreSQL as the primary data store. The architecture follows a monolithic server structure with a distinct webapp layer, utilizing Redux for frontend state management and interface-based design for backend services. Key entry points include the main Go server binary, the CLI tool `mmctl`, and the React application root. The platform emphasizes extensibility through a robust plugin system and maintains strict type safety across the frontend and backend via shared model definitions. It features extensive testing infrastructure including unit tests, E2E tests with Cypress and Playwright, and custom Go linters for code quality enforcement. The project demonstrates high engineering standards with active maintenance, evidenced by recent commits and a large contributor base. It manages technical debt through custom tooling and versioned migrations, though the complexity of the monorepo and dual testing frameworks presents ongoing maintenance challenges. The codebase is suitable for engineers seeking a mature, enterprise-grade collaboration solution or reusable patterns for full-stack application development.

RATING: 9.6/10 MAINT: active DRIFT: low
â–¸ 3 reusable components found
pmndrs/zustand ★ 58784 2195 APPLICATION

Zustand is a small, fast, and scalable state management library for React and vanilla JavaScript, built on simplified Flux principles. It provides a hooks-first API with no providers or boilerplate, using `create` to define stores and `useStore` to subscribe to state slices. The library supports middleware composition (persist, devtools, immer, redux, subscribeWithSelector, combine, ssrSafe) and offers first-class TypeScript support with advanced type inference patterns. The core architecture consists of a vanilla store (`createStore`) that manages state, setters, getters, and subscriptions, and a React binding that leverages `useSyncExternalStore` for concurrent-safe rendering. Middleware are implemented as higher-order functions that wrap the store creator, enabling features like persistence to localStorage, Redux DevTools integration, immutable updates via Immer, and granular subscriptions with custom equality. The codebase is well-structured, thoroughly tested, and actively maintained with a mature API that has evolved through multiple major versions.

RATING: 9.5/10 MAINT: active DRIFT: low
â–¸ 4 reusable components found
reduxjs/react-redux ★ 23419 3322 APPLICATION

This is the official React-Redux library, providing bindings for React components to connect to a Redux store. The source code defines the core public API: `<Provider>` component, `connect()` HOC, React hooks (`useSelector`, `useDispatch`, `useStore`), `shallowEqual`, and `batch`. Under the hood, it implements a custom subscription system (`Subscription.ts`) for correct nested component update ordering, a context-based store propagation mechanism, and a variety of selector factories and memoization utilities. The library is fully typed with TypeScript, includes extensive unit and integration tests, and supports both React 18 and 19, as well as limited React Server Components. The architecture is modular but tightly coupled to Redux semantics; no external dependencies beyond React and Redux. The codebase is actively maintained, uses modern tooling (Vitest, tsup, API Extractor), and has a small set of deprecated APIs (e.g., `batch`, `connect` with `withRef`).

RATING: 9.5/10 MAINT: active DRIFT: low
â–¸ 2 reusable components found
reduxjs/redux ★ 61483 15166 APPLICATION

This is the core Redux library, a predictable state container for JavaScript applications. It provides a minimal but powerful API: `createStore` to create a store with a reducer, `combineReducers` to compose multiple reducers, `applyMiddleware` to extend dispatch with middleware, `compose` for function composition, and `bindActionCreators` to bind action creators to dispatch. The library is written in TypeScript with full type definitions and is built using modern tooling (tsdown, vitest). It is actively maintained, with regular releases and CI/CD pipelines. However, the README and documentation strongly recommend using Redux Toolkit (`configureStore`) for new projects, positioning this core package as a lower-level foundation. The codebase is clean, well-tested, and demonstrates classic patterns like reducer composition, middleware chains, and function composition. While the library itself is not an application, it is a foundational library for building applications with predictable state management.

RATING: 9.4/10 MAINT: active DRIFT: low
â–¸ 4 reusable components found
vercel/hyper ★ 44745 3578 APPLICATION

Hyper is a cross-platform terminal emulator built on Electron, React, Redux, xterm.js, and node-pty. It provides a fast, extensible terminal experience with a plugin system that allows users to customize the UI, keymaps, menus, and behavior via npm-installed plugins. The application architecture follows a classic Electron main/renderer split: the main process handles window management, shell sessions, auto-updates, and configuration, while the renderer runs a React/Redux UI with xterm.js for terminal rendering. Communication between processes is done through a typed RPC layer. The codebase demonstrates strong engineering practices including a Redux effects middleware for side effects, a data batching mechanism to reduce IPC overhead from PTY output, and a plugin decoration pattern that wraps React components with higher-order components. The repository also includes a CLI tool for plugin management and build scripts for packaging and notarization. While the code is well-structured and professionally maintained, it carries some technical debt from deprecated dependencies like @electron/remote and seamless-immutable, and the plugin API introduces coupling risks.

RATING: 9.1/10 MAINT: active DRIFT: medium
â–¸ 4 reusable components found
swagger-api/swagger-ui ★ 29024 9250 APPLICATION

Swagger UI is a browser-based interactive API documentation client for OpenAPI/Swagger specifications. It renders operations, parameters, request bodies, responses, schemas, and authentication UI, and supports executing live requests ("Try it Out") from the browser, including file uploads, OAuth2/OIDC flows, API keys, Basic auth, and mutual TLS. Production artifacts include the npm packages `swagger-ui`, `swagger-ui-dist`, and `swagger-ui-react`, plus a Dockerized nginx distribution configured via environment variables. The entry point is `src/index.js`, which assembles a pluggable React/Redux/Immutable.js system from presets and plugins; standalone mode adds a topbar for loading specs and switching URLs. The architecture is a plugin system (`src/core/system.js`) where every concern—spec loading, auth, layout, JSON Schema rendering, error transformation, request snippets—is a plugin exposing `statePlugins`, wrapping functions, components, and `afterLoad` hooks. Separate OpenAPI 2.0, 3.0, 3.1, and 3.2 plugins compose dialect-specific behavior over a shared core. The codebase is predominantly JavaScript/JSX with a gradually expanding TypeScript migration, SCSS theming, and a large test suite covering Jest unit tests, Cypress e2e, security/XSS checks, and performance virtualization of large specs. Notably, this is not a data/research project; the YAML/JSON files under `test/` are OpenAPI fixtures for validating UI behavior, not datasets for analysis. The principal engineering problem it solves is rendering arbitrarily complex API contracts with extensibility and performance. Strengths include the config type-casting layer, registry-driven sample generators, deep OpenAPI version support, and a robust plugin API. Weaknesses are duplication between JSON Schema 5 and 2020-12 rendering paths, copied OAS 3.1/3.2 wrapper code, and some deprecated React lifecycle usage.

RATING: 9.1/10 MAINT: active DRIFT: medium
â–¸ 3 reusable components found
keajs/kea ★ 1991 52 APPLICATION

Kea is a state management library for React applications that builds on Redux to reduce boilerplate while maintaining flexibility. It features a lazy-loading logic system where logic (actions, reducers, selectors) is only built and mounted when needed. The library provides a plugin system for extending functionality, sophisticated listener handling with breakpoint support for asynchronous flows, and React hooks for accessing state and actions in components. Kea's architecture centers around a context-based system that manages logic instances, their dependencies, and their connection to the Redux store.

RATING: 9.1/10 MAINT: active DRIFT: low
â–¸ 1 reusable components found
unadlib/mutative ★ 1992 33 APPLICATION

Mutative is a high-performance JavaScript/TypeScript library for immutable state updates using a mutable syntax, similar to Immer but with significantly better performance (claimed 2-6x faster than naive reducers, >10x faster than Immer). It uses Proxy-based drafts to intercept mutations and produce new immutable states with structural sharing. The library supports objects, arrays, Maps, Sets, custom types via a mark system, and optional JSON Patch generation/application for undo/redo or collaboration. It is framework-agnostic and integrates with React, Redux, Zustand, and XState. The codebase is well-structured with a clear separation of concerns: draft creation, finalization, patch generation, and utility functions. It includes an extensive test suite (including Immer's own tests) and comprehensive documentation. The library has zero runtime dependencies and is built with Rollup for multiple module formats. It is actively maintained with recent commits and responsive issue triage.

RATING: 9.0/10 MAINT: active DRIFT: low
â–¸ 3 reusable components found
ngrx/platform ★ 8341 2032 APPLICATION

This is the official NgRx platform monorepo, providing reactive state management for Angular applications. It implements the Redux pattern using RxJS and Angular Signals, offering a suite of libraries including `@ngrx/store` (core state container), `@ngrx/effects` (side-effect model), `@ngrx/entity` (entity state management), `@ngrx/signals` (signal-based state), `@ngrx/component-store` (local component state), and `@ngrx/data` (enterprise data management). The monorepo is managed with Nx and includes a documentation website, example applications, and extensive developer tooling (ESLint plugin, Angular Schematics). The core data flow follows the classic Redux pattern: actions are dispatched to a store, reducers produce new state, selectors query state, and effects react to actions to perform side effects like HTTP calls. The newer SignalStore provides an alternative, more integrated reactive model using Angular Signals, with composable features (`withState`, `withComputed`, `withEntities`, `withHooks`) that demonstrate advanced TypeScript generic programming. The codebase is exceptionally well-tested, with unit, integration, marble, and type-level tests across all modules. While the core abstractions exhibit high craftsmanship and the testing infrastructure is top-tier, the codebase carries significant technical debt. The most prominent issue is the massive duplication of `schematics-core/` utilities across nearly every module, creating a maintenance burden and risk of drift. The coexistence of the classic RxJS-based Store and the newer SignalStore creates a dual-paradigm complexity. Additionally, the accumulation of many version-specific migration scripts and the use of `(0, eval)` in the store-devtools extension are notable risks. Overall, it is a strong, production-grade framework with some areas of legacy complexity.

RATING: 8.9/10 MAINT: active DRIFT: medium
â–¸ 4 reusable components found
robertying/learnX ★ 312 25 APPLICATION

learnX is a React Native/Expo mobile application designed for Tsinghua University students to access the Web Learning platform (learn.tsinghua.edu.cn). It provides features such as SSO authentication, course management, assignment tracking, file handling, calendar synchronization, and course information sharing via the courseX platform. The app uses Redux for state management, React Navigation for routing, and React Native Paper for UI components, with TypeScript ensuring type safety. It includes background data synchronization and supports iOS, Android, macOS, and Windows (via WSA).

RATING: 8.8/10 MAINT: active DRIFT: medium
â–¸ 5 reusable components found
pburtchaell/redux-promise-middleware ★ 1968 182 APPLICATION

This is a Redux middleware library that simplifies handling asynchronous actions by intercepting actions with a promise payload and dispatching three separate actions representing the promise states: pending, fulfilled, and rejected. It supports implicit and explicit promise definitions, async functions, optimistic updates via payload.data, and custom type suffixes and delimiters. The middleware is well-structured, fully tested with a comprehensive suite covering edge cases like null/boolean/numeric resolutions, async functions, and third-party promise libraries. It is a mature, stable library with nearly 2000 stars, widely used in the Redux ecosystem. The codebase is clean and follows best practices, though it uses some older tooling versions (Babel 7, Jest 24, Webpack 4).

RATING: 8.7/10 MAINT: maintained DRIFT: medium
â–¸ 2 reusable components found
jitsi/jitsi-meet ★ 30064 8073 APPLICATION

Jitsi Meet is an open-source video conferencing platform that provides real-time communication with features such as HD audio/video, screen sharing, chat, polls, breakout rooms, recording, live streaming, virtual backgrounds, and end-to-end encryption. The architecture is client-server: the web and mobile clients (React/React Native) communicate via XMPP (Prosody server) for signaling and WebRTC for media, with optional server-side components like Jitsi Videobridge and Jicofo for scalable conferencing. The codebase is organized into feature modules under `react/features/`, each with its own Redux actions, reducers, middleware, and platform-specific UI components (web vs. native). Key entry points include `app.js` for the web app, `react/index.native.js` for mobile, and native SDKs for iOS and Android. External dependencies include Prosody, Jitsi Videobridge, Jicofo, and various third-party services (Google, Microsoft, Dropbox, Amplitude). The project also includes server-side Prosody plugins (Lua) for authentication, room management, and monitoring, as well as a comprehensive test suite using WebDriverIO and custom load testing frameworks.

RATING: 8.6/10 MAINT: active DRIFT: medium
â–¸ 3 reusable components found
sudheerj/reactjs-interview-questions ★ 44801 10387 APPLICATION

This repository is a comprehensive collection of React interview questions and coding exercises, designed as an educational resource for developers preparing for React interviews. It contains over a dozen standalone React projects built with modern tooling (Vite, TypeScript, React 19), each demonstrating a specific UI pattern or hook implementation. The codebase is well-organized into three main sections: a coding-exercise app with a registry pattern for interactive problem-solving, a coding-hooks library of reusable custom hooks (useDebounce, useFetch, useLocalStorage, etc.), and a set of coding-projects (accordion, autocomplete, carousel, data table, infinite scroll, modal, nested comments, shopping cart, star rating, theme switcher, todo, tree view). The projects are cleanly implemented with TypeScript, proper state management, and accessibility considerations. While primarily educational, the custom hooks and several UI components are production-quality and directly reusable in other projects.

RATING: 8.5/10 MAINT: active DRIFT: low
â–¸ 5 reusable components found
responsively-org/responsively-app ★ 25224 1404 APPLICATION

Responsively App is an Electron-based desktop application for responsive web development testing. It allows developers to preview a website across multiple device simulators simultaneously (phones, tablets, laptops) with synchronized interactions such as scrolling, clicking, and form input mirroring via BrowserSync. The application includes a built-in MCP (Model Context Protocol) server that exposes automation tools (navigate, screenshot, click, read_page) for AI coding agents like Claude Code and Cursor. It also provides design overlays, color blindness simulation, ruler/guide systems, and screenshot capture. The codebase is structured as a monorepo with three packages: the desktop app (Electron + React + Redux), a browser extension (Manifest V3) to open URLs in the app, and an MCP CLI package published to npm. The architecture follows a main-process/renderer split with IPC communication, extensive E2E tests (Playwright), and a device frame system with pixel-accurate bezel artwork generated from upstream sources.

RATING: 8.4/10 MAINT: active DRIFT: medium
â–¸ 5 reusable components found
sqlectron/sqlectron ★ 4756 528 APPLICATION

Sqlectron is a cross-platform SQL client built with Electron, React, and Redux. It supports multiple database backends (MySQL, PostgreSQL, SQLite, SQL Server, Cassandra, MariaDB) via the separate `sqlectron-db-core` library. The application provides a GUI for managing server connections, browsing database schemas, writing and executing SQL queries, and exporting results. The main process handles all database communication and server configuration (including SSH tunnels and encrypted passwords), while the renderer process presents a modern, tabbed query editor with autocomplete and result visualization. The codebase is well-structured with clear separation of concerns, uses TypeScript throughout, and includes comprehensive end-to-end tests. It has been actively maintained with regular dependency updates and a shift from legacy libraries to modern alternatives (e.g., CodeMirror, Tailwind CSS, Radix UI).

RATING: 8.3/10 MAINT: active DRIFT: low
â–¸ 5 reusable components found
react-page/react-page ★ 9545 652 APPLICATION

ReactPage (formerly ORY Editor) is a production-grade WYSIWYG page editor built in React. It provides a visual drag-and-drop interface for composing page layouts from a plugin system of content and layout cells. The editor stores its state as a structured JSON tree (not HTML), enabling versioning, migrations, and server-side rendering. It supports multi-language content, undo/redo, inline editing via Slate, and a read-only mode for lightweight rendering. The architecture is a monorepo with a core editor package, a rich set of content plugins (Slate rich text, image, video, spacer, divider, HTML5 video), a layout plugin (background with gradients/images), and a ReactAdmin integration. The editor is highly extensible: custom cell plugins can define their own renderers, controls (auto-generated forms via uniforms), cell styles, and data migrations. The Slate plugin itself is extensible via factory functions for marks, blocks, and data plugins. The project is used in production by several companies for CMS-like page building.

RATING: 8.1/10 MAINT: maintained DRIFT: medium
â–¸ 4 reusable components found
pneumaticapp/pneumaticworkflow ★ 318 20 APPLICATION

Pneumatic is an open-source SaaS workflow management system built with a Django backend and React/TypeScript frontend. The platform enables users to create workflow templates, execute workflows, manage tasks, collaborate with teams, and track progress through a comprehensive UI. It features multi-tenancy, payment processing (Stripe integration), notification systems, file attachments, reporting, and various third-party integrations. The architecture follows a microservices-like separation using Docker Compose, with distinct services for backend, frontend, database (PostgreSQL), caching (Redis), messaging (RabbitMQ), and file storage. The codebase demonstrates solid engineering practices with clear separation of concerns, though it shows some technical debt from using Django 2.2 and accumulated migration complexity.

RATING: 8.0/10 MAINT: active DRIFT: medium
â–¸ 4 reusable components found
yang991178/fluent-reader ★ 9708 544 APPLICATION

Fluent Reader is a desktop RSS reader application built with Electron, React, and Redux. It enables users to subscribe to RSS feeds, organize them into groups, read articles with multiple viewing modes (original webpage, full-text via Mercury Parser, or external browser), and synchronize with self-hosted services like Fever, Feedbin, Inoreader, Miniflux, and Nextcloud. The application features rule-based automation for article actions (marking as read, starring, hiding), OPML import/export, keyboard shortcuts, dark mode, and push notifications. The architecture follows a classic Electron split: a main process manages application lifecycle, windows, and IPC communication, while renderer processes handle the React-based UI with Fluent UI components. State is managed centrally via Redux with domain-specific reducers for sources, items, feeds, groups, rules, services, and app state. Data persistence uses Lovefield (a SQL-like wrapper for IndexedDB) with a NeDB fallback, and user settings are stored via electron-store. Key entry points include src/electron.ts (main process), src/index.tsx (renderer root), and src/preload.ts (context bridge for secure main-renderer communication). The codebase demonstrates solid engineering practices with reusable patterns such as a service abstraction layer (ServiceHooks interface) for third-party integrations, UI primitives like FlatButton and ArticleSearch components, and a database abstraction layer that isolates storage implementation details. However, it shows signs of technical drift due to reliance on older React (16.13.1), the unmaintained Lovefield library, and Fluent UI migration dependencies. The project is actively maintained with recent commits and ongoing issue triage.

RATING: 7.9/10 MAINT: active DRIFT: medium
â–¸ 4 reusable components found
idurar/idurar-erp-crm ★ 8880 3143 APPLICATION

IDURAR is a free, open-source ERP and CRM application built on the MERN stack (MongoDB, Express.js, React.js, Node.js) with Ant Design and Redux. It provides modules for invoice management, payment processing, quote generation, customer relationship management, inventory tracking, and financial reporting. The system features multi-language support (44 languages), PDF generation for business documents, role-based access control, and a responsive user interface. The architecture separates concerns with a RESTful API backend and a modular frontend utilizing React, Redux for state management, and Ant Design for UI components.

RATING: 7.9/10 MAINT: active DRIFT: medium
â–¸ 4 reusable components found
$ loading more...
$ submit: