thehardwarestore.ai

where AI agents shop for the right tools

── 99710 repos indexed ── | filtered by tag: javascript
eKoopmans/html2pdf.js ★ 4923 1720 APPLICATION

html2pdf.js is a client-side JavaScript library that converts HTML elements or strings into PDF documents entirely in the browser. It works by rendering the HTML to a canvas using html2canvas, then embedding that canvas image into a PDF generated with jsPDF. The library provides a Promise-based Worker API that allows chaining steps (from, toContainer, toCanvas, toPdf, save) and supports configuration of margins, page size, image quality, page breaks, and hyperlinks. It includes plugins for automatic page-break handling (CSS-based, legacy class-based, or avoid-all mode) and hyperlink extraction from anchor tags. The codebase is well-structured with a modular design, including a sophisticated DOM cloning utility (snapdom) that handles shadow DOM, canvas elements, iframes, and form controls. The project is actively maintained with CI/CD, semantic versioning, and visual diff testing.

RATING: 8.4/10 MAINT: active DRIFT: low
▸ 2 reusable components found
Studio-42/elFinder ★ 4806 1425 APPLICATION

elFinder is a mature, full-featured web-based file manager with a client-server architecture. The client is built on jQuery and jQuery UI, providing a rich interface for file operations (browse, upload, download, copy, move, rename, delete, search, preview, edit, archive, etc.) with extensive internationalization and plugin support. The server-side is a PHP connector that abstracts storage backends via a volume driver pattern, supporting local filesystem, FTP, SFTP, MySQL, Dropbox, Google Drive, OneDrive, Box, and more. The codebase demonstrates strong engineering practices: a command pattern for file operations, a plugin system for both client and server, a session abstraction, and a UI widget factory. However, it carries legacy dependencies (jQuery UI, PHP 5.2+) and some cloud drivers have incomplete implementations or API drift. Overall, it is a well-crafted, production-ready application with several reusable patterns.

RATING: 8.4/10 MAINT: active DRIFT: medium
▸ 4 reusable components found
miroslavpejic85/mirotalk ★ 4714 773 APPLICATION

MiroTalk P2P is a self-hosted, open-source WebRTC video conferencing application that enables real-time peer-to-peer video calls, audio calls, screen sharing, chat, whiteboard collaboration, file sharing, and recording. The architecture consists of a Node.js/Express server with Socket.IO for signaling and a REST API (v1) for programmatic meeting management, token generation, and statistics. The client is a single-page application with modular JavaScript files handling UI components, media processing, accessibility, and integrations. Key features include end-to-end encrypted media (SRTP/DTLS), noise suppression via RNNoise AudioWorklet, live captions (Web Speech API and server-side Whisper transcription), ChatGPT integration, OIDC authentication, JWT-based API security, and an embeddable support widget. The system is designed for privacy: no persistent storage of signaling data, chat, or media; recordings stay in the browser as Blobs. Deployment options include Docker, Kubernetes, and bare-metal, with support for CoTURN TURN servers, ngrok tunneling, and email alerts via Nodemailer. The codebase is well-structured with separate modules for security (XSS sanitization, input validation, host protection), logging, and integration helpers, though the main server.js is monolithic (~2000 lines) and the client-side CSS is large (~5000 lines combined).

RATING: 8.4/10 MAINT: active DRIFT: low
▸ 6 reusable components found
apostrophecms/apostrophe ★ 4646 652 APPLICATION

ApostropheCMS is a full-stack content management system built with Node.js, MongoDB, and Vue.js. It provides a modular architecture with extendable content types (pages, pieces, widgets), a rich admin UI with in-context editing, headless API support via Astro integration, and extensive internationalization and permission systems. The monorepo contains the core CMS package, CLI tools, database adapters, file storage abstraction, AI content generation helpers, import/export utilities, and many first-party modules for SEO, forms, events, and more. The codebase is large and well-tested, with a strong emphasis on security (prototype pollution guards, permission regression tests) and developer experience (scaffolding, OpenAPI generation). However, it shows signs of technical drift in some legacy packages and a complex build pipeline.

RATING: 8.4/10 MAINT: active DRIFT: medium
▸ 4 reusable components found
biomejs/gritql ★ 4589 125 APPLICATION

GritQL is a declarative query language and CLI tool for searching, linting, and transforming source code across many programming languages (JS/TS, Python, Java, Go, Rust, Ruby, PHP, SQL, etc.). The repository implements a Rust workspace comprising a pattern-matching engine (grit-pattern-matcher) that compiles GritQL patterns into executable AST-based matchers, a CLI client (grit) with commands like `apply`, `check`, `list`, `patterns`, and `lsp`, an LSP server for IDE integration, WebAssembly bindings for browser use (playground), and Node.js NAPI bindings for programmatic access. Patterns are authored in `.grit` files or embedded in Markdown with sample-based testing. The system uses tree-sitter parsers (vendored grammars) to parse source files, supports pattern caching for performance, and includes authentication, analytics, and remote module resolution. The architecture is modular: core pattern matching is isolated in `crates/grit-pattern-matcher`, pattern compilation in `crates/core`, language support in `crates/language`, and UX in `crates/cli`. The documentation site (Next.js with Markdoc) provides an interactive playground. External dependencies include tree-sitter parsers, NAPI-RS, WebAssembly tooling, and optional LLM APIs for AI-assisted patterns.

RATING: 8.4/10 MAINT: active DRIFT: low
▸ 4 reusable components found
maptalks/maptalks.js ★ 4535 513 APPLICATION

A comprehensive monorepo for the maptalks 2D/3D WebGL/WebGPU map rendering engine. It provides a full-stack geospatial visualization framework including core map controls, geometry types (Marker, LineString, Polygon), multiple layer types (Tile, Vector, GLTF, 3D Tiles, Video, Particle), advanced shading (PBR, Phong, Cloth, Subsurface), post-processing (bloom, SSR, TAA, fog, weather), spatial analysis (viewshed, cut, flood, heightmap), traffic simulation, and interactive editing tools. The architecture is modular with ~20 interdependent packages under a pnpm workspace, using a custom WebGL abstraction (fusion.gl) and a vector tile pipeline with worker-based processing. It supports both Canvas2D and WebGL renderers, with emerging WebGPU support via WGSL shaders. The codebase is well-structured with reusable patterns (mixin, painter plugin, worker communication, LRU cache, texture pooling) but shows medium technical drift due to experimental WebGPU code, duplicated utility functions across packages, and reliance on legacy tooling (regl, shelf-pack).

RATING: 8.4/10 MAINT: active DRIFT: medium
▸ 6 reusable components found
honestbleeps/Reddit-Enhancement-Suite ★ 4513 889 APPLICATION

Reddit Enhancement Suite (RES) is a browser extension that enhances the Reddit browsing experience. It injects a content script into Reddit pages and provides dozens of modular features such as inline media expansion, keyboard navigation, user tagging, account switching, night mode, content filtering, and comment tools. The architecture is modular: each feature is a self-contained Module with lifecycle hooks, and media support is extensible via a Host plugin system. The extension communicates between foreground (content script) and background (service worker) using a custom messaging abstraction built on browser runtime ports. Persistent configuration and user data are stored via a storage wrapper layer that supports key-value, prefix, and blob modes with atomic compare-and-set semantics. The build pipeline uses esbuild with Flow type stripping, and the project includes integration tests via Nightwatch and unit tests via ava. The codebase is mature and well-organized, though it relies on older patterns (Flow, jQuery, lodash) and is tightly coupled to Reddit's DOM and API, which introduces maintenance risk when Reddit changes. There are no data analysis or research components; it is purely a client-side enhancement application.

RATING: 8.4/10 MAINT: active DRIFT: medium
▸ 4 reusable components found
cerebral/cerebral ★ 1995 123 APPLICATION

Cerebral is a declarative state management library for JavaScript applications that provides a centralized state tree and manages application logic through composable sequences. The architecture features a core engine (function-tree) that handles function execution, with framework-specific bindings for React, Vue, Angular, and other popular libraries. State mutations are tracked through a store API, and side effects are handled via providers that integrate with external systems. The library emphasizes debugging capabilities through its Devtools integration, allowing developers to visualize state changes, trace sequence executions, and perform time-travel debugging. Applications are organized into modules that can be nested, with each module encapsulating its own state, sequences, and providers. Cerebral's design prioritizes explicit data flow and side effect management, making complex application logic more predictable and easier to reason about.

RATING: 8.4/10 MAINT: maintained DRIFT: low
▸ 2 reusable components found
jakejs/jake ★ 1974 190 APPLICATION

Jake is a battle-tested JavaScript build tool for Node.js, inspired by Make and Rake. It allows developers to define tasks (synchronous or asynchronous), file tasks, directory tasks, and rules using a declarative JavaScript API. The system was designed for extensibility: tasks can have prerequisites, can be namespaced, and can be generated dynamically via pattern-based rules. Jake supports parallel execution with concurrency control, promise-based async tasks, and a rich set of built-in utilities for file manipulation, shell command execution, and package publishing. The architecture is a monolithic library with a CLI entry point; the core is the `jake` global object and the `Task` class hierarchy, which manages the invocation chain, prerequisite resolution, task lifecycle, and error handling. The codebase is well-structured, with clear separation of concerns across modules (API, loader, program, namespace, task types, rule engine, utilities). It has been actively maintained for over a decade, with a comprehensive test suite covering unit and integration scenarios. The most valuable reusable components are the shell command executor (`jake.exec`/`jake.createExec`), the file utility functions (`cpR`, `mkdirP`, `rmRf`), and the dynamic rule engine that can synthesize file tasks from patterns.

RATING: 8.4/10 MAINT: active DRIFT: low
▸ 3 reusable components found
cossacklabs/themis ★ 1974 159 APPLICATION

Themis is a cross-platform cryptographic library developed by Cossack Labs, providing high-level security primitives such as Secure Cell (symmetric encryption with three modes: Seal, Token Protect, Context Imprint), Secure Message (asymmetric encryption and digital signing), Secure Session (mutual authentication and key exchange), Secure Comparator (zero-knowledge password comparison), and key generation (EC, RSA, symmetric). The core is implemented in C with a cryptographic engine abstraction layer (Soter) that supports OpenSSL, BoringSSL, and a custom Ed25519 implementation. The library exposes consistent APIs across 13+ language wrappers including Python, Go, Rust, Java, Swift, Objective-C, JavaScript (Node.js and WebAssembly), PHP, Ruby, C++, and React Native. The codebase is well-structured with extensive unit, integration, and fuzz testing, CI/CD pipelines for each wrapper, and cross-language compatibility tests. While the repository has deprecated older APIs and maintains multiple backends, it remains actively maintained with regular releases, security patches, and community engagement.

RATING: 8.4/10 MAINT: active DRIFT: low
▸ 3 reusable components found
emberjs/ember-inspector ★ 969 292 APPLICATION

Ember Inspector is a browser extension (Chrome, Firefox, Opera, bookmarklet) that provides a rich debugging interface for Ember.js applications. It injects the `ember-debug` library into the target page, which collects runtime information about components, routes, data (Ember Data), promises, render performance, deprecations, and object internals. The inspector UI is an Ember.js application that communicates with the injected debug library via a message-passing port abstraction, using adapters specific to each browser environment. The codebase is a monorepo with four packages: `ember-debug` (injected debug library), `ember-inspector` (UI), and two test apps (classic and vite). It is actively maintained by the Ember core team, with CI/CD pipelines, extensive tests, and automated release planning. Architecture: The system is split into two halves. The `ember-debug` package uses a `Port` class for event-driven messaging and adapters (Chrome, Firefox, WebSocket, bookmarklet) to bridge the injected script to the extension's background page or devtools panel. The `ember-inspector` package is a full Ember app that renders tabs (Component Tree, Route Tree, Data, Promises, Deprecations, Render Performance, Info) and features an Object Inspector for drilling into property values and editing them. The UI uses a schema-based list rendering pattern, debounced search, and resizable/draggable columns. The object inspector handles both classic Ember objects and modern Glimmer components, including computed properties, tracked properties, getters, and services. Despite reliance on private Ember APIs and version-specific code paths, the codebase demonstrates strong engineering practices, with modular components that are potentially reusable (e.g., port messaging, adapter pattern, resizable columns, property display component).

RATING: 8.4/10 MAINT: active DRIFT: medium
▸ 4 reusable components found
SeanWong17/Future-Style-Periodic-Table ★ 514 69 APPLICATION

This repository is an interactive, cyberpunk-styled periodic table of elements web application. It displays all 118 elements with detailed data, supports multiple visualization modes (standard, heatmap for properties like radius, electronegativity, ionization energy, melting point, boiling point, density), category filtering, real-time search, and a 3D atomic model viewer. The application is fully bilingual (Chinese/English) and responsive across devices. The architecture is a single-page application built with TypeScript and Vite. The codebase is modular, with clear separation into modules for table rendering, heatmap, 3D atom, modal, media loading, search, and legend. State is managed centrally, and internationalization is handled via typed translation dictionaries. The project includes unit tests using Vitest and a CI/CD pipeline for GitHub Pages deployment. Key technical highlights include a pure-function electron configuration algorithm (Aufbau principle with exceptions), CSS 3D transforms for the atom model, and a lightweight i18n system. The code is type-safe with strict TypeScript and follows modern frontend best practices.

RATING: 8.4/10 MAINT: active DRIFT: low
▸ 1 reusable components found
LiveSplit/LiveSplitOne ★ 301 55 APPLICATION

LiveSplit One is a cross-platform speedrun timer application, the successor to the classic LiveSplit timer. It runs as a Progressive Web App and as a Tauri desktop application, targeting Windows, Linux, and macOS. The core timing logic is compiled to WebAssembly via the 'livesplit-core' Rust library, while the UI is built with React 19, TypeScript, and Vite. The application provides a rich set of features for speedrunners: highly customizable split timers, real-time comparisons, layout editor with drag-and-drop, integrated leaderboards from Speedrun.com, global hotkeys (desktop only), always-on-top mode, WebSocket server for remote control, and support for multiple timekeeping methods (real time vs game time). Data persistence is handled via IndexedDB in the browser and the filesystem in Tauri. The codebase is well-structured with a clear separation between core logic (WASM), UI components, and platform-specific code, though some central components like 'LiveSplit.tsx' are large and could benefit from further decomposition.

RATING: 8.4/10 MAINT: active DRIFT: low
▸ 2 reusable components found
streem/pbandk ★ 297 45 APPLICATION

pbandk is a Kotlin Multiplatform library and code generator for Protocol Buffers. It provides a protoc plugin (`protoc-gen-pbandk`) that generates idiomatic Kotlin data classes from `.proto` files, supporting proto2, proto3, and experimental Protobuf Editions. The runtime library offers binary and JSON serialization/deserialization across JVM, Android, JavaScript, WebAssembly, and Native (iOS, macOS, Linux, Windows) targets. The architecture is a classic protobuf toolchain: `.proto` definitions are compiled by `protoc`, which invokes the pbandk plugin to produce Kotlin source code that depends on the pbandk runtime. The runtime includes core abstractions (`Message`, `MessageDecoder`, `MessageEncoder`), a descriptor system for reflection, well-known type support (Any, Duration, Timestamp, Struct, etc.), and configurable JSON encoding. The project also includes a conformance test suite and examples for JVM, browser JS/Wasm, and custom service generation. It is not a data research project; it is a software library for protocol buffer handling.

RATING: 8.4/10 MAINT: maintained DRIFT: low
▸ 5 reusable components found
googlemaps/js-markerclusterer ★ 293 104 APPLICATION

This repository provides the `@googlemaps/markerclusterer` library, a TypeScript/JavaScript package for clustering large numbers of markers on Google Maps. The core `MarkerClusterer` class extends `google.maps.OverlayView` and orchestrates a pluggable pipeline: an `Algorithm` (default: SuperCluster) groups markers into `Cluster` objects, and a `Renderer` (default: SVG circles) visualizes them. It supports both legacy `google.maps.Marker` and modern `AdvancedMarkerElement`. The library is distributed as an npm package (UMD, ESM, IIFE) and includes examples with real-world coordinate data. External dependencies include the Google Maps JavaScript API runtime, the `supercluster` library for spatial indexing, and `@googlemaps/jest-mocks` for testing. The architecture emphasizes extensibility through well-defined interfaces, making it suitable for integration into larger mapping applications.

RATING: 8.4/10 MAINT: active DRIFT: low
▸ 4 reusable components found
Madrapps/jacoco-report ★ 203 83 APPLICATION

This is a GitHub Action that parses JaCoCo XML coverage reports and posts a formatted coverage summary as a comment on pull requests. It supports single and multi-module projects, aggregate reports, multiple counter types (INSTRUCTION, BRANCH, LINE, COMPLEXITY, METHOD), custom emojis, and comment update strategies. The action fetches the list of changed files from the PR via the GitHub API, computes overall and per-file coverage percentages, and renders a markdown table with pass/fail indicators based on configurable thresholds. The codebase is written in TypeScript, well-structured with clear separation of concerns (action orchestration, XML parsing, coverage computation, markdown rendering), and includes a comprehensive test suite with fixtures covering various report structures and edge cases.

RATING: 8.4/10 MAINT: active DRIFT: low
▸ 1 reusable components found
microsoft/Web-Dev-For-Beginners ★ 96366 15781 APPLICATION

This repository is a comprehensive educational curriculum for web development, hosted by Microsoft Cloud Advocates. It is structured as a 12-week course covering HTML, CSS, JavaScript, and modern frameworks like Vue.js and Next.js. The content is primarily documentation-driven, featuring project-based learning modules where students build applications such as a space game, a bank management app, and a browser extension. While the repository itself is not a single deployable application, it contains numerous runnable code examples and full-stack projects that serve as the functional core of the curriculum. The codebase demonstrates a polyglot technology stack, utilizing vanilla JavaScript for foundational concepts, Node.js/Express for backend APIs, and Python/FastAPI for AI integration projects. A significant portion of the repository is dedicated to internationalization, with README files translated into dozens of languages using an AI translation service. The projects are designed to be deployed to platforms like Azure Static Web Apps and Vercel, providing learners with real-world deployment experience. The architecture is modular, with each lesson or project contained in its own directory structure (e.g., `6-space-game`, `7-bank-project`). This separation allows for independent testing and reuse of specific patterns, such as game loops, state management, and API interactions. However, the code is optimized for educational clarity rather than production robustness, often using in-memory storage or simplified error handling to focus on core concepts.

RATING: 8.3/10 MAINT: active DRIFT: medium
▸ 3 reusable components found
meteor/meteor ★ 44805 5241 APPLICATION

Meteor is an ultra-simple full-stack JavaScript framework for building modern web and mobile applications. This monorepo contains the Meteor CLI tool (`meteor`), the build system (isobuild, Rspack integration), core runtime packages (reactive data via DDP, MongoDB integration, accounts, Blaze templating, modules, bundling), and a rich ecosystem of OAuth providers, testing infrastructure, and developer tools (ESLint plugin, Babel preset, installer). The codebase is organized as a monorepo with `tools/` for the CLI and build system, `packages/` for framework packages, and `npm-packages/` for standalone npm packages. It demonstrates a real-time data synchronization pattern using DDP (Distributed Data Protocol), a custom constraint solver for package dependency resolution, and a compiler plugin system for transpilation. Despite being a well-established framework with extensive testing, the codebase shows signs of technical drift: deprecated packages remain in-tree, there is a dual sync/async API surface due to ongoing migration from Fibers to async/await, and the build system is transitioning from a legacy compiler to Rspack.

RATING: 8.3/10 MAINT: active DRIFT: medium
▸ 5 reusable components found
appsmithorg/appsmith ★ 40970 4781 APPLICATION

Appsmith is a comprehensive low-code application development platform that enables users to build internal tools, dashboards, and admin panels via a visual editor. The architecture consists of a React/TypeScript frontend (SPA) for the IDE and a Java Spring Boot backend (WebFlux) for business logic and data persistence. It features a robust plugin system for connecting to diverse datasources (SQL, NoSQL, SaaS, AI) and deep Git integration for version control and CI/CD workflows. The system is containerized for deployment and supports both Community and Enterprise editions through feature-flagged code paths.

RATING: 8.3/10 MAINT: active DRIFT: medium
▸ 3 reusable components found
ToolJet/ToolJet ★ 40456 5357 APPLICATION

ToolJet is a comprehensive low-code/no-code application development platform designed for building internal tools, workflows, and AI agents. The system features a visual drag-and-drop editor (AppBuilder) that allows users to construct UIs using a library of widgets, connect to diverse data sources via a plugin architecture, and manage application logic through a backend NestJS service. It supports multi-tenancy, version control (Git), and enterprise-grade security features like SSO and RBAC. The architecture is a monorepo with a React-based frontend and a NestJS-based backend, utilizing PostgreSQL for persistence and Redis for caching.

RATING: 8.3/10 MAINT: active DRIFT: medium
▸ 4 reusable components found
$ loading more...
$ submit: