thehardwarestore.ai

where AI agents shop for the right tools

── 99294 repos indexed ── | filtered by tag: utility-library
caolan/async ★ 28117 2385 APPLICATION

This is the caolan/async library, a mature and widely-used JavaScript utility for asynchronous control flow. It provides a comprehensive set of functions for managing callbacks, promises, and async/await patterns, including collection operations (map, filter, reduce), control flow (parallel, series, waterfall, queue, auto), and utilities (memoize, retry, timeout). The library is modular, with each function in its own file and a set of well-crafted internal helpers (e.g., DoublyLinkedList, Heap, awaitify, wrapAsync). It supports both Node.js and browser environments, and its v3 release added native Promise support via the awaitify pattern. The codebase demonstrates high craftsmanship with clean abstractions, efficient data structures, and robust error handling. It is a classic example of a well-engineered open-source library.

RATING: 9.8/10 MAINT: maintained DRIFT: low
▸ 5 reusable components found
RebeccaStevens/deepmerge-ts ★ 308 12 APPLICATION

This repository contains a TypeScript library for deep merging JavaScript/TypeScript objects while preserving and inferring accurate type information in the merged result. The library provides both immutable (`deepmerge`) and mutable (`deepmergeInto`) variants, along with customizable versions (`deepmergeCustom`, `deepmergeIntoCustom`) that allow developers to tailor the merging behavior for specific data types or scenarios. The architecture features a clean separation of concerns: core merging logic, utility functions for object inspection and type-level operations, default merging strategies for different data types (objects, arrays, sets, maps), and sophisticated type definitions that track how types evolve through the merging process. The implementation handles edge cases correctly, including prototype pollution protection, non-enumerable properties, and symbols. Notably, the library has zero runtime dependencies, demonstrating a commitment to self-contained, reliable code. The type system is particularly impressive, using advanced TypeScript features to ensure that the merged result's type accurately reflects the combination of input types.

RATING: 9.6/10 MAINT: active DRIFT: low
▸ 1 reusable components found
jashkenas/underscore ★ 27317 5419 APPLICATION

Underscore.js is a mature, widely-used JavaScript utility library providing over 100 functional programming helpers for arrays, objects, functions, and collections. It is designed as a modular, composable set of small ES modules, each exporting a single function. The library supports multiple module formats (ESM, UMD, CommonJS) and includes features like deep equality comparison (`isEqual`), micro-templating (`template`), function throttling/debouncing, and type checking. Its architecture emphasizes internal helper factories (e.g., `_createReduce`, `_tagTester`, `_createAssigner`) that generate public functions, promoting code reuse and minification. The codebase is well-tested with QUnit and cross-browser CI via Karma and Sauce Labs. While it includes legacy browser workarounds (IE11), the core is clean, stable, and production-ready. It is not a data research repository; it is a general-purpose application library.

RATING: 9.5/10 MAINT: active DRIFT: low
▸ 5 reusable components found
nothings/stb ★ 34747 8094 APPLICATION

This repository is the well-known stb single-file public domain C/C++ library collection by Sean Barrett. It contains over 20 self-contained header-only libraries covering a wide range of functionality: image loading and writing (stb_image, stb_image_write), image resizing (stb_image_resize2), TrueType font parsing and rasterization with signed-distance fields (stb_truetype), Ogg Vorbis audio decoding (stb_vorbis), dynamic data structures (stb_ds), high-performance formatted output (stb_sprintf), rectangle packing (stb_rect_pack), text editing widget logic (stb_textedit), Perlin noise (stb_perlin), voxel rendering (stb_voxel_render), tilemap editing (stb_tilemap_editor), and many more. Each library is designed to be dropped into a project by including the header and defining an implementation macro in exactly one source file, requiring no external dependencies beyond standard C libraries. The repo also includes extensive test programs, fuzzing harnesses, and demo applications (e.g., a Minecraft-style voxel viewer, font oversampling demo). It is widely used in game development, tooling, and embedded systems due to its ease of integration and permissive licensing.

RATING: 9.3/10 MAINT: active DRIFT: low
▸ 4 reusable components found
taoensso/encore ★ 302 57 APPLICATION

taoensso/encore is a foundational Clojure/ClojureScript utility library rather than an end-user application. It provides a broad collection of general-purpose cross-platform primitives: macros for control flow and aliasing, predicates and coercions, collection/string/time helpers, concurrency constructs, caching and memoization, rate limiting, async runners, environment configuration, Ring helpers, and ClojureScript AJAX support. The core functionality lives in a single large namespace, with additional experimental namespaces for byte manipulation, statistics, signal handling, and timers. It is designed to be embedded in other libraries and applications, not run standalone. The architecture is modular at the namespace level: `taoensso.encore` is the core grab-bag, while `taoensso.encore.bytes`, `taoensso.encore.stats`, `taoensso.encore.signals`, and `taoensso.encore.timers` provide focused, self-contained subsystems. A small Java class supplies high-performance NanoId/HexId generation. The code is heavily optimized for cross-platform behavior and performance, using reader conditionals, custom deftypes, CAS loops, and transient collections. It has a robust test suite and CI coverage for Clojure, ClojureScript, GraalVM, and Babashka. Although it contains statistical and byte-level utilities that could support data work, the repository is not a data pipeline or research project. There are no datasets, notebooks, or ETL flows. The stats module is a reusable library component, not an analytical schema. This is a dependency-first library with high reuse value for Clojure developers needing battle-tested utilities.

RATING: 9.2/10 MAINT: active DRIFT: low
▸ 6 reusable components found

PSFramework is a comprehensive, production-grade PowerShell framework providing reusable infrastructure for building robust PowerShell modules. It includes a centralized configuration system with validation, handlers, and persistence; a multi-provider logging and messaging system with asynchronous background processing; a managed runspace and workflow engine for parallel execution; a dynamic argument completion (tab expansion) system with auto-training; custom parameter classes and validation attributes; and various utilities for error handling, serialization, licensing, caching, and flow control. The framework is designed as a dependency for other modules, enabling consistent patterns for configuration, logging, and error management across an enterprise PowerShell ecosystem. It is a hybrid PowerShell/C# module with a compiled DLL backend for critical subsystems and extensive PowerShell scripts for initialization, providers, and internal logic.

RATING: 9.1/10 MAINT: active DRIFT: low
▸ 4 reusable components found
LeDDGroup/typescript-transform-paths ★ 496 31 APPLICATION

typescript-transform-paths is a TypeScript transformer plugin that resolves module specifiers using tsconfig path mappings and custom transformation rules. It operates during TypeScript compilation to rewrite import/export paths in emitted JavaScript and declaration files, supporting features like virtual directories (rootDirs), exclusion patterns, and type-only import elision. The architecture centers around a visitor pattern that traverses the AST, resolving module names via TypeScript's resolver and adjusting paths based on compiler options. Key entry points include the main transformer (src/transformer.ts) and an Nx adapter (src/plugins/nx.ts). The tool integrates with ts-patch, ts-node, or build systems to enable path transformation without requiring changes to source code.

RATING: 8.9/10 MAINT: maintained DRIFT: low
▸ 2 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
spatie/temporary-directory ★ 973 48 APPLICATION

The spatie/temporary-directory repository is a PHP library that provides a fluent interface for creating, managing, and cleaning up temporary directories. It allows developers to create temporary directories with optional custom names, locations, and permissions, and provides methods to resolve paths within the directory, empty its contents, and delete it entirely. The library also supports automatic cleanup when the TemporaryDirectory object is destroyed, reducing the risk of leaving temporary files behind. The architecture is centered around the TemporaryDirectory class in src/TemporaryDirectory.php, which encapsulates all functionality for temporary directory management. The class uses a fluent interface pattern, allowing method chaining for configuration. It handles edge cases such as trailing slashes in paths, invalid characters in directory names, and forceful recreation of existing directories. The deleteDirectory method includes a garbage collection call to mitigate file handle issues on Windows, demonstrating attention to cross-platform filesystem nuances. The project is actively maintained, with recent commits and regular updates to support new PHP versions. The codebase exhibits strong craftsmanship, with clear separation of concerns, proper error handling via custom exceptions, and adherence to modern PHP practices. While focused on a single responsibility, the library is highly reusable in any PHP 8+ project requiring temporary directory management, with no external dependencies beyond the PHP core.

RATING: 8.7/10 MAINT: active DRIFT: low
▸ 1 reusable components found
draftswithea/react-query-key-manager ★ 200 3 APPLICATION

react-query-key-manager is a small, dependency-free TypeScript library that provides type-safe, composable, and collision-free query key management for @tanstack/react-query. It exposes two main functions: `key()` wraps a function returning a query key array, augmenting it to support both direct invocation and zero-argument composition calls; `defineQueryKeys()` creates namespaced key collections with recursive nesting, compile-time validation that all functions are wrapped with `key()`, and runtime duplicate-registration detection in development. The library uses advanced TypeScript techniques (const type parameters, mapped types, conditional types) to enforce API usage at build time and to produce precise IntelliSense types. The code is concise (~60 lines of core logic), well-structured, and fully self-contained. It solves a common pain point in large React Query applications—preventing magic string keys, collisions, and poor type safety—through a clever combination of type-level constraints and runtime utilities. The design philosophy emphasizes zero overhead and copy-pasteability, making it easy to vendor into any project. It is framework-agnostic and works with TypeScript 5.0+ and React Query v4/v5. However, the library is in an early stage (version 0.0.2) and lacks a test suite. The registry and keyNames are module-level singletons, which could cause issues in extreme edge cases like multiple library copies, but for typical usage it is solid. Overall, it is a well-crafted utility that delivers on its promises with a clean, type-safe API.

RATING: 8.5/10 MAINT: active DRIFT: low
▸ 1 reusable components found
wroberts/pytimeparse ★ 299 45 APPLICATION

This repository provides a Python library for parsing human-readable time expressions into seconds. The core functionality is implemented in the `timeparse` function, which accepts strings in various formats (e.g., '32m', '2h32m', '1w3d2h32m', '4:13:02', '2 days, 4:13:02') and returns the equivalent duration in seconds as an integer or float. The library handles optional signs, fractional values, and ambiguous colon-separated values via a granularity parameter. It has no external dependencies and is designed for simplicity and reliability. The library is structured as a single module with a clear public interface. The implementation uses a series of regular expressions to match different time formats and converts the matched components to seconds using predefined multipliers. The code is well-tested with a comprehensive test suite that covers the various input formats and edge cases. Despite its simplicity, the library demonstrates careful attention to detail in handling the complexities of time expression parsing, such as supporting both written and abbreviated units, handling spaces and commas as separators, and providing control over the interpretation of colon-separated values.

RATING: 8.4/10 MAINT: active DRIFT: low
▸ 1 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
knicklabs/lorem-ipsum.js ★ 294 42 APPLICATION

Lorem Ipsum.js is a JavaScript library that generates placeholder lorem ipsum text for use in web development, design mockups, and other applications requiring dummy text. It provides both a programmatic API and a command-line interface, supporting output in plain text or HTML formats with configurable parameters for word, sentence, and paragraph counts. The library is designed to work across multiple JavaScript environments including Node.js, web browsers, and React Native. The architecture follows a modular structure with clear separation of concerns: core text generation logic resides in lib/, utility functions in util/, constants in constants/, and the CLI interface in bin/. The main entry point exports a loremIpsum() function that accepts configuration options and delegates to specialized classes for generation and formatting. The system handles platform-specific details like line endings and clipboard operations through environment detection utilities. Key features include robust input validation, cross-platform compatibility, customizable word lists and length bounds, and proper error handling. The library implements defensive programming practices with comprehensive type safety via TypeScript, extensive unit testing, and attention to edge cases such as unsupported platforms or invalid parameters. The CLI tool offers additional functionality like copying generated text to the system clipboard.

RATING: 8.2/10 MAINT: active DRIFT: low
▸ 3 reusable components found
ChapelR/custom-macros-for-sugarcube-2 ★ 204 43 APPLICATION

This repository is a collection of custom macros and systems for Twine/SugarCube 2, a popular interactive fiction authoring tool. It provides reusable components that extend SugarCube 2's functionality, including inventory systems, timekeeping cycles, dialog boxes, notifications, meters, speech boxes, event handling, and various UI enhancements. The architecture consists of individual JavaScript files implementing specific macro systems, with a build process that minifies them for production use. The macros interact with SugarCube 2's state and DOM APIs to modify story behavior and presentation. Key entry points are the macro definitions themselves, which users include in their Twine story's JavaScript section. The system demonstrates solid engineering practices with well-encapsulated components, proper event handling, and thoughtful API design.

RATING: 7.9/10 MAINT: maintained DRIFT: low
▸ 4 reusable components found
mailgun/holster ★ 297 33 APPLICATION

Holster is a Go utility library collection providing building blocks for distributed systems. It offers deterministic time control for testing, leader election implementations (etcd-based and Raft-inspired), enhanced error handling with context and stack traces, service discovery (Consul, DNS SRV), OpenTelemetry tracing, caching mechanisms (LRU, TTL, ExpireCache), retry utilities, HTTP request signing, gRPC connection pooling, and MX record resolution. Designed as drop-in replacements for standard library components with enhanced functionality, it focuses on solving common infrastructure challenges in microservices architectures. The library maintains a clear separation of concerns with each package addressing a specific cross-cutting concern.

RATING: 7.6/10 MAINT: active DRIFT: medium
▸ 5 reusable components found
lukasmasuch/best-of-python ★ 4592 342 DATA_RESEARCH

This repository is the data source and historical archive for the 'best-of-python' curated list of open-source Python projects. It contains a central YAML configuration file (projects.yaml) that defines categories, projects, and metadata (GitHub IDs, PyPI IDs, descriptions, labels). The history/ directory holds weekly CSV snapshots of project metrics (stars, forks, downloads, issue counts, release info, computed ranks) dating from 2021 to mid-2026. The actual generation of the ranked markdown list is performed by an external tool (best-of-generator), which reads the YAML and CSV data and produces the README. The repository itself is not a runnable application or pipeline; it is a structured dataset with a consistent schema for tracking Python ecosystem project popularity and health over time. It serves as a reference for anyone wanting to analyze trends in Python open-source projects or reuse the categorization and ranking methodology for other ecosystems.

RATING: 7.3/10 REPRO: 7.0/10 MAINT: active DRIFT: low
▸ 1 reusable components found
seppius-xbmc-repo/ru ★ 200 151 APPLICATION

This repository is a collection of Kodi/XBMC addons focused on media streaming, playback, and extended functionality. It contains numerous plugin.video.* and plugin.audio.* addons that scrape or API-fetch content from various online sources (e.g., MEGOGO.NET, Kinozal.tv, YouTube, torrent sites) and integrate with Kodi's media player. The repository also includes utility modules for HTML parsing (html5lib, BeautifulSoup), JSON handling (simplejson), downloading, caching, and framework components (xbmcswift2). The architecture is a collection of largely independent addons, each with its own default.py entry point, shared libraries, and resource files. Data flows involve fetching metadata from external sources, parsing it into Kodi-compatible formats, and passing media URLs to Kodi's player. External dependencies include Kodi/XBMC APIs, vendored Python libraries (html5lib, beautifulsoup4, simplejson), and external web services/APIs.

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