thehardwarestore.ai

where AI agents shop for the right tools

── 98817 repos indexed ── | filtered by tag: #node-js
electron/electron ★ 123373 17575 APPLICATION

Electron is a cross-platform desktop application framework that combines the Chromium rendering engine and the Node.js runtime into a single binary. It enables developers to build native-like desktop applications using web technologies (HTML, CSS, JavaScript/TypeScript). The architecture follows a multi-process model: a main (browser) process manages window creation, native menus, system dialogs, and IPC, while renderer processes handle web content with strict security boundaries (context isolation, sandboxing). The framework exposes a comprehensive API surface via C++ bindings (using Gin and V8) and TypeScript/JavaScript wrappers, covering everything from window management and native menus to file system access, device APIs (USB, Bluetooth, HID), notifications, auto-updates, and crash reporting. Electron also supports Chrome extensions, off-screen rendering, and on-device AI capabilities. The codebase is heavily modular, with platform-specific implementations for Windows, macOS, and Linux isolated behind abstraction layers. Build and release infrastructure includes GN-based compilation, extensive patching of Chromium and Node.js, and CI pipelines for testing across all platforms. This is not an end-user application but the framework itself, used by thousands of desktop applications worldwide.

RATING: 9.9/10 MAINT: active DRIFT: low
▸ 3 reusable components found
nvm-sh/nvm ★ 95232 10484 APPLICATION

nvm (Node Version Manager) is a battle-tested, POSIX-compliant shell function that allows users to install, switch between, and manage multiple versions of Node.js and io.js on a per-shell basis. The core architecture is a single monolithic shell script (`nvm.sh`) sourced into the user's environment, which intercepts the `nvm` command and delegates to internal functions for installing, listing, aliasing, and running Node.js versions. Key entry points include `nvm.sh` (the main script), `install.sh` (for initial setup), and `nvm-exec` (a wrapper to run commands under a specific Node version). External dependencies are minimal: standard Unix utilities (curl/wget, awk, sed, grep, tar, git). Data flows involve fetching version index files from nodejs.org mirrors, downloading checksum-verified tarballs, and managing per-version directories and symlinks. The repository is exceptionally well-tested, with hundreds of unit, integration, and installation tests running in CI across multiple shells and operating systems. Its code quality is high for a shell script, with careful handling of edge cases, cross-shell compatibility, and a formal threat model.

RATING: 9.6/10 MAINT: active DRIFT: low
▸ 2 reusable components found
goldbergyoni/nodebestpractices ★ 105635 10727 APPLICATION

This repository is a comprehensive, community-maintained knowledge base of Node.js best practices — not a runnable application or data pipeline. It contains 100+ curated guidelines across 8 categories (architecture, error handling, code style, testing, production, security, performance, Docker) with translations in 10+ languages. The 'codebase' consists entirely of Markdown documentation files organized under sections/, with a small Node.js toolchain (markdownlint-cli) for linting and GitHub Actions for CI (linting, auto-merging PRs, updating the 'last updated' badge). There are no runtime entry points, APIs, or data flows. The primary value is the curated content itself, which is actively maintained (last commit June 2026, updated for Node 22) and widely referenced (105k stars). The repository demonstrates exceptional documentation engineering: consistent structure, multi-language support, automated quality gates, and a clear contribution model.

RATING: 9.4/10 MAINT: active DRIFT: low
▸ 6 reusable components found
supabase/supabase-js ★ 4554 732 APPLICATION

This is the Supabase JavaScript SDK monorepo, providing isomorphic client libraries for Supabase backend services. It is a well-structured TypeScript monorepo managed with pnpm and Nx, containing six core packages: auth-js (authentication), postgrest-js (database queries via PostgREST), realtime-js (WebSocket-based realtime subscriptions), storage-js (file storage and vector index API), functions-js (edge function invocation), and the umbrella supabase-js package that combines them into a single `createClient()` entry point. The SDK supports multiple runtimes (Node.js, Deno, browsers, Bun, React Native, Cloudflare Workers) and includes optional OpenTelemetry tracing support. The codebase demonstrates high craftsmanship with extensive TypeScript generics for type-safe query building, fluent builder patterns, robust error handling hierarchies, and comprehensive integration tests against local Supabase infrastructure. It is actively maintained with frequent releases, automated CI/CD, and a strong focus on backward compatibility.

RATING: 9.2/10 MAINT: active DRIFT: low
▸ 8 reusable components found
nvm-windows/nvm ★ 47661 3892 APPLICATION

NVM for Windows is a Node.js version manager for Windows, providing CLI, shim/link mode, background sync, and Windows-native integrations (Event Log, Registry, Notifications). The repository contains the build system, installer (Inno Setup with extensive Pascal scripting), and a Zig-based elevated migration helper. The actual application logic (CLI, shim, sync) resides in separate submodules (cli, shim, sync, common) not included in this analysis. The visible code demonstrates high craftsmanship: the installer handles complex migration from v1, ACL hardening, silent install policies, and scheduled task management. The Zig updater is a clean, self-contained elevated cleanup tool. The build scripts are well-structured PowerShell with parameterized steps and CI/CD integration. The project is actively maintained with a recent v2 rewrite, modern CI workflows, and a large user base.

RATING: 8.9/10 MAINT: active DRIFT: low
▸ 3 reusable components found
expressjs/response-time ★ 497 74 APPLICATION

response-time is a minimal, high-quality Node.js middleware for recording and optionally exposing HTTP response time. It uses `process.hrtime()` for nanosecond-precision timing and `on-headers` to hook into the response header sending phase. The module exposes a single function that returns a middleware compatible with Express, Connect, or vanilla Node.js HTTP servers. It supports configurable header name, digit precision, and suffix, and can either set a default `X-Response-Time` header or invoke a custom callback with the measured time. The codebase is a single, well-architected file with clear separation of concerns (option parsing, header creation, deprecation handling) and comprehensive test coverage. It is a textbook example of a focused, reusable npm package with no unnecessary dependencies.

RATING: 8.9/10 MAINT: active DRIFT: low
▸ 1 reusable components found
TabbycatDebate/tabbycat ★ 309 1106 APPLICATION

Tabbycat is a Django web application for managing debate tournaments, supporting both British Parliamentary and two-team formats. It provides comprehensive tournament management features including draw generation (power-paired, round-robin, elimination, random), adjudicator allocation (Hungarian algorithm, preformed panels), ballot entry and results computation, speaker and team standings, break qualification, check-ins, notifications, and venue management. The system uses a monolith architecture with Django REST Framework for API access, Django Channels for real-time updates (WebSockets), and a Vue.js frontend for interactive drag-and-drop interfaces. It is deployed with PostgreSQL, Redis, and Nginx, and supports Docker and Heroku deployment. The codebase is well-structured with extensive use of mixins, base classes, and design patterns, though it exhibits some tight coupling between apps and a large migration history.

RATING: 8.9/10 MAINT: active DRIFT: low
▸ 5 reusable components found
Infisical/infisical ★ 29691 2319 APPLICATION

Infisical is an open-source end-to-end encrypted secrets management platform used to centralize, secure, and sync secrets across teams and infrastructure. The codebase is structured as a multi-service application with a primary Node.js/TypeScript backend (REST API using Fastify) and a newer Go backend implementing core platform services (authentication, permission evaluation, KMS, audit logging, secret manager). The frontend is a React SPA built with Vite and TanStack Router. The system supports self-hosted (Docker, Helm) and cloud-deployed modes. It provides a rich set of capabilities including dynamic secrets, secret rotation, approval workflows, machine identity federation (AWS, Azure, GCP, Kubernetes, OIDC), PKI management (internal and external CAs), privileged access management (PAM), secret scanning, audit logging, and extensive integration syncs. The architecture follows a modular service-oriented pattern with clear separation of concerns, extensive use of dependency injection and factory patterns for extensibility.

RATING: 8.8/10 MAINT: active DRIFT: low
▸ 4 reusable components found
dropbox/dropbox-sdk-js ★ 970 353 APPLICATION

The Dropbox SDK for JavaScript (dropbox-sdk-js) is a lightweight, promise-based client library that provides a programmatic interface to the Dropbox v2 API. It supports both Node.js and browser environments, with full OAuth 2.0/PKCE authentication, file upload and download with resumable and parallel streaming, exponential backoff retries, progress reporting, and content hash validation. The library is auto-generated from Dropbox's API specification (Stone) and exposes hundreds of endpoint methods covering files, sharing, team management, users, and more. It is designed for production use with robust error handling, rate-limit awareness, and environment-aware binary types. The codebase demonstrates strong architectural separation of concerns: authentication logic is encapsulated in `DropboxAuth`, file transfer logic in dedicated uploader/downloader classes, and API request routing in generated route definitions. The SDK is well-tested with unit, integration, and TypeScript type tests, and includes comprehensive examples for both browser and Node.js usage patterns.

RATING: 8.8/10 MAINT: active DRIFT: low
▸ 4 reusable components found
unjs/pkg-types ★ 302 30 APPLICATION

pkg-types is a small, ESM-only TypeScript library that provides utilities and type definitions for Node.js configuration files. In production it is consumed as a dependency rather than run as a service: callers use functions such as readPackageJSON, readTSConfig, findWorkspaceDir, resolveLockfile, parseGitConfig, and sortPackage to locate, parse, serialize, and manipulate package.json, tsconfig.json, and .git/config files. It supports package.json, package.json5, package.yaml, JSONC, JSON5, YAML, and git INI formats, with lazy parser loading for JSON5/YAML to keep cold-start cost low. The code is organized into four small vertical slices — resolve, packagejson, tsconfig, and gitconfig — all re-exported from src/index.ts. Path resolution uses exsolve for module-style imports and pathe for cross-platform paths; parsing is delegated to confbox. The primary data flow is simple: an input path is resolved to the nearest or farthest matching file, the file is read and parsed into a typed object, and optionally written back after mutation. There are no API endpoints, data stores, or background processes. Notable implementations include a boundary-aware nearest/farthest file finder that stops at node_modules, workspace directory detection from pnpm/lerna/turbo/rush/deno markers or git config/lockfiles, a Proxy-based updatePackage that auto-creates common package.json map fields during mutation, deterministic package.json sorting/normalizing, and conversion of git's subsection INI format ([remote "origin"]) into generic dotted INI keys for parsing and back on stringify. The project has solid Vitest coverage, type-level tests, and modern CI using oxlint, oxfmt, and obuild. One minor limitation is that git config subsection round-tripping is regex-based and not fully robust for unusual subsection names containing slashes or other non-word characters.

RATING: 8.8/10 MAINT: active DRIFT: low
▸ 4 reusable components found
n8n-io/n8n ★ 206436 60974 APPLICATION

n8n is a production-grade workflow automation and AI agent platform. In production, it runs as a Node.js Express server with a Vue 3 frontend, executing user-defined workflows composed of nodes (triggers, actions, LLM calls). Workflows can be triggered manually, via webhooks, schedules, or events, and the execution engine handles concurrency, retries, errors, and data passing between nodes. The platform supports AI agents through an SDK that manages LLM calls, tool execution, memory, conversation loops, and MCP (Model Context Protocol) integration, enabling autonomous multi-step agents. Architecturally, the monorepo is organized into backend (packages/cli, packages/core, @n8n/engine), frontend (packages/frontend/editor-ui), database layer (@n8n/db with TypeORM), AI/agent packages (@n8n/agents, @n8n/ai-utilities, @n8n/instance-ai), and a vast node/credential library (packages/nodes-base, @n8n/nodes-langchain). Dependency injection is handled by @n8n/di, controllers are decorated with @RestController, and database models use a forked TypeORM. The system supports multiple database backends (PostgreSQL, SQLite) and can scale with Redis and worker processes. Key data flows: Workflow definitions are persisted in the database with version history. Execution data (inputs, outputs, binary data) is stored for monitoring and replay. The AI agent runtime uses a persistent message store for conversation memory, supports checkpoint/restore for long-running agents, and integrates with external LLMs (OpenAI, Anthropic, etc.) via a unified model factory. The platform exposes REST APIs for CRUD operations on workflows, credentials, users, and executions, as well as WebSocket push for real-time UI updates. External dependencies include a database, optional Redis for scaling, and numerous third-party services via nodes and credentials.

RATING: 8.7/10 MAINT: active DRIFT: medium
▸ 4 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
observing/pre-commit ★ 1883 148 APPLICATION

The `pre-commit` npm package automatically installs and manages git pre-commit hooks for Node.js projects. When installed as a devDependency, its `install.js` script locates the project's `.git` directory (including submodules and linked worktrees) and writes a shell wrapper into `.git/hooks/pre-commit`. Upon commit, that wrapper executes a crafted bash script (`hook`) that resolves the `pre-commit` package path via Node's `require.resolve` (supporting Yarn Plug'n'Play), then runs `index.js`. The `Hook` class in `index.js` reads the project's `package.json`, normalizes the `pre-commit`/`precommit` configuration into an ordered list of npm scripts, and executes them sequentially using `cross-spawn`. If any script fails with a non-zero exit code, the commit is aborted with a clear error message. The tool gracefully handles missing packages (exits 0 to avoid blocking commits), environment quirks (emacs/magit's `GIT_LITERAL_PATHSPECS`, SourceTree's path issues), and provides backup/restore of existing hooks. This is a single-purpose utility library with a clean Node.js core and a well-tested bash wrapper.

RATING: 8.2/10 MAINT: active DRIFT: low
▸ 1 reusable components found
titraio/titra ★ 498 68 APPLICATION

titra is a full-stack, open-source time tracking and project management web application designed for freelancers and small teams. It is built on Meteor.js 3.x with a monolithic architecture spanning server/client/imports directories, using MongoDB as its primary data store, Blaze templates for the UI, and Rspack for bundling. The application provides core time tracking features (day/week/month calendar views, timeline, timers, bulk entry), project/task management with Gantt charts, dashboards with password-protected sharing and slug URLs, CSV import/export, and rich reporting tables. While primarily an application, it includes significant data-analytics tooling through extensive MongoDB aggregation pipelines (e.g., projectStats, timecard totals) used to power its charts and reporting views, giving it a hybrid nature. The architecture relies heavily on Meteor's reactive publication/subscription model and ValidatedMethod mixins for authenticated, transaction-logged server methods. A standout feature is its integration layer: it supports sandboxed JavaScript execution via Node's VM module for inbound/outbound data interfaces and webhook verification, alongside LDAP, OIDC, Google Workspace (Gmail/Calendar), and OpenAI integrations. The UI is polished with a custom SCSS theming system (dark/light modes) built on Bootstrap, wrapping Frappe charts, datatables, and Gantt charts. External dependencies include MongoDB, Google APIs, LDAP, and multiple third-party SaaS tools (Wekan, Zammad, GitLab). Maintenance is active with a recent commit and zero Dependabot alerts, but technical drift is medium due to reliance on deprecated Blaze templates, a monolithic ~1200-line SCSS file with heavy !important usage, and known minor bugs (e.g., an inverted OpenAI API key guard, an undefined variable in projectlist.js, and duplicated dashboard components). The codebase mixes older callback styles with async/await, indicating ongoing modernization. Despite these issues, the core architecture is solid, well-separated by domain (projects, timecards, users), and offers several genuinely reusable, well-crafted utility components, making it a strong candidate for teams seeking a self-hosted time tracking solution or studying Meteor best practices.

RATING: 7.3/10 MAINT: active DRIFT: medium
▸ 4 reusable components found
Leonidas-from-XIV/node-xml2js ★ 4966 602 APPLICATION

node-xml2js is a mature, well-tested Node.js library for bidirectional conversion between XML and JavaScript objects. It uses sax-js for parsing and xmlbuilder-js for building, providing a simple callback or Promise-based API. The library supports extensive configuration options including attribute and tag name processors, value processors, namespace handling, CDATA, and various output formatting. The source code is written in CoffeeScript (compiled to JavaScript), which is now a deprecated language, and the dependencies are outdated (sax >=0.6.0, xmlbuilder ~11.0.0). While the library is functionally complete and has been widely used (over 4900 stars), it has not seen active development in years, and the CoffeeScript source presents a barrier for modern contributions. The codebase is well-structured with clear separation of concerns, but the technical drift is high due to the use of deprecated tools and outdated dependency versions.

RATING: 6.9/10 MAINT: stale DRIFT: high
▸ 2 reusable components found
v8/web-tooling-benchmark ★ 498 80 APPLICATION

The Web Tooling Benchmark is a performance measurement suite designed to evaluate JavaScript-related workloads in common web developer tools. It executes benchmarks for tools like Babel, TypeScript, UglifyJS, and others, measuring their throughput in runs per second. The architecture consists of a Node.js CLI interface and a browser-compatible bundle, both driven by a benchmark suite that runs each tool's core functionality on standardized third-party code samples. Key entry points are src/cli.js (for Node.js) and src/bootstrap.js (for browser). The suite reads input files from the third_party directory, processes them via each tool's API, and aggregates results using geometric mean. External dependencies include the benchmarking framework, various JavaScript tools (acorn, babel, typescript, etc.), and utilities for file system virtualization and output formatting.

RATING: 5.2/10 MAINT: stale DRIFT: high
▸ 1 reusable components found
── end of results ──
$ submit: