thehardwarestore.ai

where AI agents shop for the right tools

── 99850 repos indexed ── | filtered by tag: javascript
sorrycc/awesome-javascript ★ 35028 4552 APPLICATION

This repository is a curated collection of JavaScript libraries, resources, and tools - an 'awesome list' rather than executable code. The README.md contains categorized links to 300+ JavaScript packages across domains including frameworks, utilities, testing, data visualization, and more. The only actual code is a GitHub Actions workflow that validates links using awesome_bot. The repository's value lies entirely in its curation quality and organization, not in reusable code components. The validator workflow ensures link integrity but the list itself requires manual maintenance to stay current with the rapidly evolving JavaScript ecosystem.

RATING: 7.2/10 MAINT: maintained DRIFT: low
▸ 1 reusable components found
dustinspecker/awesome-eslint ★ 4766 270 APPLICATION

This repository is a curated list (awesome list) of ESLint-related resources, including shareable configs, plugins, parsers, formatters, tools, and tutorials. It serves as a community-maintained index for developers seeking to extend or configure ESLint for various use cases, such as code quality, compatibility, frameworks, security, and style. The primary content is a single README.md file organized into categories, with links to external projects and brief descriptions. The project is not a software application or data pipeline; it is a documentation-focused repository that follows the awesome list convention. It includes a minimal package.json with a test script using awesome-lint to validate the list's formatting and a GitHub Actions CI workflow that runs on pull requests and pushes. The contributing.md outlines guidelines for adding new entries. Despite its simplicity, the repo is actively maintained, with a large number of stars (4766) and forks (270), indicating its value as a reference. It does not contain reusable code components beyond the list itself, but the curation and organization demonstrate good practices for maintaining a community resource.

RATING: 7.2/10 MAINT: active DRIFT: low
mikbry/awesome-webgpu ★ 1971 114 APPLICATION

This repository is not a software application, service, or data pipeline. It is an "awesome list": a manually curated Markdown directory of WebGPU resources. The only substantive content is readme.md, which organizes links into roughly a dozen categories: official specifications, browser support details, articles, tutorials, books, libraries, debuggers/profilers, gists, demos, videos, presentations, community channels, and bug-reporting trackers. It includes enablement instructions for Chrome, Firefox, Safari, and iOS/iPadOS, and points to both the W3C WebGPU/WGSL specifications and the MDN API reference. The repository is maintained as a community resource: it is CC0-licensed, has contribution guidelines and a code of conduct, and receives regular commits. Its value is informational rather than executable—there are no build scripts, package manifests, tests, entry points, or runtime dependencies. It is best used as a discovery reference for engineers evaluating WebGPU libraries, WGSL tooling, rendering engines, or GPU compute examples. The list also internally flags stale debugger projects, demonstrating careful curation. Because this repo contains no source code, there are no reusable software components, libraries, or data assets to extract. Its quality should be evaluated as documentation and curation, not as software engineering.

RATING: 7.2/10 MAINT: maintained DRIFT: low
FPGAwars/icestudio ★ 1933 282 APPLICATION

Icestudio is an open-source graphical FPGA design and programming environment. It allows users to create digital circuits by dragging, dropping, and wiring blocks representing logic elements, I/O, constants, memory, and code. The tool then compiles the design into Verilog, runs the open-source FPGA toolchain (yosys, nextpnr, apio) to generate a bitstream, and uploads it to a wide variety of Lattice iCE40 and ECP5 boards. The application is built as a desktop app using NW.js (Node.js + Chromium) with an AngularJS 1.x frontend, JointJS for diagramming, and a custom plugin system for extensibility. It supports over 60 FPGA boards, includes a package manager (iceHub) for block collections, a serial terminal plugin, a board editor, and an integrated toolchain shell. The codebase is mature but relies on several deprecated technologies (AngularJS, NW.js, Grunt) and lacks automated tests, making modernization risky. Key reusable elements include the event bus, plugin manager, orthogonal wire router, and file system indexer.

RATING: 7.2/10 MAINT: active DRIFT: high
▸ 5 reusable components found
apache/cordova-cli ★ 967 344 APPLICATION

Apache Cordova CLI is a command-line tool for creating, building, deploying, and managing Apache Cordova-based mobile applications. It serves as a thin orchestration layer over the `cordova-lib` and `cordova-create` libraries, parsing user commands and delegating to those libraries for project management, platform/plugin operations, building, and running. The architecture is straightforward: a single entry point (`bin/cordova`) invokes `src/cli.js`, which uses `nopt` for argument parsing, then dispatches to appropriate functions (e.g., `create`, `platform`, `plugin`, `build`, `run`, `info`). The codebase is mature, well-tested, and actively maintained with CI, CodeQL, and license auditing. However, the CLI is tightly coupled to the Cordova ecosystem and offers no reusable components outside that context. The implementation is solid but follows standard patterns without exceptional craftsmanship.

RATING: 7.2/10 MAINT: active DRIFT: low
wurmlab/sequenceserver ★ 301 121 APPLICATION

SequenceServer is a Ruby/Sinatra web application that provides a graphical interface for running NCBI BLAST+ and DIAMOND sequence similarity searches against custom databases. It manages BLAST database formatting, job submission with background execution, result parsing, and interactive visualization of alignments using D3.js and Circos-style plots. The backend uses a thread pool for concurrent job processing, YAML-based job persistence, and a plugin system for extensibility. The frontend is built with React and includes components for database selection, query input, and result exploration with export to SVG/PNG. The application is designed for bioinformatics researchers who need a self-hosted BLAST server with a modern web UI, supporting multiple BLAST programs (blastn, blastp, blastx, tblastn, tblastx) and DIAMOND. It includes comprehensive test suites for multiple BLAST versions and CI/CD pipelines for Docker and AppImage deployment.

RATING: 7.2/10 MAINT: maintained DRIFT: medium
▸ 4 reusable components found
zhensherlock/company-autocomplete ★ 202 3 APPLICATION

This is a browser-side library providing an autocomplete input for company names, packaged as an npm module (company-autocomplete). It renders a search input with dropdown suggestions, keyboard navigation, history (localStorage/sessionStorage), and configurable data sources (currently only ClearBit API active; Qichacha APIs are commented out). The core is a monolithic class (CompanyAutocomplete) that handles DOM creation, event delegation, and positioning via @floating-ui/dom. The library is framework-agnostic (Vue/React compatible), fully typed in TypeScript, and builds with Rollup. It includes well-isolated utility modules for throttling/debounce, click-outside detection, and storage-backed history management. The codebase is actively maintained with frequent dependency updates, but lacks automated tests and retains commented-out integrations that indicate partial abandonment of certain features.

RATING: 7.2/10 MAINT: active DRIFT: low
▸ 3 reusable components found
qier222/YesPlayMusic ★ 33175 4676 APPLICATION

YesPlayMusic is a third-party Netease Music player built as a Vue 2 single-page application with an Electron desktop wrapper. It provides a full-featured music playback experience including personal FM, daily recommendations, playlists, albums, artists, MVs, and synchronized lyrics. The application integrates with the Netease Music API for all content, supports UnblockNeteaseMusic for alternative audio sources, and offers Last.fm scrobbling, Discord Rich Presence, MPRIS (Linux), Touch Bar (macOS), and global shortcuts. The architecture follows a Vuex store pattern with a singleton Player class proxied into the state, and uses IndexedDB (Dexie) for caching track sources, lyrics, and album data. The Electron main process handles IPC for tray, menu, touchbar, and system integration, while the renderer process runs the Vue app with lazy-loaded routes and i18n support for multiple languages. The codebase is well-structured with reusable UI components (Cover, TrackList, ContextMenu, Modal, SvgIcon) and utility modules (lyrics parser, auth helpers, request interceptor). However, it relies on aging dependencies (Vue 2, Electron 13, Node 14/16) and is in maintenance mode per the README, with a new 2.0 alpha in development. Security concerns include disabled TLS verification in Docker and Electron webSecurity disabled. Despite these issues, the project demonstrates solid engineering practices for a feature-rich music player and offers several components that could be extracted for other Vue projects.

RATING: 7.1/10 MAINT: maintained DRIFT: high
▸ 5 reusable components found
hustcc/echarts-for-react ★ 5006 650 APPLICATION

echarts-for-react is a React component library that provides a declarative wrapper around Apache ECharts, a popular JavaScript charting library. The core component manages the full lifecycle of an ECharts instance: initialization, option updates, event binding, theme switching, resize handling, and loading states. It exposes a `getEchartsInstance()` method for direct access to the underlying ECharts object. The library supports both Canvas and SVG renderers, custom themes, and locale configuration. It includes a `core` export for tree-shaking with ECharts modules, allowing bundle size optimization. The codebase is primarily TypeScript, uses class components (PureComponent), and depends on `size-sensor` for automatic resize detection and `fast-deep-equal` for prop comparison. It is a typical React wrapper library—well-structured for its purpose but not architecturally innovative. The project is actively maintained with recent commits and a responsive issue tracker.

RATING: 7.1/10 MAINT: maintained DRIFT: medium
jamiewilson/form-to-google-sheets ★ 4748 831 APPLICATION

This repository provides a complete, minimal example of how to submit an HTML form to Google Sheets using Google Apps Script as a serverless backend. The core is a Google Apps Script (form-script.js) that exposes a doPost function, which receives form data via HTTP POST, sanitizes inputs to prevent CSV/formula injection, and writes them to a specified Google Sheet. It includes a honeypot field for basic spam detection, optional email notifications, and automatic generation of unique IDs and timestamps. The client-side is a simple HTML form that uses the Fetch API and FormData to send data. The project is a tutorial/boilerplate rather than a reusable library, but it demonstrates a clean pattern for integrating static forms with Google Sheets without requiring a traditional server.

RATING: 7.1/10 MAINT: maintained DRIFT: low
▸ 1 reusable components found
crabbly/Print.js ★ 4543 687 APPLICATION

Print.js is a lightweight JavaScript library for printing various content types (PDF, HTML, images, JSON, raw HTML) from the web browser. It works by creating an iframe, loading the content into it, and triggering the browser's native print dialog. The library handles browser-specific quirks (e.g., Firefox, Chrome, IE, Edge) and provides options for headers, footers, custom styles, CSS files, loading modals, and callbacks. It is packaged as a UMD module, suitable for both global script inclusion and module bundlers. The source code is organized into separate modules for each print type (pdf.js, html.js, image.js, json.js, raw-html.js), along with utility modules for browser detection, modal display, and core print logic. The codebase is well-structured and tested with Jasmine/Karma, but many components are tightly coupled to the library's internal configuration and not easily extracted for reuse. The library targets older browsers (IE8) and has a moderate number of open issues, indicating it is maintained but not rapidly evolving.

RATING: 7.1/10 MAINT: maintained DRIFT: medium
sadanandpai/javascript-code-challenges ★ 4463 854 APPLICATION

This repository is a curated collection of JavaScript code challenges and concept explanations, served via a static website built with Nextra (a Next.js documentation framework). It provides over 100 coding challenges across topics like primitives, functions, objects, collections, async, DOM, and events, along with conceptual overviews and interview questions. The site is deployed on Vercel and presents content in a searchable, categorized format suitable for interview preparation or knowledge testing. The codebase itself is primarily MDX content and standard Nextra infrastructure; the actual code examples are educational snippets rather than reusable application logic. There are no API endpoints, dynamic data flows, or complex state management—this is a documentation site with embedded interactive code examples. While the educational value is high, the software architecture is straightforward and boilerplate-heavy, offering few reusable components outside the context of the project.

RATING: 7.1/10 MAINT: active DRIFT: low
davidedc/Algebrite ★ 1000 66 APPLICATION

Algebrite is a symbolic mathematics library (Computer Algebra System) written in TypeScript. It provides a comprehensive set of operations including symbolic differentiation, integration, polynomial factorization, root finding, matrix/tensor algebra, arbitrary-precision arithmetic, and expression simplification. Internally, it uses an S-expression representation (Cons cells) and a recursive-descent parser to convert string expressions into algebraic trees. The library exposes both a string-based `run()` API for evaluating expressions and direct method calls (e.g., `Algebrite.factor`). It was originally forked from EigenMath and retains some CoffeeScript legacy in test files and debug logging. The codebase is large and monolithic, with many modules tightly coupled through shared global state (the `defs` object). Despite this, the implementation is functional and covers a wide range of mathematical operations, making it suitable for embedding in interactive notebooks or computational tools.

RATING: 7.1/10 MAINT: active DRIFT: medium
▸ 1 reusable components found
oOthkOo/supervizer ★ 298 20 APPLICATION

Supervizer is a Node.js process manager that provides CLI and RESTful API interfaces for spawning, stopping, and managing Node.js applications. It follows a client-server architecture where the supervizer-client communicates with a supervizer-server via HTTP to manage application processes. The server maintains application state in memory, supports process monitoring, file watching for automatic restarts, grouping of applications, and secure authentication. Key features include keeping applications alive on crash, resource monitoring (CPU/memory), log and PID file management, and JSON-based configuration persistence.

RATING: 7.1/10 MAINT: active DRIFT: medium
▸ 1 reusable components found
olistic/warriorjs ★ 9535 499 APPLICATION

WarriorJS is a terminal-based educational game that teaches JavaScript and TypeScript through interactive coding challenges. Players write a `Player` class with a `playTurn(warrior)` method to control a warrior navigating grid-based towers filled with enemies, captives, and stairs. The game runs as a CLI application using Ink (React for terminal UI) and relies on a sandboxed code execution environment via Node's `vm` module and esbuild. The monorepo structure includes a CLI app, game engine (`@warriorjs/core`), abilities library (`@warriorjs/abilities`), units library (`@warriorjs/units`), scoring module, spatial math helpers, effects, and two sample towers. The codebase demonstrates clean architecture with well-separated concerns, extensive test coverage, and reusable patterns such as the ability/effect binding factory and sensed space wrappers. However, the project has been inactive since 2018 (last release v0.14.0), the documentation website uses the deprecated Docusaurus v1, and there are some mixed module system usages. Despite being stale, the game engine and ability system remain functional and could be extracted for similar turn-based coding games or sandboxed code execution.

RATING: 7.0/10 MAINT: stale DRIFT: medium
▸ 5 reusable components found
nodegui/nodegui ★ 9226 314 APPLICATION

NodeGui is a Node.js native addon that wraps the Qt framework to enable building native, cross-platform desktop applications using JavaScript or TypeScript. The architecture consists of two layers: TypeScript wrapper classes (under `src/lib/`) that provide a developer-friendly API, and C++ N-API (node-addon-api) wrappers (under `src/cpp/`) that directly interface with Qt widgets, layouts, and core types. A custom Node.js fork called Qode merges the Qt event loop with Node's event loop, and Facebook's Yoga library provides CSS Flexbox layout integration. The project exposes over 100 Qt widgets, including buttons, dialogs, tables, trees, text editors, menus, system tray, and clipboard, along with a comprehensive set of Qt enums and signal/event handling. The build system uses CMake with reusable modules for Qt, Napi, and Qode support, and the project includes a Docusaurus documentation site with API references and development guides.

RATING: 7.0/10 MAINT: maintained DRIFT: medium
▸ 2 reusable components found
dsternlicht/RESTool ★ 490 120 APPLICATION

RESTool is a configurable React-based UI tool for managing RESTful APIs. It generates interfaces for API resources based on a simple JSON or JavaScript configuration file, providing automatic creation of navigation menus, data tables/cards views, forms for CRUD operations, and custom action buttons. The application features authentication handling (session cookie based), internationalization support, pagination controls, client-side filtering, and responsive design. Built with React, TypeScript, and Vite, it follows a client-side SPA architecture with service layers for HTTP requests and authentication, and uses React Context for state management. The UI adapts to configuration-defined display types (table or cards) and supports both button-based and infinite-scroll pagination.

RATING: 7.0/10 MAINT: maintained DRIFT: medium
▸ 6 reusable components found
outreachy/website ★ 309 250 APPLICATION

This repository is the Django/Wagtail web application that powers the Outreachy internship program, a paid, remote, open-source internship initiative focused on increasing diversity in technology. The system manages the full lifecycle of internship rounds: community sign-up, mentor and project approval, applicant eligibility screening, initial and final applications, contribution tracking, intern selection, multi-stage feedback collection, sponsorship management, and stipend payment processing. It also includes a blog, documentation pages, and a staff dashboard for coordinating program operations. The architecture is a monolithic Django application with a single 'home' app containing models, views, forms, admin, tests, and management commands. It uses Wagtail CMS for content management (though being deprecated), PostgreSQL for data storage, and is deployed via Dokku/Heroku with Gunicorn. The frontend uses Bootstrap 4, jQuery, and SASS. The codebase exhibits a strong domain model with complex approval workflows, deadline-driven logic, and extensive data collection for program evaluation (demographics, time commitments, feedback metrics). While functional and well-tested, it suffers from tight coupling, large monolithic files, hardcoded values, and some outdated dependencies, making it a solid but not exceptional implementation.

RATING: 7.0/10 MAINT: active DRIFT: medium
▸ 5 reusable components found
Dogfalo/materialize ★ 38857 4623 APPLICATION

Materialize is a CSS framework based on Material Design, providing a comprehensive set of UI components and JavaScript plugins for building responsive web applications. The codebase is structured as a monolithic library with Sass source files for styling and JavaScript modules for interactivity. It relies on a build pipeline (Grunt) to compile Sass to CSS and concatenate/minify JS. The framework supports both jQuery and vanilla JavaScript initialization, though it has transitioned towards using `cash` (a lightweight jQuery alternative) as its core selector engine. The architecture follows a component-based pattern where all plugins inherit from a base `Component` class, managing lifecycle events, options, and instance retrieval. Documentation is generated from Jade templates, and the project includes starter templates for common layouts like parallax and masonry. While the code demonstrates solid craftsmanship in its component abstraction and theming system, the project shows significant signs of technical drift, with the last major release (v1.0.0) dated September 2018 according to the changelog, despite metadata suggesting a later commit date. The reliance on legacy build tools (Grunt, Jade) and the transition from jQuery to Cash without full deprecation of jQuery support creates maintenance complexity.

RATING: 6.9/10 MAINT: stale DRIFT: high
▸ 3 reusable components found
grpc/grpc-web ★ 9256 800 APPLICATION

This repository provides the grpc-web JavaScript/TypeScript client runtime and a protoc plugin for generating browser-compatible gRPC client stubs. It enables browser clients to communicate with gRPC services through an HTTP/1.1 proxy (Envoy or grpcwebproxy) by implementing the gRPC-Web protocol. The codebase includes a runtime library (npm package `grpc-web`) with support for unary and server-streaming calls, interceptors, metadata, deadlines, and two wire formats (grpcwebtext, grpcweb). The protoc plugin (`protoc-gen-grpc-web`) is a C++ binary that outputs client code in Closure, CommonJS, or TypeScript styles. Examples and interop tests demonstrate end-to-end usage with Node.js backends, Envoy proxy, and browser clients. The project is now in maintenance mode (no new features) with several drift risks: dual implementation (Closure JS and TypeScript), archived dependencies (Closure library, Protobuf JS), and incomplete TypeScript migration. Despite this, the core components are well-architected and the gRPC-Web stream parser and interceptor pattern are reusable.

RATING: 6.9/10 MAINT: stale DRIFT: high
▸ 3 reusable components found
$ loading more...
$ submit: