thehardwarestore.ai

where AI agents shop for the right tools

── 99775 repos indexed ── | filtered by tag: nodejs
FoalTS/foal ★ 1935 141 APPLICATION

FoalTS is a full-featured Node.js/TypeScript web framework structured as a monorepo with modular packages (core, CLI, JWT, TypeORM, GraphQL, storage, social auth, etc.). The framework provides declarative routing via decorators, a hook system for middleware/validation/authorization, dependency injection, and built-in support for OpenAPI, GraphQL, WebSockets, and file storage. Under the hood it uses Express, AJV, and TypeORM, with session stores for Redis, MongoDB, and SQL databases. The CLI generates projects, controllers, entities, and REST APIs, and includes upgrade commands across major versions. The codebase demonstrates solid engineering: thorough unit/e2e tests (over 2100 tests), documentation-as-tests, and a consistent pattern of abstract services (Store, Disk, Logger) resolved via configuration. Key reusable patterns include the hook/decorator system for validation and authentication, the abstract OAuth2 provider base class, and the CLI generator template engine. However, some deprecations (e.g., hashPassword→PasswordService) and outdated Docker images in development config indicate moderate technical drift. The project is actively maintained with frequent releases, daily CI on Node 22/24, and a well-documented upgrade path.

RATING: 8.0/10 MAINT: active DRIFT: medium
▸ 5 reusable components found
fsouza/prettierd ★ 994 30 APPLICATION

prettierd is a daemonized wrapper around Prettier that avoids Node.js startup overhead by running Prettier as a persistent background process (using core_d.js). It provides a CLI interface that pipes file content to the daemon, which resolves the appropriate Prettier version (local or bundled), loads configuration (with support for .prettierrc, editorconfig, and environment-driven defaults), and returns formatted output. The architecture is a single daemon per working directory, managed through core_d. Key entry points are the shell script `bin/prettierd` and TypeScript modules `src/prettierd.ts` (CLI orchestration) and `src/service.ts` (formatting logic). The service module handles Prettier resolution, config precedence, argument parsing, and formatting/checking tasks. It supports TypeScript config files via Node.js experimental strip-types. The codebase is clean, well-structured TypeScript with strict compiler settings, and though it has no test suite, CI verifies build and daemon startup across multiple platforms and Node versions.

RATING: 8.0/10 MAINT: maintained DRIFT: low
▸ 1 reusable components found
gajus/turbowatch ★ 972 24 APPLICATION

Turbowatch is a file change detector and task orchestrator for Node.js that provides a more capable alternative to tools like Nodemon. It watches specified directories for file changes and executes user-defined tasks in response, featuring debouncing to batch rapid changes, retry logic for failed tasks, interruptible tasks to cancel ongoing operations, and graceful shutdown handling. The architecture uses a pluggable backend system for file watching (supporting native FSWatcher on macOS, falling back to Chokidar elsewhere), with an event processing pipeline that deduplicates and distributes changes to relevant subscribers. Key entry points include the CLI (bin/turbowatch.ts) and programmatic API (src/watch.ts). The system relies on dependencies like chokidar, zx for process spawning, micromatch for pattern matching, and roarr for structured logging.

RATING: 8.0/10 MAINT: active DRIFT: low
▸ 2 reusable components found
GACWR/OpenUBA ★ 518 281 APPLICATION

OpenUBA is a full-stack User and Entity Behavior Analytics (UEBA) platform for security anomaly detection, investigation, and response. It provides a complete lifecycle for ML models (install, train, infer, version, share) via a pluggable registry supporting OpenUBA Hub, GitHub, HuggingFace, and local filesystem. The platform includes a rule engine with a visual DAG-based builder (ReactFlow), case management, real-time dashboards, multi-backend visualization (matplotlib, plotly, bokeh, etc.), and an LLM-powered assistant. The backend is built on FastAPI with PostgreSQL, SQLAlchemy, JWT/RBAC authentication, and optional Spark/Elasticsearch integrations. The frontend uses Next.js 14 (App Router), Apollo Client (GraphQL), shadcn/ui, and Recharts. A Python SDK enables programmatic access to all features. The system runs on Kubernetes with a Kopf operator managing custom resources (UBATraining, UBAInference, UBAWorkspace, UBAPipeline) for containerized model execution in isolated Docker images per ML framework (sklearn, PyTorch, TensorFlow, NetworkX). While primarily an application, it includes research-oriented components like experiment tracking, feature store, and Jupyter notebook workspaces, making it a hybrid tool for both security operations and data science workflows.

RATING: 8.0/10 MAINT: active DRIFT: low
▸ 4 reusable components found
bajankristof/nedb-promises ★ 300 45 APPLICATION

nedb-promises is a lightweight Node.js library that wraps the @seald-io/nedb embedded database (a fork of nedb) with a promise-based API. It provides a Datastore class that extends EventEmitter, offering methods like find, insert, update, remove, and count that return Promises or thenable Cursor objects. The Cursor class supports fluent chaining (sort, skip, limit, project) and can be awaited directly. The library also includes MongoDB-compatible aliases (insertOne, updateMany, deleteOne, etc.) and a static `create()` method that returns a Proxy to access the underlying nedb instance's properties. The codebase is clean, well-tested, and leverages modern JavaScript features (async/await, Proxy, EventEmitter). It is a classic promise wrapper with a thoughtful event system for operation success and error broadcasting.

RATING: 8.0/10 MAINT: active DRIFT: low
▸ 1 reusable components found
yarnpkg/yarn ★ 41478 2712 APPLICATION

Yarn v1 (Classic) is a Node.js package manager CLI tool that handles dependency resolution, installation, and locking for JavaScript projects. The codebase implements a monolithic architecture with modular components for package resolution, fetching, linking, and reporting. Entry points include bin/yarn.js which routes through src/cli/index.js to command implementations in src/cli/commands/. Primary data flows involve parsing package.json, resolving dependencies through the resolver hierarchy, generating yarn.lock files, and installing packages into node_modules with hoisting logic. External dependencies include npm/yarn registries, git repositories, and offline mirrors for caching. This repository is in maintenance mode per the README - new features are developed in yarnpkg/berry (Yarn 2.x/3.x). The codebase demonstrates solid engineering with extensive test coverage (Jest/Jasmine), Flow type annotations, and well-defined patterns (Resolver, Fetcher, Reporter). However, it uses legacy tooling (Webpack 2, Babel 6, Flow 0.66) and supports EOL Node versions. The dependency management logic is complex and production-tested across millions of projects, making it genuinely reusable despite its age.

RATING: 7.9/10 MAINT: maintained DRIFT: medium
▸ 5 reusable components found
ZijianHe/koa-router ★ 4814 398 APPLICATION

koa-router is a mature, Express-style router middleware for the Koa web framework. It provides a clean API for defining routes with HTTP verbs, named routes, URL parameter extraction, nested routers, and automatic OPTIONS/405/501 responses. The library is built around two core classes: `Router` (manages route registration, middleware composition, and dispatch) and `Layer` (handles path-to-regexp conversion, parameter matching, and URL generation). The code is well-structured, thoroughly tested, and has been widely used in the Node.js ecosystem. However, the project has been largely superseded by the official `@koa/router` fork maintained by the Koa team. The original repository shows signs of stagnation: CI targets very old Node.js versions (6,7,8), dependencies like `path-to-regexp` v1 and `koa-compose` v3 are outdated, and there are 82 open issues. While the core implementation remains functional and the code quality is good, the library has significant technical drift and is not actively evolving. It is best suited for legacy Koa projects or as a reference implementation for router design.

RATING: 7.9/10 MAINT: stale DRIFT: high
▸ 1 reusable components found
felipeDS91/whatsapp-api ★ 1027 145 APPLICATION

This is a WhatsApp messaging API built with Node.js, TypeScript, and Express. The system provides REST endpoints for user authentication, WhatsApp number registration (via QR code), message sending (with scheduling and media support), and user/token management. Architecture follows a layered approach: API controllers delegate to service classes, which use TypeORM repositories for data access. A separate worker process continuously polls the database for pending messages and sends them via WhatsApp using a sophisticated custom client manager that handles multiple WhatsApp sessions, QR code authentication, session persistence, and connection recovery. The WhatsApp client implementation (src/whatsapp/client/index.ts) demonstrates significant skill in managing the complexities of the whatsapp-web.js library, including proper resource cleanup, timeout handling, and state management across multiple concurrent connections.

RATING: 7.9/10 MAINT: maintained DRIFT: low
▸ 1 reusable components found
AkiraBit/PicSharp ★ 1004 34 APPLICATION

PicSharp is a cross-platform desktop application built on Tauri 2, combining a Rust backend with a React frontend and a Node.js sidecar service. The primary function is high-performance image compression, supporting batch processing, directory watching, and cloud integration via TinyPNG. The architecture separates UI logic (React/Zustand) from heavy lifting (Node.js/Sharp) and OS integration (Rust/Tauri), communicating via IPC and local HTTP endpoints. It targets macOS, Windows, and Linux, utilizing native bindings for image processing libraries like Sharp and @napi-rs/image. The codebase demonstrates a hybrid engineering approach, leveraging Rust for system-level stability and Node.js for ecosystem flexibility in image manipulation. Key data flows involve user input through the UI, orchestration via Tauri commands, and parallel processing through the sidecar's worker threads. Configuration is persisted locally using JSON stores, while error handling is centralized through custom error classes and Sentry integration. Maintenance is active, with frequent updates addressing OS-specific environment differences and native binding compatibility. The project uses a monorepo structure with pnpm, managing dependencies across Rust, Node, and TypeScript layers. While the dual-runtime architecture adds complexity, it allows for optimized performance across platforms without sacrificing the developer experience of the Node.js ecosystem.

RATING: 7.9/10 MAINT: active DRIFT: medium
▸ 3 reusable components found
web-platform-tests/interop ★ 524 35 APPLICATION

This repository manages the Interop Project, an annual effort by major browser vendors to improve web platform interoperability. It contains the governance charter, proposal guides, selection processes, and test lists for each year from 2021 to 2027. The only executable code is a Node.js script (`scripts/identify-web-features.js`) that automates enrichment of GitHub issue proposals by identifying matching web features from the `web-features` catalog and posting detailed comments. This script is well-tested, handles race conditions, and is triggered via GitHub Actions on issue events and dependency updates. The rest of the repo is documentation and test file lists. It is not a data research repository; its primary character is a project coordination and automation tool with a small, focused application component.

RATING: 7.9/10 MAINT: active DRIFT: low
▸ 2 reusable components found
aandrew-me/ytDownloader ★ 10481 925 APPLICATION

ytDownloader is a cross-platform desktop application built with Electron that provides a graphical interface for downloading videos and audio from YouTube and hundreds of other sites using yt-dlp as the backend download engine. It features a comprehensive download manager supporting single downloads, playlists, and YouTube search, with options for format selection, quality, subtitles, compression, and output templates. The application manages its own yt-dlp and ffmpeg binaries, supports auto-updates, and includes a download history with JSON/CSV export, theming, internationalization (23+ languages), system tray integration, and a global hotkey for quick URL pasting. Architecture: The application follows a standard Electron architecture with a main process (main.js) handling window management, IPC handlers, auto-updater, system tray, and global hotkey. A preload script (preload.js) sets up a context bridge (electronAPI) that exposes filesystem operations, process spawning, clipboard access, and other OS services to the renderer. The renderer process consists of several JavaScript modules (src/index.js, src/playlist.js, src/compressor.js, src/preferences.js, src/history_ui.js, src/common.js) that handle specific views. Communication between renderer and main process occurs via Electron's IPC mechanism (ipcRenderer/ipcMain). User preferences are stored in localStorage and a JSON config file, while download history is persisted as JSON. Key entry points: main.js (Electron main process), preload.js (context bridge), html/index.html (single-page UI shell), src/renderer.js (main renderer logic with YtDownloaderApp class), src/index.js (homepage downloader), src/playlist.js (playlist downloader), src/compressor.js (video compressor), src/preferences.js (settings), src/history_ui.js (history view). External dependencies include yt-dlp (download engine), ffmpeg/ffprobe (media processing), Electron (framework), electron-builder (packaging), electron-updater (auto-updates), systeminformation (GPU detection), and SlimSelect (custom dropdowns). The application bundles these binaries or uses system-installed versions, with fallback mechanisms.

RATING: 7.8/10 MAINT: active DRIFT: medium
▸ 5 reusable components found
klaudiosinani/signale ★ 9177 231 APPLICATION

Signale is a highly configurable logging library for Node.js. It provides 19 out-of-the-box loggers (e.g., success, error, debug, info) with customizable badges, labels, colors, and log levels. The library supports scoped loggers, integrated timers, secrets filtering, interactive mode (overwriting previous log lines), and multiple writable streams. Configuration can be set globally via package.json or locally per instance. The architecture is a single Signale class that dynamically creates logger methods from a types definition. The main entry point (index.js) exports a default instance and the Signale constructor. External dependencies are minimal: chalk for coloring, figures for Unicode symbols, and pkg-conf for reading package.json configuration. The code is clean, well-structured, and includes TypeScript definitions. However, the dependencies are outdated (chalk v2, figures v2, pkg-conf v2) and the CI targets Node.js 6, 8, 10, indicating the project has not been actively updated in recent years despite being widely used.

RATING: 7.8/10 MAINT: maintained DRIFT: medium
▸ 2 reusable components found
xanderfrangos/twinkle-tray ★ 8938 318 APPLICATION

Twinkle Tray is a Windows desktop application for managing monitor brightness and display settings. It uses Electron for the main process and React for the UI, communicating with monitors via DDC/CI, WMI, and software gamma ramps. The application features a system tray icon, brightness panel, settings window, and supports automatic adjustments based on time of day or ambient light. It relies on numerous Windows-specific native addons for low-level hardware access, which introduces maintenance risks but provides deep hardware integration.

RATING: 7.8/10 MAINT: maintained DRIFT: medium
▸ 5 reusable components found
ollm/OpenComic ★ 2008 131 APPLICATION

OpenComic is a cross-platform desktop comic, manga, and ebook reader built with Electron. It provides a full-featured library management system, supporting browsing of local folders, remote servers (SMB, FTP, SFTP, S3, WebDAV), and OPDS catalogs. The reading engine offers multiple layouts (single/double page, scroll, webtoon, manga direction, panel-guided view), image filters, AI-powered upscaling/descreening/artifact removal, and page transition animations. It integrates with external tracking services (AniList, MyAnimeList, Bangumi, MangaBaka) and includes a macro system for customizable shortcuts and gamepad support. The application is packaged for Windows, macOS, and Linux (via AppImage, Flatpak, Snap, and various store formats).

RATING: 7.8/10 MAINT: active DRIFT: medium
▸ 5 reusable components found
joeferner/node-java ★ 1890 288 APPLICATION

node-java is a native Node.js addon that provides a bidirectional bridge between Node.js and the Java Virtual Machine (JVM). It allows JavaScript code to instantiate Java classes, call static and instance methods, get/set fields, create arrays, handle Java exceptions, and create dynamic proxies for Java interfaces. The architecture comprises three layers: C++ native bindings (using NAN and JNI), Java helper classes for reflection and method invocation, and a JavaScript API exposed as a single import. The system manages JVM lifecycle, async method dispatch via libuv, and complex type conversions (including primitives, arrays, varargs, and Unicode strings). It is widely used (1890 stars) with active maintenance and cross-platform support (Linux, macOS, Windows, ARM).

RATING: 7.8/10 MAINT: maintained DRIFT: low
carcabot/tiktok-signature ★ 1030 347 APPLICATION

This repository provides a Node.js HTTP service that generates TikTok API signatures (X-Bogus and X-Gnarly) required to access TikTok's data endpoints. It uses Puppeteer to run a headless Chromium browser, injects a bundled copy of TikTok's web SDK, and computes signatures by intercepting fetch requests. The service also includes a pure Node.js implementation for X-Gnarly using ChaCha20. It exposes POST /signature and POST /fetch endpoints, manages a request queue, and automatically refreshes the browser session after 500 signatures or 30 minutes. The repository includes example scripts for fetching user videos, comments, trending content, and search results, demonstrating typical TikTok data scraping workflows. While the core functionality is well-implemented, the reliance on static SDK copies and a heavy browser dependency introduces maintenance risks as TikTok updates its anti-scraping measures.

RATING: 7.8/10 MAINT: active DRIFT: medium
▸ 1 reusable components found
patrickkfkan/patreon-dl ★ 542 69 APPLICATION

This repository implements a comprehensive CLI tool and library for downloading content from Patreon. It supports posts, products, media (images, videos, audio, attachments), and metadata like campaign info, comments, and collections. The downloader uses cookie-based authentication to access patron-only content and handles various embedded media providers (YouTube, Vimeo, SproutVideo) via internal tasks or external downloader hooks. The architecture is event-driven and modular: a base Downloader class orchestrates fetchers, parsers, and download task batches, with typed entities and extensive configuration options (proxy, concurrency, file existence actions, naming formats). A built-in web server with a React frontend allows browsing downloaded content via a local SQLite database with full-text search. The code demonstrates strong engineering practices: class mixins for database and API layers, a task hierarchy with retry and abort support, a chainable logger abstraction, and a utility-heavy core that is largely decoupled from the Patreon-specific logic. However, the tight coupling to Patreon's undocumented API structure, lack of automated tests, and some deprecated options are notable weaknesses.

RATING: 7.8/10 MAINT: active DRIFT: low
▸ 2 reusable components found
esmBot/esmBot ★ 507 126 APPLICATION

esmBot is a feature-rich Discord bot focused on image manipulation, music playback, and server management. It leverages Oceanic.js for Discord API interaction, native C++ addons built on libvips for high-performance image processing, and Lavalink for music streaming. The bot supports both classic prefix commands and Discord slash commands, with a modular command class hierarchy that simplifies adding new features. It includes a database abstraction layer (SQLite or PostgreSQL), a localization system supporting 20+ languages, and a pagination utility for interactive embeds. The bot can run in a clustered PM2 environment and optionally operate a separate media API server for distributed processing. While the codebase demonstrates good engineering practices with clean abstractions, it has some security concerns (an eval/exec command), incomplete translations, and a complex native build process that may introduce maintenance overhead.

RATING: 7.8/10 MAINT: active DRIFT: medium
▸ 3 reusable components found
artiebits/pdf-to-printer ★ 500 148 APPLICATION

pdf-to-printer is a small, focused Node.js/Electron library that prints PDFs and images to Windows printers by shelling out to a bundled SumatraPDF executable. The public API exposes three async functions: `print()`, `getPrinters()`, and `getDefaultPrinter()`. `print()` validates the target file, builds SumatraPDF command-line arguments from a typed options object (printer, pages, orientation, paper size, duplex, copies, etc.), and executes the binary via `child_process.execFile`. Printer discovery uses PowerShell's `Get-CimInstance Win32_Printer` and parses the formatted text output into structured `Printer` objects with device ID, name, and supported paper sizes. The code is TypeScript with strict mode, unit-tested with Jest, and bundled with webpack for UMD distribution. It is Windows-only by design and throws on other operating systems.

RATING: 7.8/10 MAINT: active DRIFT: low
▸ 2 reusable components found
webpack/stylus-loader ★ 493 99 APPLICATION

This is a webpack loader that compiles Stylus (.styl) files into CSS. It acts as a bridge between the webpack build system and the Stylus CSS preprocessor, handling import resolution (including glob patterns, node_modules, webpack aliases, and tilde imports), source maps, custom Stylus options, and URL rewriting. The architecture follows the standard webpack loader pattern: it receives the source code, parses options via a JSON schema, renders Stylus using an implementation (defaulting to the `stylus` package), and outputs either the compiled CSS along with source map and dependency list. It supports dual ESM/CJS builds and is compatible with webpack 5 and optionally Rspack. The primary entry point is `src/index.js`, which exports the loader function. Core utilities live in `src/utils.js`, which includes a custom Stylus evaluator that overrides import resolution to delegate to webpack's resolver, utility functions for normalizing options and source maps, and a dependency collector that traverses the Stylus AST to report all imports to webpack's build graph. The loader integrates deeply with webpack's module resolution (aliases, `resolve.byDependency`, custom conditions) and supports advanced Stylus features like CSS module exports, `@import` and `@require`, `@block`, and the `url()` resolver. Externally, it depends on the `stylus` npm package as the core preprocessor, and on webpack's loader API. It is actively maintained, with recent major version bumps aligning with Node.js runtime requirements (v9.0.0 requires Node >=22.11.0). The codebase is well-tested with a comprehensive test suite covering numerous edge cases in import resolution, error handling, and option combinations. While the loader itself is webpack-specific, several internal patterns (custom evaluator, dependency resolution, URL handling) demonstrate non-obvious craftsmanship and could inform similar integrations for other CSS preprocessors.

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