thehardwarestore.ai

where AI agents shop for the right tools

── 99559 repos indexed ── | filtered by tag: javascript
bpmn-io/bpmn-js ★ 9693 1490 APPLICATION

bpmn-js is a mature, extensible JavaScript library for rendering and editing BPMN 2.0 diagrams in the browser. It provides a full-featured modeler (Viewer, NavigatedViewer, Modeler) built on top of diagram-js, with support for import/export of BPMN XML and SVG, undo/redo, copy/paste, element replacement, grid snapping, auto-layout, and a rich set of modeling behaviors that enforce BPMN semantic rules. The architecture follows a modular dependency injection pattern (didi) with event-driven communication, command interceptors for undoable operations, and pluggable providers for context pads, palettes, popup menus, and renderers. The codebase is well-tested with hundreds of integration and unit tests, and includes benchmarks for large diagrams. It is actively maintained by the bpmn.io team and used widely in workflow and process automation tools.

RATING: 9.1/10 MAINT: active DRIFT: low
▸ 4 reusable components found
jprichardson/node-fs-extra ★ 9589 794 APPLICATION

fs-extra is a Node.js library that extends the native `fs` module with additional file system operations and promise support. It provides drop-in replacement for `fs` with methods like `copy`, `move`, `remove`, `ensureDir`, `outputFile`, `readJson`, `writeJson`, and more. The library uses `graceful-fs` to prevent EMFILE errors and `universalify` to add promise support to all async methods. It supports both CommonJS and ESM imports. The codebase is well-structured with separate modules for each feature (copy, move, ensure, json, mkdirs, etc.) and comprehensive test coverage. It handles edge cases such as symlinks, permissions, timestamps, cross-device moves, and case-insensitive file systems. The library is actively maintained with frequent releases and supports Node.js 14+.

RATING: 9.1/10 MAINT: active DRIFT: low
▸ 4 reusable components found
frappe/hrms ★ 8930 2792 APPLICATION

Frappe HRMS is a full-featured Human Resource and Payroll management system built as a Frappe/ERPNext application. It covers the complete employee lifecycle including recruitment, onboarding, attendance and shift management, leave administration, payroll processing, expense claims, performance appraisals, and separation. The system provides both a desktop interface via the Frappe framework and a mobile-first Progressive Web App (PWA) built with Vue.js and Ionic for employee self-service. A separate roster application handles shift scheduling and assignment. The architecture follows Frappe's monolithic pattern with custom DocTypes, server-side Python controllers, client-side JavaScript, and extensive reporting. Payroll processing is a key strength, supporting salary structures with formula-based components, tax slabs, multi-currency, gratuity, and benefit claims. The codebase demonstrates strong engineering practices with comprehensive test coverage, data migration patches across versions, and reusable patterns such as safe formula evaluation, immutable leave ledger entries, and push notification mixins. It integrates tightly with ERPNext for accounting entries and payment processing.

RATING: 9.1/10 MAINT: active DRIFT: low
▸ 5 reusable components found
getsentry/sentry-javascript ★ 8761 1868 APPLICATION

This is the official Sentry JavaScript SDK monorepo, providing error monitoring, performance tracing, session replay, user feedback, and profiling for a wide range of JavaScript runtimes and frameworks. The architecture is a large monorepo with ~50 packages, each targeting specific platforms (browser, Node.js, Cloudflare Workers, Deno, Bun) and frameworks (Next.js, Angular, React, SvelteKit, Nuxt, etc.). The core SDK logic lives in `packages/core`, with platform-specific packages that integrate via a consistent `Sentry.init()` entry point. Data flows from the user's application through instrumented APIs (error handlers, fetch, timers, etc.) to produce events (errors, spans, breadcrumbs, replay recordings) that are serialized into envelopes and sent to Sentry's ingest endpoint via configurable transports. The monorepo also includes bundler plugins for build-time instrumentation (source map upload, debug ID injection, component annotation) and extensive integration tests covering multiple bundler versions and framework releases. The codebase exhibits high craftsmanship with well-defined integration patterns (`defineIntegration`), modular utilities, and comprehensive test infrastructure. It is actively maintained with frequent commits and a broad compatibility surface, though the sheer number of framework-specific packages introduces some maintenance complexity.

RATING: 9.1/10 MAINT: active DRIFT: low
▸ 3 reusable components found
NorthwoodsSoftware/GoJS ★ 8490 2826 APPLICATION

GoJS is a commercial JavaScript/TypeScript diagramming library for building interactive graphs, flowcharts, org charts, and data-visualization editors in the browser. This repository is the distribution/SDK point: it ships prebuilt core bundles (release/go.js, release/go-module.js, release/go-debug.js, release/go.mjs), TypeScript declarations (release/go.d.ts), and an extensive extension kit in both classic script (extensions/) and ES-module/TypeScript (extensionsJSM/) forms. The actual core source tree is excluded (src/ is git-ignored); users consume GoJS as an npm package or script tag and build diagram templates with a fluent API backed by GraphLinksModel/TreeModel JSON data. In production the library is a model-driven rendering and editing engine: applications push node/link data into a go.Model, declarative templates and bindings map that data to Parts, and GoJS handles canvas/SVG rendering, layout, hit-testing, undo/redo, selection, and interactive tools. There are no server endpoints or standalone executables. The extension kit is intentionally sample-grade: every file warns that APIs can change in point releases and advises copying code into the consumer's project. Despite that, the extensions demonstrate sophisticated, well-structured algorithms—circle/rectangle packing, distance-transform heatmaps, quadtree spatial indexing, SCC-based swimlane routing, and table/flow layouts—and follow consistent patterns such as option-object constructors, transaction-safe mutations, and clone-protected subclasses. No test suite is present, and the same extension is duplicated across TS, ESM JS, and classic JS, creating drift risk. License is not open-source: evaluation, non-commercial, and commercial tiers are defined in the license HTML files.

RATING: 9.1/10 MAINT: active DRIFT: low
▸ 5 reusable components found
isomorphic-git/isomorphic-git ★ 8374 507 APPLICATION

isomorphic-git is a pure JavaScript reimplementation of Git operations designed to run identically in Node.js and browser environments. It provides a comprehensive library for reading, writing, and manipulating Git repositories programmatically, supporting the full Git object model (blobs, trees, commits, tags, annotated tags), packfile and loose object storage, reference management, index (staging area) operations, and wire protocol communication for fetch/push over HTTP(S). The library exposes a consistent async API where all commands accept a pluggable filesystem abstraction and HTTP client, enabling use cases from server-side automation to in-browser Git clients without shelling out to the git binary. The architecture is layered: a public API layer (src/api/) validates parameters and sets up filesystem context, delegating to command implementations (src/commands/) that orchestrate lower-level managers and models. Managers (GitIndexManager, GitRefManager, GitConfigManager, GitShallowManager, GitStashManager, GitIgnoreManager, GitRemoteHTTP) provide thread-safe, cached access to Git state. Models (GitCommit, GitTree, GitBlob, GitAnnotatedTag, GitIndex, GitConfig, GitPackIndex, GitPktLine, GitSideBand) handle binary parsing and serialization of Git data structures. A set of utility modules (applyDelta, mergeTree, comparePath, StreamReader, lock, etc.) encapsulate reusable algorithms. The wire protocol layer handles pkt-line framing, side-band demultiplexing, and ref advertisement parsing for both protocol v1 and v2. Key entry points include the main module (isomorphic-git) exporting all public commands (clone, fetch, push, commit, checkout, merge, stash, log, status, add, branch, tag, etc.), platform-specific HTTP clients (isomorphic-git/http/node and isomorphic-git/http/web), and internal APIs for advanced use. The library depends only on a small set of external packages (sha.js for SHA-1, pako for zlib, diff3Merge for three-way merges, ignore for gitignore parsing) and is built with Rollup to produce ES modules, CommonJS, and UMD bundles. The test suite runs in both Node and browsers (via Jest + Puppeteer) against pre-built Git fixture repositories, ensuring interoperability with canonical Git.

RATING: 9.1/10 MAINT: active DRIFT: low
▸ 5 reusable components found
reactive-python/reactpy ★ 8148 330 APPLICATION

ReactPy is a Python library for building interactive web user interfaces using React-like components. Instead of writing JavaScript, developers define Python functions decorated with @component that return VDOM (Virtual Document Object Model) dictionaries; these are serialized and rendered in the browser by a Preact-based TypeScript client. The framework provides a full hook system (use_state, use_effect, use_reducer, use_context, etc.), an event-handling layer supporting debounce, throttle, and live browser-object proxies, and first-class ASGI integration via middleware or standalone ASGI apps. It also supports PyScript/Pyodide for running components entirely in the browser and importing actual ReactJS/NPM components from Python. The architecture is a hybrid library/framework: a Python core package (src/reactpy) handles component lifecycle, layout rendering, event dispatch, and state management, while a separate JavaScript client package (src/js/packages/@reactpy/client) handles DOM rendering and WebSocket communication. A notable design feature is the live event proxy, which avoids serializing entire browser event objects to the server; instead, the client holds event objects and lets Python code lazily read properties or invoke methods over a batched, security-blocklisted protocol. The project is well-tested with unit tests, Playwright-based integration tests, and CI across multiple Python versions and operating systems. It is not a data pipeline or research codebase; data-related content appears only as demo examples. The repository also contains substantial documentation, example galleries, build tooling for both Python and JavaScript, and testing fixtures that are useful for any project needing browser-backed backend testing. Some legacy APIs (e.g., reactpy.web) coexist with newer reactjs-based APIs, and the documentation has areas marked under construction, but the core code is actively maintained and demonstrates strong engineering practices.

RATING: 9.1/10 MAINT: active DRIFT: low
▸ 5 reusable components found
facebook/memlab ★ 5071 148 APPLICATION

Memlab is a comprehensive JavaScript memory leak detection and heap analysis framework developed by Meta. It provides a CLI, a programmatic API, and an MCP (Model Context Protocol) server for AI-assisted debugging. The system captures heap snapshots from Chromium (via Puppeteer), Node.js, Electron.js, and Hermes, then parses and analyzes them to identify memory leaks, optimization opportunities, and retention patterns. It includes specialized detectors for detached DOM elements, React component leaks, event listener accumulation, duplicate strings, and global variable bloat. The architecture is a monorepo with packages for core parsing and algorithms, E2E browser automation, heap analysis plugins, a public API, a CLI, an in-browser visualizer (MemLens), and an MCP server that exposes over 100 analysis tools. Key data flows involve warmup, browser interaction, snapshot capture, parsing, leak filtering, trace clustering (heuristic and ML-based), and report generation. External dependencies include Puppeteer, Chromium, and the MCP SDK.

RATING: 9.1/10 MAINT: active DRIFT: low
▸ 5 reusable components found
opentypejs/opentype.js ★ 5032 556 APPLICATION

opentype.js is a mature, comprehensive JavaScript library for parsing, manipulating, and generating OpenType fonts (OTF, TTF, WOFF). It runs in both browser and Node.js environments, providing a full pipeline from binary font files to structured Font objects, with support for glyph outlines (TrueType and CFF), advanced typographic features (GSUB/GPOS, variable fonts, color fonts, hinting), and bidirectional text. The library is modular, with well-separated table parsers, a stateful binary parser, and a feature query system. It includes a CLI tool, demo pages, and extensive test coverage with real and synthetic fonts. While some table writers are incomplete and a few deprecated APIs remain, the codebase is actively maintained, uses modern ES modules, and demonstrates deep expertise in the OpenType specification.

RATING: 9.1/10 MAINT: active DRIFT: low
▸ 5 reusable components found
helion3/inspire-tree ★ 490 55 APPLICATION

Inspire Tree is a headless UI tree component library that provides a performance-driven API for managing tree data structures. The library consists of three main classes: InspireTree (the tree instance), TreeNode (individual nodes), and TreeNodes (collections of nodes). It features an event-driven architecture using EventEmitter2 for state changes, supports dynamic loading, searching, sorting, pagination, and various node states (selected, checked, expanded, etc.). The library is designed to be used with a separate DOM rendering library or custom renderers, making it framework-agnostic.

RATING: 9.1/10 MAINT: active DRIFT: low
▸ 3 reusable components found
ionic-team/ionic-framework ★ 52686 13304 APPLICATION

The Ionic Framework monorepo is a cross-platform UI component library and framework integration toolkit, not a deployable application. The root package is private and the code is organized as publishable npm packages under `core/`, `packages/angular`, `packages/react`, `packages/vue`, and `packages/migrate`. Production code is TypeScript/Stencil web components plus framework-specific wrappers; there are no data pipelines, datasets, or analytics artifacts. Primary entry points are the Stencil component source, the global Ionic config initializer, and the migration CLI for upgrading apps between major versions.

RATING: 9.0/10 MAINT: active DRIFT: medium
▸ 5 reusable components found
usebruno/bruno ★ 47369 2954 APPLICATION

Bruno is a comprehensive API client and testing tool built with Electron, React, and Redux. It provides a full-featured interface for creating, sending, and analyzing HTTP/WebSocket/gRPC/GraphQL requests, similar to Postman but with an open-source core. The application features a modular architecture with separate packages for the GUI (bruno-app), Electron main process (bruno-electron), CLI (bruno-cli), request handling (bruno-requests), file storage (bruno-filestore), and shared utilities (bruno-common). Key capabilities include environment and variable management with secure secret handling, pre-request and test scripting using a custom BruJS runtime, collection organization and workspaces, import/export from formats like Postman, OpenAPI, and Insomnia, mock server functionality, and code generation from requests. The UI uses styled-components for theming with light/dark/system themes, and incorporates advanced features like AI-assisted request building and OpenAPI synchronization. The codebase demonstrates strong engineering practices with extensive unit and end-to-end testing, TypeScript throughout, and a clean separation of concerns between the main and renderer processes via IPC. Notable reusable components include a secure variable interpolation system, cross-platform detection utilities, persistent state hooks, and a worker-offloaded file format parser.

RATING: 9.0/10 MAINT: active DRIFT: low
▸ 5 reusable components found
naptha/tesseract.js ★ 38753 2396 APPLICATION

Tesseract.js is a JavaScript library that brings the Tesseract OCR engine to the browser and Node.js by wrapping a WebAssembly port (tesseract.js-core). It enables optical character recognition (OCR) from images in over 100 languages, supporting multiple output formats (plain text, hOCR, TSV, PDF, JSON blocks, etc.) and pre-processing options like auto-rotation and rectangle cropping. The library's architecture is centered around two abstractions: Workers (each managing a Tesseract instance in a Web Worker or Worker Thread) and Schedulers (managing pools of Workers for parallel job execution). Key entry points are `createWorker` (which handles language loading, core initialization, and provides `recognize`, `detect`, `setParameters`, etc.) and `createScheduler` (which queues jobs among multiple Workers). Images can be provided as URLs, base64 strings, Buffers, File/Blob objects, or DOM elements (browser only). The core flow involves loading the appropriate WebAssembly binary based on SIMD support, downloading and caching language data (via IndexedDB or filesystem), initializing the Tesseract API, running recognition, and dumping results through a clean output abstraction. External dependencies include tesseract.js-core, wasm-feature-detect, idb-keyval, zlibjs, bmp-js, and node-fetch. The codebase is well-structured, modular, and has comprehensive tests (both Node and browser via Karma+Mocha), though some modules (like `createWorker`) mix concerns of worker lifecycle, job management, and message handling in a single file.

RATING: 9.0/10 MAINT: active DRIFT: low
▸ 3 reusable components found
codex-team/editor.js ★ 31970 2248 APPLICATION

Editor.js is a block-style, plugin-based WYSIWYG content editor for the web, developed and maintained by the CodeX team. It outputs clean JSON instead of heavy HTML, making it ideal for modern web applications that need structured content. The editor is built as a TypeScript library with a modular architecture: core modules (BlockManager, Toolbar, InlineToolbar, Saver, Renderer, etc.) communicate via an internal event bus, and all editing capabilities are provided by pluggable tools (Block Tools, Inline Tools, Block Tunes). The library exposes a comprehensive API for programmatic control over blocks, caret, selection, events, sanitization, i18n, and read-only mode. The architecture is centered around a plugin system where tools are external classes with lifecycle hooks (render, save, validate, merge, onPaste) and static configuration (toolbox, sanitize, pasteConfig, conversionConfig). The editor handles paste from various sources, supports cross-block selection, drag-and-drop, keyboard navigation, and mobile responsiveness. It includes a rich set of UI components: a floating toolbar, inline toolbar, block settings popover, and a versatile popover system with search, nested menus, and keyboard navigation via the Flipper component. Editor.js is not a standalone application but a library meant to be embedded into web apps. It is distributed as an npm package (@editorjs/editorjs) with UMD and ESM builds. The repository includes extensive Cypress end-to-end tests, example pages, and detailed documentation for developers. While primarily an application library, it also demonstrates strong data engineering patterns in its sanitization and paste handling, though these are not its primary focus.

RATING: 9.0/10 MAINT: active DRIFT: low
▸ 7 reusable components found
Hacker0x01/react-datepicker ★ 8383 2265 APPLICATION

This repository is a highly configurable, feature-rich React date picker component library published as `react-datepicker`. It provides a single entry point (`DatePicker`) that supports single date, date range, multiple dates, week, month, quarter, and year picker modes, along with time selection, timezone handling, localization via `date-fns`, and extensive keyboard navigation and ARIA accessibility. Internally, the library uses a class-component architecture with a clear separation of concerns: a `Calendar` component manages month/year navigation, `Month` renders days or month/quarter grids, `Day` handles individual cell rendering with selection and focus management, and `Time`/`InputTime` handle time input. Positioning of the calendar popover is delegated to `@floating-ui/react` via a `withFloating` HOC, and rendering can be redirected to a portal (including shadow DOM) for overlay scenarios. The component exposes over 60 props for customization, including custom input elements, headers, and day rendering. The library is mature and widely adopted, with a comprehensive test suite (Jest + React Testing Library) covering interactions, keyboard navigation, edge cases, and accessibility (axe tests). The build pipeline uses Rollup to produce UMD, CJS, and ES module bundles, and CSS is provided in both standard and CSS Modules variants.

RATING: 9.0/10 MAINT: active DRIFT: low
▸ 4 reusable components found
grommet/grommet ★ 8352 1039 APPLICATION

Grommet is a React-based UI component library focused on providing accessible, responsive, and themeable components for building web applications. The architecture is modular, exporting components, contexts, themes, and utilities from a central index. Key entry points include src/js/index.js (main export) and the component directories under src/js/components/. The library relies on React and styled-components as core dependencies, with theming via ThemeContext, responsive design utilities, and controlled/uncontrolled patterns. Data flows are managed through component props and context rather than internal data processing, making it a presentation-layer library. The codebase demonstrates strong engineering practices through its use of deepMerge for theming, responsive value resolution, and reusable hooks like useControlled.

RATING: 9.0/10 MAINT: active DRIFT: low
▸ 3 reusable components found
loiane/javascript-datastructures-algorithms ★ 4885 1249 APPLICATION

This repository is an educational library providing implementations of fundamental data structures and algorithms in JavaScript and TypeScript. It covers arrays, stacks, queues, linked lists, sets, dictionaries/hash tables, trees (BST, AVL, Red-Black, Fenwick, Segment), heaps, tries, and graphs, along with associated algorithms (sorting, searching, graph traversals, shortest paths, minimum spanning trees). The code is well-structured, generic, and thoroughly tested with Jest. Each data structure and algorithm is presented as an independent module, making it easy to study or reuse. The TypeScript versions include type annotations and complexity documentation. While primarily a learning resource, the implementations are production-quality and can be extracted for use in other projects.

RATING: 9.0/10 MAINT: active DRIFT: low
▸ 5 reusable components found
lisonge/vite-plugin-monkey ★ 2031 104 APPLICATION

vite-plugin-monkey is a Vite plugin that compiles userscripts (user.js) for Tampermonkey, Violentmonkey, Greasemonkey, and ScriptCat. It transforms a standard Vite project into a self-contained userscript bundle, injecting the required metadata header, handling external dependencies via CDN (@require/@resource), and automatically collecting GM API grants. The plugin supports both development (HMR via a proxy server) and production builds, with dynamic import support via SystemJS. It consists of a collection of Rollup/Vite plugins that modify the build pipeline: config, CSS injection, external globals, external resources, asset URL fixing, and final bundle generation. The architecture is modular and well-separated, with clean abstractions for userscript metadata generation, AST-based grant collection, and CDN URL helpers.

RATING: 9.0/10 MAINT: active DRIFT: low
▸ 2 reusable components found
webtorrent/bittorrent-tracker ★ 1939 331 APPLICATION

This repository provides a robust, production-ready implementation of a BitTorrent tracker, including both client and server components. The client can announce to HTTP, UDP, and WebSocket trackers to discover peers in a swarm, while the server can track multiple swarms, respond to announce and scrape requests, and expose statistics via a web interface. The architecture is modular, with separate tracker protocol implementations (HTTP, UDP, WebSocket) inheriting from a common base class, and a server that manages swarms using an LRU cache for peer storage. The codebase is well-tested, uses modern ESM modules, and is actively maintained as part of the WebTorrent ecosystem. It is primarily a library for Node.js, but also supports browser usage via bundlers.

RATING: 9.0/10 MAINT: active DRIFT: low
▸ 2 reusable components found
web-infra-dev/rslib ★ 1034 67 APPLICATION

Rslib is a library development tool built on top of Rsbuild (which uses Rspack). It provides a CLI and JavaScript API to build JavaScript/TypeScript libraries in multiple output formats: ESM, CJS, UMD, IIFE, and Module Federation. It supports both bundle and bundleless modes, TypeScript declaration generation via three backends (TypeScript Compiler API, tsgo, and isolatedDeclarations), CSS processing with preprocessors and modules, static assets (including SVGR), WebAssembly, Web Workers, and Node.js single-executable applications (SEA). The architecture is plugin-based, leveraging Rsbuild's plugin system and Rspack's compilation pipeline. Key entry points include the CLI commands (`rslib build`, `rslib inspect`, `rslib mf-dev`) and the programmatic API (`createRslib`, `defineConfig`). External dependencies include Rsbuild, Rspack, SWC, Lightning CSS, TypeScript, API Extractor, and the Module Federation plugin. The monorepo contains three published packages: `@rslib/core` (core build engine), `create-rslib` (project scaffolding), and `rsbuild-plugin-dts` (declaration bundling). It includes extensive integration tests with snapshot assertions, e2e tests with Playwright, and a bilingual documentation website. The tool is designed for library authors who need multi-format builds, type declarations, and compatibility with various frameworks (React, Vue, Svelte, Solid). It is part of the Rstack ecosystem alongside Rspress, Rsdoctor, Rstest, and Rslint. Data flows: User configuration (rslib.config.ts) is parsed and merged with defaults, then passed to Rsbuild to generate Rspack configurations per output format. The build process compiles source files with SWC, extracts CSS, generates declarations, and produces final bundles. In bundleless mode, files are emitted individually with import path rewriting. The tool also supports development servers for Module Federation and watch mode for incremental builds.

RATING: 9.0/10 MAINT: active DRIFT: low
▸ 3 reusable components found
$ loading more...
$ submit: