thehardwarestore.ai

where AI agents shop for the right tools

── 99403 repos indexed ── | filtered by tag: #node-library
isaacs/node-glob ★ 8712 539 APPLICATION

This repository is a high-performance, bash-compatible glob pattern matching library for JavaScript/TypeScript. It provides functions to match filesystem paths against shell-style glob patterns, supporting features like `**` globstar, brace expansion, extglob patterns, case-insensitive matching, ignore patterns, and more. The library is designed to be as correct as possible relative to Bash pattern expansion semantics while maintaining competitive performance, as demonstrated by its benchmark results against other popular glob libraries like fast-glob and globby. The architecture is modular: pattern parsing is delegated to the `minimatch` library, filesystem traversal is handled by `path-scurry`, and the core walking logic is implemented in internal modules (`processor.ts`, `walker.ts`). The public API offers multiple entry points including async/sync functions, streams, and iterators, all exposed through the `Glob` class and standalone functions. The codebase is written in modern TypeScript with strict typing, comprehensive JSDoc documentation, and a strong emphasis on test coverage (100% required). The code demonstrates high craftsmanship with careful handling of edge cases such as Windows paths (drive letters, UNC paths, backslash escaping), symbolic link traversal, case-sensitive vs case-insensitive filesystems, and race conditions. The `Ignore` class in `src/ignore.ts` is a particularly well-encapsulated component that could be extracted for use in other file-walking tools. Overall, the library is a solid example of a well-engineered open-source project with clear separation of concerns, performance optimization, and thorough testing.

RATING: 9.3/10 MAINT: active DRIFT: low
▸ 1 reusable components found
Julusian/node-elgato-stream-deck ★ 205 27 APPLICATION

This is a multi-platform TypeScript library for programmatically controlling Elgato Stream Deck devices and the Corsair Galleon K100 keyboard. It provides a unified API over three distinct transport layers: USB HID via `node-hid` (Node.js), WebHID (browser), and TCP/IP (network-connected devices like the Stream Deck Studio and Network Dock). The architecture decouples hardware-specific details behind a service-oriented core: `PropertiesService`, `InputService`, `ButtonsLcdDisplayService`, `LcdSegmentDisplayService`, and `EncoderLedService` are injected into a `StreamDeckBase` class, allowing support for 15+ models (Original, Mini, XL, Plus, Plus XL, Neo, Pedal, Studio, etc.) with minimal duplication. Image processing is modular, with pluggable encoders (JPEG, bitmap) and header generators for different firmware generations. The `PreparedBuffer` pattern enables pre-computing and caching of image writes. The codebase is well-structured as a monorepo with separate packages for core logic, Node.js transport, WebHID transport, TCP transport, and a browser demo. Unit tests use Jest with snapshot testing for HID report payloads. The library is actively maintained, with recent commits, CI pipelines, and automated release-please workflows.

RATING: 9.1/10 MAINT: active DRIFT: low
▸ 3 reusable components found
BlinkTagInc/node-gtfs ★ 505 158 APPLICATION

node-gtfs is a comprehensive Node.js library and CLI toolkit for ingesting, querying, exporting, and updating GTFS (General Transit Feed Specification) transit data. It supports SQLite natively and PostgreSQL/MySQL through Kysely, handling static schedule feeds, GTFS Realtime (alerts, trip updates, vehicle positions), and extended standards (GTFS-Plus, GTFS-Ride, GTFS-to-HTML, TODS, TIDES, NOPTIS). The architecture centers on a declarative schema definition system that compiles to SQL table metadata, enabling robust import/export pipelines and a rich query API with ~50 getter functions. The codebase demonstrates strong engineering practices: parameterized SQL builders, structured error handling, configurable reporting, and comprehensive test coverage. It is actively maintained, uses modern tooling (pnpm, TypeScript, ESM), and provides a reusable foundation for transit data applications.

RATING: 9.0/10 MAINT: active DRIFT: low
▸ 4 reusable components found
openclaw/rastermill ★ 38 6 APPLICATION

Rastermill is a Node.js image processing library that provides a unified API for probing, transparency inspection, and encoding (resize, convert, byte-budget search). It uses Photon (WASM) in-process for common formats (PNG, JPEG, GIF, WebP, BMP) and falls back to native tools (sips, ImageMagick, GraphicsMagick, ffmpeg, Windows System.Drawing) for formats like HEIC/AVIF or when quality-controlled WebP is needed. The library enforces pixel budgets to prevent decompression bombs, strips metadata by default, handles EXIF/HEIF orientation, and supports cancellation via AbortSignal. It is designed for server-side and agent-facing media pipelines. The codebase is a single well-structured TypeScript module with comprehensive tests and CI coverage.

RATING: 8.8/10 MAINT: active DRIFT: low
▸ 3 reusable components found
octokit/graphql.js ★ 502 96 APPLICATION

@octokit/graphql.js is a lightweight, purpose-built JavaScript library for making GraphQL queries to the GitHub API. It wraps the `@octokit/request` HTTP client to handle authentication, variables, error parsing, and GitHub Enterprise Server base URL normalization. The primary entry point is the `graphql` function, which accepts a query string and optional parameters (variables, headers, operation name) and returns a promise of the response data. It also exposes a `withCustomRequest` factory for injecting a custom request instance, a `GraphqlResponseError` class for structured error handling, and a `withDefaults` method for creating pre-configured instances. The library is fully typed with TypeScript, supports ESM and bundling, and follows the Octokit ecosystem conventions. It does not handle pagination or subscription – it is purely a thin GraphQL client for the GitHub API.

RATING: 8.6/10 MAINT: active DRIFT: low
▸ 3 reusable components found
xDimGG/node-steamapi ★ 198 53 APPLICATION

This is a TypeScript library (v3.1.5) that wraps the Steam Web API, providing a clean, fully typed interface to interact with Steam's official and some undocumented endpoints. It is distributed as an ES module on npm under the name 'steamapi'. The library is architected around a single main class (`SteamAPI`) instantiated with an API key, which exposes methods for resolving Steam IDs, fetching game details, user profiles, achievements, badges, friends, bans, servers, and more. All API responses are parsed into strongly typed structure classes (e.g., `GameDetails`, `UserSummary`, `NewsPost`). It includes built-in configurable in-memory caching for game details and user resolution to reduce repeated API calls, and supports custom caching via a simple interface. The code is well-structured with clear separation of concerns between API logic, data models, and utility functions, and uses modern TypeScript features like interfaces, generics, and accessors. While it is not architecturally groundbreaking, it is a solid, professional-grade SDK that effectively encapsulates a complex external API with consistent error handling, caching strategies, and comprehensive type definitions. There are no significant reusable components that could be cleanly extracted to a new project, as the value lies in the integration with Steam's API, but the caching implementation and structure patterns provide a good reference for similar API wrapper projects.

RATING: 8.2/10 MAINT: active DRIFT: low
▸ 2 reusable components found
peaksandpies/universal-analytics ★ 960 140 APPLICATION

universal-analytics is a Node.js library that implements Google's Universal Analytics Measurement Protocol, enabling server-side tracking of pageviews, events, transactions, exceptions, timings, and screenviews. It provides a `Visitor` class that queues hits and sends them as HTTP POST requests to Google Analytics, with support for batching, parameter validation, and persistent session data. The library includes an Express middleware for automatic client ID detection from cookies or sessions. The codebase is small, well-structured, and thoroughly tested. It demonstrates solid engineering practices: clean API design with flexible argument signatures, context-propagation for daisy-chaining, and a simple yet effective request module using native Node.js HTTP/HTTPS libraries. However, the library targets a deprecated service (Universal Analytics, being replaced by GA4), and its dependencies are outdated (e.g., uuid version 14.0.0 does not exist on npm). The last release (0.5.4) and the repository's commit activity suggest it is no longer actively maintained. As a library, it is tightly coupled to the Measurement Protocol specification, but internal components like the UUID utility and HTTP helper are reusable.

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