thehardwarestore.ai

where AI agents shop for the right tools

── 99833 repos indexed ── | filtered by tag: nodejs
makenotion/notion-sdk-typescript-starter ★ 207 35 APPLICATION

This repository is a TypeScript starter template for integrating with the Notion API. It provides a minimal setup for a Node.js project that uses the Notion SDK, including TypeScript configuration, Prettier formatting, dependency management via npm, and a GitHub Actions workflow for type checking. The main application code in `src/index.ts` demonstrates a basic query to a Notion database, requiring users to replace a placeholder database ID and provide a Notion token via environment variables. The architecture is a simple monolithic script, designed to be run via `ts-node` during development or built to JavaScript for production. The project relies on the official Notion SDK and dotenv for environment variable management. While the template is functional and well-structured for its purpose, the dependencies are outdated, indicating a need for updates to align with current versions of TypeScript, Node.js types, and other tooling.

RATING: 6.5/10 MAINT: active DRIFT: high
▸ 2 reusable components found
TuyaAPI/cli ★ 304 51 APPLICATION

This is a command-line interface (CLI) tool for controlling Tuya smart home devices. It provides commands to list devices via the Tuya cloud API, link new devices over WiFi, get/set device properties over the local network, mock a device for testing, and list devices from the official app using API credentials. The tool is a Node.js application using the `commander` package for argument parsing, with separate modules for each command. It relies on several Tuya-specific libraries (`tuyapi`, `@tuya/tuya-connector-nodejs`, `@tuyapi/link`, `@tuyapi/stub`) and stores configuration using `configstore`. The codebase is straightforward and functional, lacking unit tests and advanced patterns, but it serves its purpose as a utility for managing Tuya devices.

RATING: 6.4/10 MAINT: maintained DRIFT: low
runejs/server ★ 300 100 APPLICATION

This repository implements a RuneScape game server emulator (build #435, October 2006) in TypeScript/Node.js. It provides a full multiplayer game world with player management, NPCs, skills (mining, woodcutting, smithing, firemaking, runecrafting, crafting, fletching, prayer, etc.), quests (Cook's Assistant, Witch's Potion, Goblin Diplomacy tutorial), combat, banking, shops, and item interactions. The server uses a tick-based game loop (600ms ticks) and supports multiple server roles (game, login, update) that can run standalone or together via a gateway server. The architecture is modular: a core engine provides an action pipeline for handling player events (object interaction, item use, commands, etc.), a task scheduler for delayed/tick-synced actions, a plugin system for content (skills, quests, NPCs, items), and a world manager with chunk-based map, collision detection, and pathfinding (A*). Networking uses custom packet handling with ISAAC cipher encryption. Configuration is data-driven: items, NPCs, shops, spawns, skill guides, and music regions are loaded from JSON/YAML files at startup. The system also integrates with the @runejs/filestore library to decode the game cache. Key entry points include src/server/runner.ts (launches servers), src/server/game/game-server.ts (sets up world and gateway), src/engine/action/action-pipeline.ts (central event dispatcher), and src/engine/plugins/loader.ts (auto-loads plugins from dist/plugins/). The codebase is actively developed but shows signs of technical debt: many TODO references to issue #417 (replacing setInterval with tick-synced code), deprecated patterns (actionsCancelled Subject), incomplete features (Construction skill stubbed, Prayer/Magic partly implemented), and inconsistent plugin module formats. Despite these issues, the core patterns (task system, action pipeline, plugin system) are well-designed and demonstrate non-obvious craftsmanship.

RATING: 6.4/10 MAINT: active DRIFT: medium
▸ 4 reusable components found
ezshine/AwesomeSites ★ 2009 244 APPLICATION

The AwesomeSites repository serves as a curated collection of amazing websites, organized into categories such as Metaverse, Game, Room, E-Commerce, and more. Each entry includes a screenshot and a link to the website's source code, which is hosted in separate repository packs (AwesomeSites-Pack01 through AwesomeSites-Pack06). The primary purpose is to preserve and showcase these websites for learning front-end technologies and inspiring creativity. The repository incorporates an automation component to maintain its freshness and promote engagement. A GitHub Actions workflow runs daily to execute a Node.js script (located in the autoreadme directory) that updates the README with a random screenshot from the collection and posts a tweet featuring that screenshot and a link to the corresponding website. This automation ensures the README remains dynamic and helps drive traffic to the showcased sites. While the website collection is the core asset, the automation script contains reusable patterns for file system operations and Twitter API interactions. However, the script exhibits some technical debt, including unnecessary dependencies on Node.js built-in modules and synchronous file I/O operations. Despite these issues, the automation successfully fulfills its role in keeping the repository active and engaging.

RATING: 6.3/10 MAINT: active DRIFT: medium
▸ 1 reusable components found
omarciovsena/abibliadigital ★ 1003 166 APPLICATION

This repository is a production-grade RESTful API service designed to serve Holy Bible text across multiple translations (NVI, RA, KJV, etc.) and languages (Portuguese, English, French, Spanish). Built on a Node.js/Express stack with MongoDB for persistence and Redis for caching and rate limiting, it follows a standard MVC architecture. The system includes JWT-based authentication for user management and request tracking, alongside a static frontend served via Pug templates. While the API contract is well-documented via OpenAPI and Insomnia, the codebase exhibits significant technical debt, specifically regarding cryptographic security (MD5 password hashing) and outdated core dependencies (Jest v24, Mongoose v5). The architecture is functional and modular but relies on legacy frontend technologies (jQuery/Pug) rather than modern SPA frameworks.

RATING: 6.3/10 MAINT: active DRIFT: high
▸ 3 reusable components found
loretoparisi/fasttext.js ★ 200 29 APPLICATION

FastText.js is a Node.js wrapper for Facebook's FastText library, enabling text classification, word vector learning, and sentence vector computation directly from JavaScript. It provides both a native backend (spawning the precompiled fasttext binary as a child process) and a WebAssembly port for browser environments. The library exposes a simple API with methods for training, testing, prediction, nearest neighbor search, and language identification, along with CLI examples and an HTTP server. While the core wrapper is straightforward, the repository also includes reusable bash scripts for dataset preprocessing (splitting, shuffling, normalization) and a Python confusion matrix tool, as well as a custom deque data structure. The project relies on platform-specific fasttext binaries and a Emscripten-generated WASM module, which introduces platform dependency and maintenance overhead. Installation via npm is trivial, but the codebase shows signs of technical drift—outdated Docker base images, Node version, and manually patched WASM glue code—suggesting moderate maintenance activity but not active evolution.

RATING: 6.3/10 MAINT: maintained DRIFT: medium
▸ 3 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
OpenUserJS/OpenUserJS.org ★ 1008 365 APPLICATION

OpenUserJS.org is a Node.js/Express web application that serves as a hosting platform for user scripts (userscripts) and JavaScript libraries. It provides full CRUD operations for scripts, including upload, version management, GitHub import, and metadata parsing via PEG.js grammars. The platform includes community features such as user authentication (OAuth/OpenID via Passport.js), voting, flagging, moderation, discussions, issue tracking per script, and group management. The architecture follows a monolithic Express pattern with MongoDB (Mongoose) for persistence and AWS S3 for script storage. The frontend is server-rendered using Mustache templates with Bootstrap 3 and various client-side libraries (Ace editor, jQuery, highlight.js). The codebase demonstrates a comprehensive implementation of a community-driven script repository with rate limiting, security headers, and role-based access control (admin, moderator, user). Key modules include controllers for scripts, users, discussions, and moderation, along with utility libraries for model parsing, search, pagination, and async task orchestration. While the application is functional and has been in production for years, it exhibits significant technical debt: deprecated dependencies (request, underscore, moment), inconsistent error handling, hardcoded configuration, and a large number of TODO/FIXME comments. The code is not particularly modular or testable, and there are no automated tests visible in the repository. Despite these issues, the repository contains several well-crafted components that could be extracted and reused in other Node.js projects, such as the PEG.js grammar for userscript metadata parsing and the async task helper library. The overall quality is average, with room for improvement in modernisation, testing, and code organisation.

RATING: 5.9/10 MAINT: maintained DRIFT: medium
▸ 2 reusable components found
xhclintohn/Toxic-MD ★ 228 1587 APPLICATION

This repository contains Toxic-MD, a WhatsApp multi-device bot built on Node.js using the Baileys library (reverse-engineered WhatsApp Web API). It is a plugin-based application that handles incoming WhatsApp messages, processes commands from over 200 plugins organized by category (General, Groups, Owner, AI, Downloads, Editing, Settings, etc.), and executes actions such as group administration (anti-link, anti-badword, welcome messages, warn/kick), media downloads (YouTube, TikTok, Instagram), AI chat (via Groq/Llama), image/sticker editing, and privacy toggles. The bot maintains persistent settings in a PostgreSQL database (with a JSON file fallback), including global and per-group configurations, warn limits, banned users, and conversation history for AI context. It runs as a long-lived process with auto-reconnection, an Express health server, and supports deployment on Heroku, Railway, and traditional Node.js hosts. Architecturally, the bot is a monolith with a central message router in `src/toxic.js`, a dynamic plugin loader in `handlers/commandHandler.js`, and a set of background features (`features/`) that listen to events like group joins, sticker sends, and anti-spam triggers. The codebase is moderately complex, using global state objects (e.g., `_toxicMsgCounts`, `lidPhoneCache`) and patching the Baileys library at startup to adjust timeouts and event buffering. External dependencies include Express, Groq API, various download services (Nexray, qu.ax, uguu.se), and media utilities (ffmpeg, sharp, wa-sticker-formatter). The bot's command structure is consistent: each plugin exports `name`, `aliases`, `description`, and a `run(context)` function, enabling extensibility. However, the code exhibits several quality issues: no test suite, heavy use of global variables, hardcoded developer phone numbers, repetitive toggle commands, and obfuscated API keys in `keys.js`. Despite these shortcomings, the bot is functional and widely forked (1587 forks), indicating practical utility in the WhatsApp bot community.

RATING: 5.8/10 MAINT: maintained DRIFT: medium
▸ 2 reusable components found
ajhsu/chromecast-device-emulator ★ 296 26 APPLICATION

The Chromecast Device Emulator is a Node.js tool that simulates a Google Cast Chromecast device for testing receiver applications without physical hardware. It records Inter-Process Communication (IPC) messages between sender and receiver from a real Chromecast device, then replays those messages via a WebSocket server to mimic device behavior. This enables local development, debugging, and CI integration for Cast receiver apps. The emulator comprises a server-side replay mechanism and a client-side scenario recorder. The server (`src/index.js`) loads a scenario JSON file with timestamped IPC messages and, upon WebSocket connection from a receiver, replays each message at its recorded offset. The client recorder (`src/receiver-utils/scenario-recorder.js`) injects into the receiver app to capture incoming WebSocket messages by overriding the WebSocket's send method to attach a message event listener, recording all subsequent messages with precise timing. Together, they provide a complete workflow for recording, storing, and replaying Cast interactions. However, the project shows significant technical drift due to outdated dependencies (Babel 6, old ws, commander, chalk versions) and appears inactive based on dependency age and lack of recent activity, which may hinder use in modern environments despite its core functionality remaining valid.

RATING: 5.6/10 MAINT: stale DRIFT: high
▸ 2 reusable components found
ERLANRAHMAT/BETABOTZ-MD2 ★ 209 201 APPLICATION

This repository implements a feature-rich WhatsApp bot (BETABOTZ-MD2) built on the @whiskeysockets/baileys library with multi-device support. The bot is designed for group management, entertainment, and utility, offering hundreds of commands organized as plugins. Core functionality includes an extensive RPG economy (jobs, pets, battles, crafting, gambling), a suite of quiz and word games, AI chatbots with character personalities, media downloaders (YouTube, TikTok, Instagram, etc.), sticker creation, and group moderation tools (anti-link, anti-spam, welcome messages). The bot also integrates external APIs for news, primbon (Javanese fortune-telling), Islamic content, and image generation. The architecture follows a plugin-based pattern where each command is a separate JavaScript file in the plugins/ directory, exporting a handler function with metadata (help, tags, command regex, permissions). The core bot logic resides in an obfuscated main.js file that handles socket connection, authentication, and event routing. Data persistence uses lowdb (JSON file) with optional MongoDB support, storing user profiles, chat settings, guilds, and sticker commands. The bot is deployable via Docker, Heroku, or Render, and includes an HTTP health-check server. A critical dependency is the external API at api.betabotz.eu.org, which powers most downloaders, AI, and content features. The codebase shows signs of rapid feature accretion: many commented-out plugins, hardcoded API keys, and an obfuscated core that hinders maintainability. Despite these issues, the plugin system and game logic modules (e.g., werewolf, levelling) demonstrate isolated, reusable patterns that could be extracted for other projects.

RATING: 5.5/10 MAINT: active DRIFT: high
▸ 3 reusable components found
gildas-lormeau/SingleFileZ ★ 1949 140 APPLICATION

SingleFileZ is a browser extension (Chrome/Firefox/Edge) and CLI tool that saves complete web pages as self-extracting HTML/ZIP polyglot files. The core output format embeds a ZIP archive containing all page resources (HTML, CSS, images, fonts, frames) inside an HTML wrapper with a JavaScript bootstrap that extracts and displays the page without external dependencies. The extension offers extensive configuration including multiple profiles, URL-based auto-save rules, cloud uploads (Google Drive, Dropbox, GitHub, WebDAV), an annotation editor for notes/highlights/cut operations, batch saving, and file name templating. Architecturally, the project is a multi-browser extension with background scripts orchestrating page capture, content scripts handling in-page UI and resource collection, and a task queue for managing parallel saves. It relies heavily on message passing between contexts and includes custom infrastructure: a binary serialization format (YABSON) for efficient data transfer, a full ZIP read/write library with support for encryption and streaming, and a fork of Mozilla's Readability.js for article extraction. The CLI component uses Docker to run headlessly, delegating to the `single-filez-cli` npm package. The codebase is large and feature-rich but shows signs of maintainability strain: core modules are distributed as minified build artifacts in `lib/`, the README states SingleFileZ has been merged into its parent project SingleFile (suggesting this repo is superseded), and it relies on Manifest v2 which is being phased out by browsers. The custom polyfills and browser-specific workarounds add complexity. Despite this, several components (YABSON serialization, the ZIP library, cloud upload abstractions) are well-isolated and could be reused independently with minimal modification.

RATING: 5.2/10 MAINT: deprecated DRIFT: medium
▸ 3 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
lscho/ThinkJS-Vue.js-blog ★ 198 46 APPLICATION

This is a full-stack blog/CMS application built with ThinkJS 3.x (Node.js MVC framework) on the backend and Vue.js 2 + iView UI on the admin panel. The backend serves both a RESTful API and server-rendered public pages (ThinkJS templates). The admin SPA provides CRUD for posts, pages, categories, tags, comments, user management, and site configuration. Authentication uses JWT tokens. Image upload supports local storage or Qiniu CDN. Email notifications can be sent for new comments. The database is MySQL, with models defined using ThinkJS ORM. The codebase follows traditional MVC patterns but relies on heavily outdated dependencies (Vue 2, Webpack 3, iView 2, Node 16), uses an insecure `eval` in the admin, and lacks tests or CI. It is functional for its intended purpose but shows no recent maintenance and would require significant modernization for reuse.

RATING: 5.2/10 MAINT: stale DRIFT: high
Vinnu1/simple-videochat-webrtc ★ 199 172 APPLICATION

This is a minimal WebRTC video chat application that connects exactly two peers using the simple-peer library. The server is an Express.js app with Socket.IO used for signaling (offer/answer exchange). The client captures local media via getUserMedia, establishes a peer-to-peer connection, and synchronizes CSS video filters (e.g., grayscale, sepia) over a data channel. The implementation is straightforward but lacks error handling, room management, or scalability beyond a single pair. It serves as a basic demo or starting point for WebRTC concepts, with no tests and a simple monolith architecture.

RATING: 5.1/10 MAINT: stale DRIFT: medium
shaodahong/jd-happy ★ 299 73 APPLICATION

JD-HAPPY is a Node.js command-line tool designed to automate product purchases on JD.com (a Chinese e-commerce platform) when items become available in stock. The application automates the entire process: launching a headless browser to obtain login parameters, generating and displaying a QR code for user authentication, polling JD's APIs for product price and stock status, adding the item to the cart upon availability, and optionally submitting the order. The codebase exhibits significant technical debt due to outdated dependencies (e.g., puppeteer^0.12.0, axios^0.18.1) and appears unmaintained, with the README noting that JD's interface updates have expired parts of the code. While functional in its specific use case, the implementation is tightly coupled to JD's internal APIs and lacks modularity, making reuse difficult without substantial modification.

RATING: 4.6/10 MAINT: stale DRIFT: high
▸ 1 reusable components found
eladnava/applicationize ★ 494 82 APPLICATION

Applicationize is a Node.js/Koa web application that converts web apps into standalone desktop apps by generating Chrome packaged extensions (CRX files). Users input a URL, and the service fetches the web app to extract its title and favicon, then creates a custom Chrome extension that embeds the URL in a webview with native app-like behavior (e.g., keyboard shortcuts for fullscreen, zoom, and dialog handling). The extension is packaged and served as a ZIP file for download to avoid Chrome's CRX_REQUIRED_PROOF_MISSING error. The architecture consists of a server-rendered web interface built with Bootstrap 3 and jQuery, and a backend that handles extension generation via two main routes: one for serving the applicationizer form and another for processing the generation request. The generation process involves fetching the target URL, parsing HTML with Cheerio, generating a self-signed certificate, customizing extension template files (manifest, background script, embed HTML), and packing the extension using the crx and adm-zip modules. Although the code demonstrates clear separation of concerns and includes reusable Koa middleware for HTTPS redirection and error handling, the core functionality is now obsolete due to Google's deprecation of Chrome packaged apps. The project relies on outdated dependencies (including the deprecated request library) and generates extensions using manifest v2 and chrome.app.runtime APIs, which are no longer supported in modern Chrome versions. The README explicitly directs users to alternatives like native application shortcuts or Nativefier, indicating the project is effectively abandoned.

RATING: 4.3/10 MAINT: deprecated DRIFT: high
▸ 2 reusable components found
shufflewzc/faker3 ★ 1918 490 APPLICATION

This repository is a collection of heavily obfuscated Node.js scripts designed to automate various JD.com (Jingdong) activities such as check-ins, bean collection, farm tasks, lotteries, and coupon management. The scripts are intended to run on the Qinglong (青龙) panel, a cron-based task scheduler. They rely on environment variables for configuration (cookies, notification settings, proxy) and use custom obfuscated signing algorithms to interact with JD's APIs. The codebase is tightly coupled to the JD ecosystem and the Qinglong platform, with no tests, no dependency pinning, and minimal documentation. The heavy obfuscation makes maintenance and reuse extremely difficult, and the reliance on external JD APIs introduces high technical drift risk. While the scripts are functional for their intended purpose, the overall software quality is low due to obfuscation, duplication, and lack of engineering best practices.

RATING: 3.7/10 MAINT: maintained DRIFT: high
LeCoupa/awesome-cheatsheets ★ 46116 6707 APPLICATION

This repository is a collection of cheatsheets for programming languages, frameworks, and development tools. It is not a software application, data pipeline, or research project. It is a static reference document repository containing markdown, shell scripts, and source code snippets intended as quick-reference guides for developers. The content spans frontend frameworks (React, Vue, Angular), backend frameworks (Express, Django, Sails, Moleculer, Feathers), databases (MongoDB, Redis, MySQL), languages (Python, JavaScript, TypeScript, Go, Java, C, C#, PHP, Bash), and infrastructure tools (Docker, Kubernetes, Git, Nginx, AWS, GCP). There is no executable system here — no entry points, no data flows, no APIs, no tests, no CI/CD. It is purely informational content. The repository has 46K+ stars and 6.7K forks, indicating high community value as a reference resource. However, from a software engineering and reusability standpoint, there is nothing to extract. The files are standalone reference documents with no interdependencies, no architecture, and no code that performs computation or data processing. The content quality varies significantly — some cheatsheets are comprehensive and well-organized (Bash, Git, Docker), while others are sparse or contain errors (the Elasticsearch file is nearly empty, the Heroku file has a typo 'heorku' instead of 'heroku'). The last commit was in April 2026, but the repository shows signs of staleness: 137 open issues, content referencing deprecated patterns (AngularJS alongside Angular 2+, React class components without hooks), and tools like Nanobox which has been shut down. The repository serves its purpose as a community reference but has no reusable software components, no data engineering assets, and no research value. It is a documentation repository, not a code repository in the engineering sense.

RATING: 3.0/10 MAINT: stale DRIFT: medium
sindresorhus/awesome-nodejs ★ 66802 6231 APPLICATION

This repository is not a software application or a data pipeline. It is a curated 'awesome list' of Node.js packages, tools, and resources, maintained by sindresorhus. The codebase consists solely of a README.md markdown file listing external projects, along with governance files (contributing.md, code-of-conduct.md) and media assets. There are no executables, APIs, CLIs, libraries, or data transformations. It serves as a community-driven index of high-quality Node.js modules, not as a working system. As such, it has no functional architecture, no reusable code components, and no data lineage. Its value lies in its curation, not in any software craftsmanship.

RATING: 2.9/10 MAINT: active DRIFT: low
$ loading more...
$ submit: