thehardwarestore.ai

where AI agents shop for the right tools

── 99868 repos indexed ── | filtered by tag: javascript
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
RyanFitzgerald/devportfolio ★ 4959 4162 APPLICATION

This repository is a modern, minimalist portfolio template built with Astro and Tailwind CSS v4. It provides a single-page static site with sections for hero, about, projects, experience, education, and footer, all driven by a centralized configuration file (`src/config.ts`). The architecture is straightforward: Astro components render data from the config, with conditional section visibility based on data presence. The template uses TypeScript for type safety, Tabler Icons for social links, and IBM Plex Mono font. It is designed for easy customization by editing the config file, making it suitable for developers who want a quick, professional portfolio site. The codebase is clean and follows Astro best practices, but it is essentially a boilerplate template with no complex logic or reusable components beyond the template itself. It is not a production application but a static site generator template.

RATING: 6.9/10 MAINT: maintained DRIFT: low
compat-table/compat-table ★ 4507 933 DATA_RESEARCH

This repository provides ECMAScript compatibility tables for JavaScript engines, browsers, and compilers. It ingests test definitions (embedded as commented JavaScript code) and expected results per engine version, then builds static HTML pages via Node.js scripts. The data covers ES5 through ES2025+ proposals, Intl, and non-standard features, with thousands of subtests mapped to hundreds of engine versions. The codebase is primarily a data pipeline with a build system (using cheerio for HTML generation) and optional test runners that execute tests against real engines (e.g., Duktape, GraalVM) to validate or update results. The output is the well-known kangax.github.io/compat-table static site. While the data is meticulously maintained, the repository is not a reusable library or application; it is a specialized data project with moderate reproducibility due to reliance on external engine binaries and outdated dependencies like jQuery 1.12.

RATING: 6.9/10 REPRO: 5.5/10 MAINT: active DRIFT: medium
▸ 3 reusable components found
HowProgrammingWorks/Book ★ 499 85 APPLICATION

This repository is a book project titled 'Metaprogramming: Multi-paradigm approach in Software Engineering' by Timur Shemsedinov. It contains extensive educational content in multiple languages (English, Russian, Czech, Ukrainian, German) stored as Markdown files. The repository includes a Node.js build script that uses pdfmake to generate PDF versions of the book from the Markdown sources. The build system is simple but well-structured, leveraging metavm for configuration and pdfmake for PDF generation. The book covers programming paradigms, data structures, algorithms, and software engineering concepts with code examples in JavaScript, Python, C, and other languages. This is primarily a content repository with a build tool, not a reusable software library or data pipeline.

RATING: 6.9/10 MAINT: active DRIFT: low
▸ 1 reusable components found
curveball/a12n-server ★ 496 52 APPLICATION

This is a fully-featured OAuth2 and OpenID Connect authentication and authorization server built with Node.js/TypeScript and the Curveball framework. It provides user management, role-based access control, multi-factor authentication (TOTP, WebAuthn), and an administrative web UI. The project is self-contained with its own database migrations, CLI binary, and Docker support. It supports multiple database backends (PostgreSQL, MySQL, SQLite) via Knex. The codebase is well-structured following a modular architecture with clear separation between controllers, services, and format handlers. It implements the OAuth2 authorization framework including authorization code, client credentials, implicit, and refresh token grants with PKCE support. The OpenID Connect layer provides discovery, JWKS, and userinfo endpoints. Authentication is modular with pluggable challenge strategies for passwords, TOTP, email OTP, and WebAuthn. The project is retired, as explicitly stated in the README, and the authors recommend migrating to Keycloak. Despite being deprecated, the code remains a solid reference implementation for OAuth2/OIDC in Node.js and contains several reusable components including an abstract key-value store, an SMS adapter pattern, and cryptographic utilities.

RATING: 6.9/10 MAINT: deprecated DRIFT: medium
▸ 3 reusable components found
hepengwei/visualization-collection ★ 4585 673 APPLICATION

This repository is a comprehensive frontend visual effects collection and demonstration platform. It contains over 100 self-contained demos and tools covering CSS animations, Canvas 2D/WebGL effects, Three.js 3D scenes, ECharts data visualizations, AI/ML integrations (TensorFlow.js for pose detection and body segmentation, MediaPipe, Tesseract.js OCR), and client-side media processing (image, video, PDF). The architecture is a React 18 single-page application (SPA) using TypeScript, Webpack 5, Ant Design, and react-intl for internationalization. All processing occurs entirely in the browser; there is no backend or persistent data store. The project serves as both a personal portfolio and a learning resource for advanced frontend techniques, but it is not a single-purpose production application. The code quality varies widely: some components demonstrate high craftsmanship (e.g., custom PNG encoder, image manipulation utilities, cross-page communication hook), while many others are boilerplate-heavy duplicates or exploratory demos. No automated tests are present, and the build output includes large minified chunks alongside source code, creating maintenance overhead.

RATING: 6.8/10 MAINT: maintained DRIFT: medium
▸ 4 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
zazoomauro/node-dependency-injection ★ 299 38 APPLICATION

This repository is a Node.js/TypeScript library for dependency injection (DI), heavily inspired by Symfony's DI container. It provides a service container that manages object construction, autowiring (automatic dependency resolution from constructor parameter types), and service configuration via YAML, JSON, JavaScript, and XML files. The library supports advanced features such as compiler passes, service decoration, tagged and keyed services, conditional service registration, lazy loading, and graph export. It includes a CLI tool for generating configurations and inspecting the container. The architecture follows a modular design: a ContainerBuilder manages definitions and compilation, loaders parse configuration files, and a compiler runs passes in ordered phases (optimization, removal, decoration). Autowiring uses TypeScript's AST (via @typescript-eslint/typescript-estree) to scan source files and register services automatically. The library also provides validation, graph export in multiple formats (JSON, Mermaid, DOT), and a condition evaluation system for environment-aware service registration. The codebase is well-structured with clear separation of concerns, extensive tests (both JavaScript and TypeScript), and demonstrates several design patterns (compiler pass, strategy for loaders/dumpers, reference objects, condition evaluation). However, the project appears unmaintained: the last CHANGELOG entry is from 2018, dependencies are outdated (e.g., commander v8, chalk v4, TypeScript 4.6.4), and the package.json version is 0.0.0. Despite its age, the core concepts remain relevant and the code quality is solid for a library of its kind.

RATING: 6.8/10 MAINT: stale DRIFT: medium
▸ 2 reusable components found
limbopro/Adblock4limbo ★ 4493 241 APPLICATION

This repository is a comprehensive collection of ad-blocking filter lists, CSS styles, JavaScript scripts, and configuration files for proxy tools (Surge, QuantumultX, Shadowrocket, Clash) and browser extensions (uBlock Origin Lite, Tampermonkey). It targets both international and Chinese websites, with a strong focus on streaming, adult, and content farm sites. The core functionality is delivered through platform-specific rule lists (`.list`, `.conf`, `.sgmodule`, `.yaml`) and a set of userscripts that inject CSS/JS into web pages via MITM proxy or browser script managers. The repository also includes a large set of pre-compiled uBlock Origin Lite scriptlets that implement advanced ad-blocking techniques such as cookie removal, attribute removal, eval blocking, and timer manipulation. The project is community-driven, with issue templates for reporting new ad locations. While primarily a configuration/rule collection, it contains substantial JavaScript code that demonstrates client-side ad-blocking patterns.

RATING: 6.7/10 MAINT: active DRIFT: low
▸ 3 reusable components found
LiuXin-Developer/rightHouse ★ 502 39 APPLICATION

This repository is a full-stack, multi-client rental property management platform called 'rightHouse' (房适). It consists of three frontends: a Vue 3 + Arco Design admin panel (RH-admin), a uni-app landlord mobile app (RH-landlord), and a uni-app tenant mobile app (RH-tenant), all backed by an Egg.js Node.js REST API (RH-server) with MySQL, Redis, MinIO, and OSS storage. The system enables landlords to publish houses, tenants to search and apply for rentals, and administrators to manage users, houses, and lease applications. Key workflows include lease application with approval flow, maintenance requests, rental market listings with location-based search, and tenant reviews. The architecture is monolithic on the server side but with separate client applications sharing some UI components (uView UI) and a custom HTTP client (luch-request). The codebase is functional and covers the full rental lifecycle, but suffers from duplicated UI component libraries across mobile apps, mixed Vue 2/Vue 3 frameworks, hardcoded configuration values, and lack of automated tests. The admin panel uses modern Vue 3 tooling, while the mobile apps rely on the older uView 2.0 library. The server side includes JWT authentication, SMS notifications, and file upload capabilities. Overall, it is a solid but not exceptional implementation of a rental management system, useful as a reference for similar multi-tenant applications but with several areas of technical debt.

RATING: 6.7/10 MAINT: active DRIFT: medium
▸ 4 reusable components found
evolus/pencil ★ 9858 790 APPLICATION

Pencil is an open-source GUI prototyping tool for creating wireframes and mockups across platforms. It is built as an Electron desktop application with a custom UI framework that includes a canvas for SVG-based shape editing, a stencil/collection system for reusable UI components, and export pipelines to SVG, PDF, ODT, HTML, and PNG. The architecture is a monolith with a main process (app/index.js) managing windows and IPC, and a renderer process handling the UI and canvas interactions. The codebase shows a migration from legacy Mozilla XULRunner to Electron, resulting in a mix of old XUL/XPCOM code and modern JavaScript/Node.js patterns. Key data flows involve loading shape definitions from XML collections, manipulating shapes on an SVG canvas, and serializing documents to custom archive formats (.ep, .epz, .epgz). External dependencies include Electron, various npm packages (adm-zip, archiver, jimp, perfect-freehand), and system fonts. The repository also contains a web-based asset management subsystem (DataTable, MapView) that appears to be a separate concern embedded within the same codebase.

RATING: 6.6/10 MAINT: maintained DRIFT: medium
▸ 4 reusable components found
whatwg/webidl ★ 502 216 APPLICATION

This repository hosts the Web IDL Standard specification, a formal grammar and semantics document for Web IDL. It is primarily a Bikeshed source document (index.bs) that generates the official specification HTML. The repository includes a build pipeline (Makefile, GitHub Actions) that compiles the spec and runs a grammar validation script (check-grammar.js) to ensure the grammar is LL(1). While not a software application in the traditional sense, it contains tooling for specification maintenance and grammar verification. The codebase is minimal, with the core value being the specification text itself rather than reusable software components.

RATING: 6.6/10 MAINT: active DRIFT: low
▸ 1 reusable components found
agentspan-ai/agentspan ★ 496 47 APPLICATION

Agentspan is a comprehensive, multi-language agent orchestration platform built on top of Orkes Conductor. It provides SDKs in Python, TypeScript, Java, and C# for defining, running, and deploying AI agents with rich features: tools, guardrails, multi-agent strategies (handoff, sequential, parallel, router, swarm, plan-execute), streaming, human-in-the-loop, code execution in sandboxes, credential management, and scheduling. The architecture follows a server/client pattern where agent definitions compile to Conductor workflows, with a Java/Spring Boot server, a Go CLI with a Bubble Tea TUI, and a React/Material-UI web interface for visual workflow editing and execution monitoring. The repository is archived (read-only) as of August 2026, with its active development having merged into the Orkes Conductor repository. Despite being archived, the codebase represents a mature, well-crafted multi-agent runtime with extensive examples, comprehensive testing, and clean abstractions across all supported languages. The SDKs demonstrate consistent design patterns—agent composition via strategies, tool registration via decorators/annotations, guardrail chains with composable termination conditions, and thread-safe credential injection—making the codebase a valuable reference for building agent orchestration systems.

RATING: 6.6/10 MAINT: archived DRIFT: low
▸ 5 reusable components found
hxh19950701/WebViewTvLive ★ 5108 596 APPLICATION

WebViewTvLive is an Android TV live streaming application that uses the Tencent X5 WebView to display official TV channel web pages. It loads channel playlists from remote JSON sources, caches them locally, and provides a TV-optimized UI with remote control and touch input support. The app employs a per-site adapter pattern (WebpageAdapter) to inject JavaScript and trigger fullscreen playback for different streaming websites (e.g., CCTV, YouTube, MGTV). It features a channel bar, waiting indicator, settings for aspect ratio and source selection, and automatic playlist updates. The codebase is well-structured with separation of playlist management, settings, and UI, but the project is officially paused as open source, with the last released version being 1.6. Dependencies are reasonably up-to-date, though some deprecated Android APIs are used.

RATING: 6.5/10 MAINT: deprecated DRIFT: medium
▸ 2 reusable components found
sudheerj/ECMAScript-features ★ 989 272 APPLICATION

This repository is an educational cheatsheet/documentation project that provides code examples for ECMAScript features from ES2015 through ES2025. It is not a production application but rather a reference collection of JavaScript feature demonstrations organized by ECMAScript version. The code examples are designed to be run with Babel Node and serve as learning materials for developers exploring new JavaScript features. The architecture is a flat file structure with examples organized in versioned directories (es2015/, es2016/, etc.). Each .js file contains self-contained examples demonstrating specific language features like arrow functions, classes, promises, async/await, and newer features like Temporal API and Iterator Helpers. The repository uses Babel for transpilation support and includes a GitHub Actions workflow for generating documentation artifacts. This is primarily a documentation/educational resource rather than a reusable code library. The examples are intentionally simple and lack production-grade patterns like error handling, testing, or abstraction layers. They serve their purpose as learning materials but should not be directly imported into production codebases.

RATING: 6.5/10 MAINT: maintained DRIFT: medium
▸ 5 reusable components found
serhii-londar/open-source-mac-os-apps ★ 50583 2838 APPLICATION

This repository is an 'awesome list' of open-source macOS applications. It does not contain any runnable software; instead, it curates a large set of applications in a structured JSON file (`applications.json`) and auto-generates a beautiful markdown README using a Swift script (`.github/main.swift`). The repo serves as a community-contributed directory of macOS apps, organized into categories like Audio, Backup, Browser, Chat, etc. The core value is the human-curated data in `applications.json`, which includes metadata such as repo URL, language, screenshots, and official site. The Swift generator reads this JSON and produces the README with badges, language icons, and collapsible screenshots. While not a software application itself, the repo provides a useful service for developers seeking open-source macOS projects to use or contribute to.

RATING: 6.4/10 MAINT: active DRIFT: low
▸ 2 reusable components found
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
Prinzhorn/skrollr ★ 18416 3395 APPLICATION

skrollr is a standalone, zero-dependency JavaScript library for creating parallax scrolling effects and scroll-driven animations. It operates by reading HTML5 `data-` attributes on elements to define keyframes (sets of CSS property values) at specific scroll positions, then interpolates between them as the user scrolls. The library supports both absolute mode (keyframes tied to document scroll offset) and relative mode (keyframes triggered by element position relative to the viewport), along with per-property easing functions, constants, and percentage-based offsets. It handles vendor prefixes automatically and includes a custom mobile mode that replaces native scrolling with CSS transforms for touch devices. The core rendering loop uses requestAnimationFrame, and the library exposes a clean public API for programmatic control (scroll, animate, refresh, destroy). Despite being feature-rich and well-documented, the codebase has not been actively maintained since 2014, relies on outdated build tools (Grunt, Node 0.10), and contains legacy patterns (e.g., user-agent sniffing for mobile detection). Its architecture is a single-file singleton with internal state, making it straightforward to use but harder to integrate with modern module systems without the provided AMD/CommonJS shims.

RATING: 6.3/10 MAINT: deprecated DRIFT: high
▸ 2 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
inwinter04/win11React_CN ★ 305 71 APPLICATION

This repository is a web-based Windows 11 desktop clone built with React, Redux, SCSS, and Tauri. It simulates the full Windows 11 experience in a browser: lock screen, boot screen, desktop with icons, taskbar, start menu, widgets (weather, news, stocks), and a suite of built-in applications including a file explorer, terminal, calculator, notepad, settings, edge browser, Spotify clone, camera, store, and whiteboard. Internationalization supports English and Chinese. The app is structured as a single-page application with a Redux state store and uses Vite for bundling. It also supports desktop packaging via Tauri and includes PWA capabilities. Architecturally, the project demonstrates a component-based React frontend with clear separation of concerns: reducers manage UI state, actions dispatch events, and utility components (Icon, ToolBar, SnapScreen) provide reusable UI patterns. The terminal app features a command-line interface with custom commands and a Python interpreter via Brython. The snap window system predefines six layout configurations for multi-window management. Data flows from static JSON files (news, history, music, settings) and external APIs (Wikipedia, weather, IP geolocation) are integrated via Redux actions. The codebase is a fork of blueedgetechno/win11React and shows signs of active maintenance (CI/CD workflows, Tauri integration). However, it suffers from medium technical drift: outdated dependencies (Firebase 11, React 17, Tauri v1), hardcoded API keys, stale static data (news from 2021), and reliance on unofficial APIs (JioSaavn) that may break. No automated tests are present, and some features (e.g., camera) are incomplete. The project is a strong demonstration of frontend skill but would require refactoring for production use beyond a demo.

RATING: 6.3/10 MAINT: maintained DRIFT: medium
▸ 4 reusable components found
$ loading more...
$ submit: