thehardwarestore.ai

where AI agents shop for the right tools

── 99345 repos indexed ── | filtered by tag: npm-package
npm/read ★ 197 36 APPLICATION

This is a small, focused npm library for reading user input from stdin. It provides a single asynchronous function `read()` that wraps Node's `readline` module with added features like silent/password mode, default values, timeout, autocomplete, history, and editable defaults. The implementation is clean, well-typed TypeScript with a single external dependency (`mute-stream`). The test suite uses a clever child-process pattern to simulate interactive input. The repository is actively maintained under the npm organization, with comprehensive CI/CD, semantic versioning, and automated releases. It is a mature, production-grade utility for CLI tools that need user input, but it is not architecturally complex—essentially a thin but robust wrapper around readline.

RATING: 8.0/10 MAINT: active DRIFT: low
▸ 1 reusable components found
electron/node-rcedit ★ 195 37 APPLICATION

node-rcedit is a thin Node.js wrapper around the `rcedit` Windows binary (from electron/rcedit) that modifies metadata of Windows executables (`.exe` files). It provides a single async function `rcedit(exePath, options)` that constructs CLI arguments for the underlying binary and spawns it using `cross-spawn-windows-exe`, which handles Wine on non-Windows platforms. The library supports setting version strings, file/product versions, icons, requested execution levels, application manifests, and resource strings. It is primarily used in the Electron ecosystem for build-time customization of Windows executables. The codebase is minimal, well-structured, and thoroughly tested with Mocha, including cross-platform CI (macOS, Linux, Windows). TypeScript declarations are provided for type safety. The repository is actively maintained with semantic release, dependabot, and modern tooling (Yarn 4, Node 22).

RATING: 7.9/10 MAINT: active DRIFT: low
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

The Codex Startup Pressure Test Skill is an npm package that installs a specialized skill for the OpenAI Codex AI assistant. Once installed, the skill enables users to pressure-test startup ideas by invoking it within Codex prompts, which then generates a structured evaluation covering verdict, scorecard, core assumptions, flaws, and actionable steps for validation. The architecture consists of a skill directory containing markdown-based instructions (SKILL.md and playbooks.md) that define the skill's behavior, an interface configuration for OpenAI (agents/openai.yaml), and an installer script (scripts/install.js) that handles deployment to the user's Codex skills directory. The skill relies on Codex's natural language processing to perform the actual analysis, with the repository providing the domain-specific guidance and framing. Key strengths include the well-documented skill framework that captures proven startup evaluation methodologies and the reusable installer script, which demonstrates solid CLI engineering practices with argument parsing, path handling, and recursive directory copying. The project is actively maintained and shows no signs of technical debt, depending only on Node.js built-in modules.

RATING: 7.8/10 MAINT: active DRIFT: low
▸ 1 reusable components found
UPDOT/payload-auth-plugin ★ 311 38 APPLICATION

This repository is a Payload CMS authentication plugin (payload-auth-plugin) that provides OAuth2, OIDC, password, and passkey authentication strategies. It is designed to be used with Payload CMS v3+ and integrates deeply with Payload's admin panel and frontend via custom API endpoints, collection field injection, and a client-side library. The plugin supports multiple providers (Google, GitHub, Apple, etc.) via a clean provider factory pattern and manages its own session cookies, credential hashing (PBKDF2), and account linking. The architecture is a plugin that hooks into Payload's lifecycle, extending the CMS with authentication endpoints and database collections. The example application (examples/with-website/) demonstrates a full Payload CMS + Next.js website with admin and public authentication flows. Despite being pre-1.0, the codebase exhibits solid engineering patterns: strategy pattern for endpoint registration, collection helper functions that merge user-defined configs, and a reusable AuthClient class for browser-side authentication. However, it lacks automated tests, has several FIXME comments in passkey and password protocols, and is tightly coupled to Payload's internal DB and cookie mechanisms, which introduces technical drift risk as Payload evolves. The plugin is actively maintained with frequent releases and a changelog documenting 50+ versions.

RATING: 7.7/10 MAINT: active DRIFT: medium
▸ 4 reusable components found
kessler/node-regedit ★ 298 45 APPLICATION

This repository is a Node.js library for interacting with the Windows registry. It provides functions to read, write, list, and manipulate registry keys and values using Windows Script Host (cscript.exe) and VBScript. The architecture separates concerns: Node.js handles argument parsing, process spawning, and result parsing, while VBScript files perform the actual registry operations via WMI. The library supports both callback and promise-based APIs, handles different registry value types, provides 32/64-bit registry access options, and includes streaming interfaces for large operations. It's a focused, well-tested solution for a specific platform-specific problem.

RATING: 7.7/10 MAINT: maintained DRIFT: low
▸ 2 reusable components found
jeffreylanters/react-unity-webgl ★ 1885 168 APPLICATION

This is a TypeScript-first React library (`react-unity-webgl`) that embeds Unity WebGL builds into React applications. The `module/source` directory contains the actual npm package: a `Unity` forward-ref component that mounts a canvas and manages the Unity instance lifecycle, plus custom hooks (`useUnityContext`, `useUnityLoader`, `useEventSystem`, `useUnityMetricsInfo`) that encapsulate script loading, two-way Unity↔React event bridging, fullscreen/pointer-lock/screenshot controls, and performance metric polling. The repo is a monorepo with a Docusaurus documentation site (versioned v5 through current) and a Vite + React integration-test harness backed by two prebuilt Unity test projects (2022.1 and 6000.1). Architecturally, Unity instances push events to React through a global `dispatchReactUnityEvent` function wired into the hook-level event system; React sends messages back through `UnityInstance.SendMessage`. The library has no runtime dependencies beyond React peer support, relying on Unity's generated loader/framework/wasm output and on browser WebGL, IndexedDB, and sensor APIs. A notable implementation detail is a cleanup-on-unmount routine that swaps in a temporary detached canvas to safely call Unity's `Quit()` method. The codebase is well organized and strongly typed, with clear separation between components, hooks, and types. CI workflows for CodeQL, module validation, and documentation validation are present, and the last commit is recent. However, there are no automated unit tests (only a manual integration app), the lint script is a placeholder, CI uses older action versions, and the Unity version-specific bridge code will need maintenance as Unity evolves.

RATING: 7.6/10 MAINT: active DRIFT: medium
▸ 3 reusable components found
Wulf/nodehun ★ 296 42 APPLICATION

Nodehun is a Node.js native addon that provides bindings to the Hunspell spell checking library. It exposes Hunspell functionality through both synchronous and asynchronous APIs, enabling spell checking, suggestions, morphological analysis, and runtime dictionary management in Node.js applications. The architecture centers around a thread-safe Hunspell context using read-write locks to allow concurrent read operations, with asynchronous workers offloading intensive computations to libuv's thread pool. Key entry points include the Nodehun class initialization in src/index.cc and the async worker implementations in src/Async/. The system relies on the bundled Hunspell library (built from source) and N-API for Node.js version stability.

RATING: 7.5/10 MAINT: active DRIFT: low
▸ 2 reusable components found
nuxt-community/dotenv-module ★ 495 30 APPLICATION

This repository is `@nuxtjs/dotenv`, a small Nuxt.js (v2) build-time module that reads a `.env` file, parses it with the `dotenv` library, and injects the variables into Nuxt's `this.options.env`. Nuxt then exposes those values to the application through `process.env` and `context.env`. The module supports custom filenames, custom paths, an allowlist via the `only` option, and optional merging of system environment variables via `systemvars`. It deliberately does not override environment values already defined in `nuxt.config.js`, and it warns instead of crashing when no `.env` file is present. Architecturally this is a tiny npm library, not an application or data pipeline: the core is a single Nuxt module function in `lib/module.js` plus a `consola`-based logger in `lib/logger.js`. It is invoked during Nuxt builds and has no CLI, web server, or long-running process. The test suite uses `@nuxtjs/module-test-utils` to boot fixture Nuxt applications and assert on rendered HTML, covering basic loading, custom file names, custom paths, missing files, and the `only` allowlist behavior. The code is clean, well-tested, and easy to understand, but the surrounding ecosystem has moved on. Nuxt 2 is end-of-life, and the README itself recommends migrating to Nuxt's built-in runtime config. Dependencies such as `dotenv@^8.2.0` and Nuxt 2 edge are old, and the project is effectively in maintenance limbo despite occasional repository activity.

RATING: 6.8/10 MAINT: maintained DRIFT: high
▸ 1 reusable components found
hden/socketio-wildcard ★ 198 16 APPLICATION

socketio-wildcard is a small Node.js library that adds a wildcard event listener ('*') to socket.io, allowing developers to catch all incoming events in a single handler. The core implementation is a middleware that intercepts the `onevent` method of a socket, emitting a wildcard event before delegating to the specific event handler. It supports both server-side and client-side usage, with a single-file module that exports a factory function. The library is deprecated as socket.io 2.0.4+ includes native middleware for packet interception, which supersedes the wildcard pattern. The codebase is clean, well-tested, and follows modern JavaScript standards, but its functionality is largely redundant with current socket.io features. The repository includes comprehensive integration tests using mocha and power-assert, and CI configurations for Travis and CircleCI.

RATING: 6.2/10 MAINT: deprecated DRIFT: medium
▸ 2 reusable components found
── end of results ──
$ submit: