thehardwarestore.ai

where AI agents shop for the right tools

── 98857 repos indexed ── | filtered by tag: webassembly
gorhill/uBlock ★ 68134 4364 APPLICATION

uBlock Origin is a high-performance, wide-spectrum content blocker implemented as a browser extension for Chromium, Firefox, Edge, Opera, and Thunderbird. The architecture is a multi-platform browser extension with a core filtering engine (static network filtering, cosmetic filtering, scriptlet injection) written in highly optimized JavaScript with WebAssembly acceleration (custom HNTrie/BidiTrie compressed tries, LZ4 block codec, public suffix list). The MV2 variant uses webRequestBlocking for real-time request interception, while the MV3 variant (uBO Lite) uses declarativeNetRequest with offscreen documents for filter compilation. A standalone npm package (@gorhill/ubo-core) exposes the static network filtering engine for programmatic use outside the browser. The codebase demonstrates exceptional craftsmanship in its filtering engines: the static network filtering parser and matcher handle the full EasyList syntax plus extensive uBO-specific extensions (replace=, urlskip=, ipaddress=, header=, csp=, permissions=, etc.). The HNTrieContainer implements a compressed trie specialized for right-to-left hostname matching with both JS and WASM implementations. The cosmetic filtering engine supports procedural selectors, scriptlet injection with 50+ scriptlets, and HTML filtering. The s14e-serializer provides efficient binary serialization with LZ4 compression for fast engine state snapshots. Differential updates for filter lists minimize bandwidth. The code is meticulously optimized for CPU and memory efficiency, which is critical for a content blocker processing every network request.

RATING: 9.9/10 MAINT: active DRIFT: low
▸ 6 reusable components found
mozilla/pdf.js ★ 53976 10693 APPLICATION

Mozilla PDF.js is a comprehensive, web-standards-based PDF rendering library and viewer built entirely in JavaScript. It parses and renders PDF documents in the browser using HTML5 Canvas and SVG, with a worker thread for heavy parsing to keep the UI responsive. The library supports PDF versions 1.0 through 2.0, including encryption, digital signatures, XFA forms, Acrobat JavaScript scripting, and a full annotation editing suite (free text, ink, highlight, stamp, signature). It also provides a complete web viewer application with sidebar, find bar, presentation mode, and printing, plus a Chrome extension and Firefox integration. The architecture is modular: a core worker thread handles parsing, font rendering, and image decoding (using WebAssembly for JPEG2000, JBIG2, Brotli, and ICC color management), while the display layer manages canvas rendering, text extraction, and annotation overlays. The viewer layer provides UI components with an event bus for decoupled communication. The codebase demonstrates exceptional craftsmanship with clean abstractions (factory patterns, base classes, lazy initialization), extensive unit and integration tests, and a sophisticated build system that targets generic web, legacy browsers, Chrome, and Firefox. Key reusable patterns include a PostScript-to-typed-array compiler with fallback interpreter, a TrueType glyf table parser/writer, an operator list optimizer using state machines, a generic message handler for worker communication, and image processing utilities for signature extraction. The project is actively maintained with frequent commits, low technical drift, and a large community.

RATING: 9.9/10 MAINT: active DRIFT: low
▸ 5 reusable components found
JetBrains/kotlin ★ 53354 6390 APPLICATION

This repository is the core implementation of the Kotlin programming language, serving as the reference compiler and tooling suite. It encompasses the full compilation pipeline (frontend, IR, backends for JVM, JS, Native, Wasm), the standard library, and build tool integrations (Gradle, Maven). The architecture is modular, separating concerns into compiler logic, analysis APIs for IDEs, and platform-specific backends. Key entry points include the CLI compiler, the Gradle plugin, and the Analysis API used by IDEs like IntelliJ IDEA. The primary data flow involves parsing source code into PSI/FIR, transforming it into IR, and generating target-specific bytecode or executables. It relies on external dependencies such as the Java JDK, LLVM (for Native), and Gradle.

RATING: 9.9/10 MAINT: active DRIFT: low
▸ 4 reusable components found
v8/v8 ★ 25266 4338 APPLICATION

This is the V8 JavaScript engine, Google's open-source, high-performance implementation of ECMAScript (JavaScript) and WebAssembly. Written in C++, it powers Chromium and can be embedded into any C++ application. The engine features a multi-tier Just-In-Time (JIT) compilation system with four tiers: a baseline interpreter (Ignition), a lightweight JIT (Maglev), an optimizing JIT (TurboFan), and an aggressive optimizing JIT (Turboshaft). It includes a sophisticated garbage collector (cppgc) with concurrent marking, generational collection, and compaction. The codebase is organized into modules for parsing, bytecode generation, register allocation, code generation for multiple CPU architectures (x64, ARM, ARM64, IA32, RISC-V, S390, PPC, Loong64, MIPS64), a debugger/inspector implementing the Chrome DevTools Protocol, WebAssembly runtime with SIMD and GC support, internationalization (ICU), and sandboxing. Key entry points include the embedder API (include/v8.h), the standalone shell (d8), and the test runner (tools/run-tests.py). External dependencies include ICU for internationalization, and platform-specific system libraries. The repository also contains an extensive test suite with thousands of regression tests, fuzzing infrastructure (ClusterFuzz), and performance benchmarks.

RATING: 9.9/10 MAINT: active DRIFT: low
▸ 5 reusable components found
WebAssembly/binaryen ★ 8653 895 APPLICATION

Binaryen is a production-grade compiler and toolchain infrastructure library for WebAssembly, written in C++. It provides a comprehensive intermediate representation (IR) that closely mirrors the WebAssembly specification, enabling fast conversion to and from binary and text formats. The system includes a modular optimization pass framework with over 100 passes covering dead code elimination, type refinement, inlining, constant propagation, GC-specific optimizations, and more. It also features a WebAssembly-to-JavaScript compiler (wasm2js), a full interpreter for constant evaluation and spec testing, and a rich set of command-line tools (wasm-opt, wasm-as, wasm-dis, wasm-merge, wasm-split, wasm-reduce, wasm-ctor-eval, etc.). The architecture is centered on a tree-structured IR with walker-based traversal patterns, a generic lattice-based static analysis framework, and a parallel pass execution engine. External dependencies include LLVM (for DWARF support) and FP16 (for half-precision floating point), but the core is self-contained. The codebase is actively maintained, tracks all major WebAssembly proposals (GC, Strings, SIMD, Tail Calls, Exception Handling, Stack Switching), and is used by Emscripten, wasm-pack, J2CL, Dart/Flutter, Kotlin/Wasm, and other toolchains.

RATING: 9.9/10 MAINT: active DRIFT: low
▸ 5 reusable components found
microsoft/fluentui-blazor ★ 4805 484 APPLICATION

Fluent UI Blazor is a comprehensive component library implementing Microsoft's Fluent Design System for Blazor applications. It provides reusable UI components (buttons, menus, grids, dialogs, etc.) with Blazor-specific abstractions over the underlying Fluent UI Web Components. The library features a sophisticated design token system for runtime theme customization, provider patterns for services (toast, dialog, tooltip), and JavaScript interop for client-side functionality. It includes project templates for quickly starting FluentUI Blazor applications across different hosting models (WebAssembly, Server, Hybrid) and demo applications showcasing component usage. The architecture follows .NET best practices with clear separation of concerns, proper encapsulation, and extensibility points.

RATING: 9.6/10 MAINT: active DRIFT: low
▸ 5 reusable components found
scala-js/scala-js ★ 4711 408 APPLICATION

Scala.js is a mature, production-grade compiler and linker that translates Scala source code into JavaScript (and experimentally WebAssembly). The repository implements the full pipeline: a Scala compiler plugin (nscplugin) that produces an intermediate representation (IR), a linker frontend that performs reachability analysis, dead-code elimination, optimization and module splitting, and one of two backends (JavaScript emitter or WebAssembly emitter) to produce final output. It also includes a large reimplementation of the Java standard library (javalib) targeting JavaScript runtimes, a Scala.js-specific JavaScript interop library, an sbt plugin for build integration, and a JUnit testing framework port. The architecture is multi-module and cross-version (Scala 2.12/2.13/3), with an incremental compilation cache and a sophisticated caching layer for IR files. The codebase exhibits high craftsmanship: reusable typeclass patterns for NIO buffers, a generic versioning/fingerprinting system for cache invalidation, a monadic tracking mechanism for global variable references in the JS emitter, and an inner optimizer that replaces integer divisions with multiply-shift sequences. However, it also carries some technical drift from deprecated APIs (Closure Compiler, old linker interfaces) and dual implementations for old vs new Scala collections.

RATING: 9.6/10 MAINT: active DRIFT: low
▸ 6 reusable components found
wasm-bindgen/wasm-bindgen ★ 9187 1255 APPLICATION

wasm-bindgen is a Rust library and CLI toolchain that facilitates high-level interoperability between Rust-generated WebAssembly modules and JavaScript. It provides a `#[wasm_bindgen]` procedural macro to import JS functions and export Rust functions/structs/enums to JS, along with a post-processing CLI (`wasm-bindgen`) that generates JavaScript and TypeScript glue code for multiple targets (bundler, web, Node.js, Deno, no-modules). The repository also includes runtime crates (`js-sys`, `web-sys`, `wasm-bindgen-futures`, `wasm-bindgen-test`) that offer comprehensive bindings to standard JavaScript APIs and browser Web APIs, generated from WebIDL definitions. The project is the de facto standard for Rust-to-Wasm development, with extensive examples, benchmarks, and a robust test suite covering browser, Node, Deno, and headless environments.

RATING: 9.5/10 MAINT: active DRIFT: low
▸ 4 reusable components found
cloudflare/workerd ★ 8993 783 APPLICATION

workerd is Cloudflare's JavaScript/Wasm server runtime powering the Cloudflare Workers platform. It implements a nanoservices architecture where all services are deployed to every machine, using a capability-based security model for isolation. The runtime executes serverless Workers in response to HTTP requests, queues, scheduled events, and other triggers, providing APIs for HTTP, storage (KV, Durable Objects, R2), websockets, and more. The core is implemented in Rust and C++ with bindings for JavaScript/TypeScript and Python via Pyodide. Key entry points include the `workerd` CLI binary (built via Bazel) and the Rust `workerd_cli::main()` function. The system processes requests by routing them to Worker isolates, which execute user scripts and can access bindings for subrequests, storage, and other services. It includes extensive compatibility layers for Node.js APIs and Web standards, along with a comprehensive test suite validating spec compliance and implementation correctness.

RATING: 9.4/10 MAINT: active DRIFT: low
▸ 2 reusable components found
imputnet/cobalt ★ 43859 3843 APPLICATION

Cobalt is a privacy-focused media downloader web application with a SvelteKit frontend and Node.js/Express API backend. Users paste a URL from supported platforms (YouTube, TikTok, Instagram, Twitter/X, Vimeo, Reddit, SoundCloud, Twitch, Bilibili, and 15+ others) and receive a downloadable media file. The architecture is a monorepo with three packages: @imput/cobalt-web (static frontend), @imput/cobalt-api (processing backend), and @imput/version-info (build-time version helper). The API acts as a fancy proxy - it fetches media streams from source platforms, optionally remuxes/transcodes via FFmpeg (server-side or client-side via libav.js WebAssembly), and streams results back without ever writing to disk. The frontend handles URL input, settings management (localStorage with migration), a processing queue with Web Workers for client-side FFmpeg, i18n (EN/RU), and PWA features. Key data flows: user submits URL → API validates/matches service → extracts stream URLs → returns tunnel/redirect/picker response → frontend either streams directly, proxies via API, or processes locally via Web Workers. External dependencies: FFmpeg (via ffmpeg-static), youtubei.js for YouTube, hls-parser, undici for HTTP, Redis (optional for rate limiting), Cloudflare Turnstile (optional bot protection).

RATING: 9.3/10 MAINT: active DRIFT: low
▸ 9 reusable components found
WordPress/wordpress-playground ★ 1971 459 APPLICATION

WordPress Playground is a browser-based WordPress runtime that runs entirely client-side via WebAssembly. It compiles the PHP interpreter (versions 5.2 through 8.5) into WASM using Emscripten, enabling WordPress to execute in the browser without a server. The monorepo is organized into several key packages: php-wasm (PHP-to-WASM compilation toolchain, runtime bindings for Node.js and web, extensions, and Xdebug bridge), playground (blueprint engine, CLI, remote access tunneling, MCP server for AI agents, and a full-featured website application for managing WordPress instances), and docs (Docusaurus-based documentation site). The architecture is a dependency-injected, modular monorepo using Nx for builds and Lerna for publishing. The blueprint system allows declarative configuration of WordPress environments (plugins, themes, content, settings) and supports V1 and V2 schema. The project also includes a sync engine for incremental state persistence, OPFS-based storage, and a CORS proxy for network requests. It is actively maintained with comprehensive CI/CD pipelines and extensive test coverage across Node.js and browser runtimes.

RATING: 9.3/10 MAINT: active DRIFT: low
▸ 5 reusable components found
yewstack/yew ★ 32821 1453 APPLICATION

Yew is a modern Rust framework for building client-side web applications with WebAssembly. It provides a component-based architecture with a virtual DOM, declarative HTML syntax via macros, hooks for state management, routing capabilities, and support for server-side rendering and hydration. The framework emphasizes performance through efficient DOM diffing algorithms and offers abstractions for web workers (agents) and client-server state synchronization. Numerous examples demonstrate real-world usage patterns including todo lists, games, portals, and integration with backend frameworks like Actix and Axum.

RATING: 9.2/10 MAINT: active DRIFT: low
▸ 3 reusable components found
capstone-engine/capstone ★ 9103 1741 APPLICATION

Capstone is a multi-architecture disassembly engine written in C, derived from LLVM's MC disassembler. It supports over 20 architectures including x86, ARM, AArch64, MIPS, PowerPC, RISC-V, and more. The core library provides a stable C API (cs_open, cs_disasm, cs_option, etc.) and includes per-architecture backends with mapping, disassembler, and instruction printer modules. The architecture is modular: each architecture has a Module.c that registers callbacks into a common cs_struct. The primary data flow is: user provides raw bytes and arch/mode, the engine selects the appropriate disassembler, decodes instructions into MCInst, then prints via instruction printer, optionally filling cs_detail with operand/register/group information. The repository also includes a CLI tool (cstool), extensive test suites (MC regression tests, cstest YAML-based detail tests), fuzzing harnesses, and an automated LLVM sync pipeline (auto-sync) that translates LLVM C++ disassembler code to C using tree-sitter patches. The codebase is well-structured with clean abstractions for operand models (MCInst/MCOperand), string output (SStream), and architecture-specific mapping. The auto-sync tooling is a notable engineering achievement, enabling systematic translation of LLVM backend code to C. Language bindings for Python, Java, OCaml, and others demonstrate the library's embeddability. The test infrastructure is comprehensive, covering both basic disassembly and detailed operand/register analysis. External dependencies are minimal for the core library (pure C), but the auto-sync tooling depends on Python, tree-sitter, clang-format, and lit. Overall, Capstone is a mature, actively maintained disassembly framework with high craftsmanship and reusable components.

RATING: 9.2/10 MAINT: active DRIFT: low
▸ 5 reusable components found
dotnetcore/BootstrapBlazor ★ 4870 393 APPLICATION

BootstrapBlazor is a comprehensive, enterprise-class Blazor UI component library built on Bootstrap 5. It provides over 100 reusable components including tables, dialogs, forms, charts, navigation, and media elements, all with extensive localization support (Chinese/English) and JavaScript interop for rich client-side behavior. The library follows a consistent architecture: each component inherits from BootstrapComponentBase, uses a CssBuilder for CSS class construction, and optionally loads a dedicated JS module via the JSModuleAutoLoader attribute. Services like DialogService, ToastService, and DrawerService follow a callback-based pattern (BootstrapServiceBase) for decoupled UI interactions. The repository also includes a full demo server (BootstrapBlazor.Server) that showcases every component with live examples, sample data services, and API controllers for authentication, file upload, and real-time communication (SignalR, TCP sockets). External dependencies include Bootstrap CSS, FontAwesome/Material Design icons, Floating UI for dropdown positioning, and several third-party JS libraries (Chart.js, Plyr, etc.). The codebase is well-tested with bUnit and xUnit, and is actively maintained with frequent releases and a large contributor community.

RATING: 9.2/10 MAINT: active DRIFT: low
▸ 5 reusable components found
xiangechen/chili3d ★ 4795 474 APPLICATION

Chili3D is a web-based 3D CAD application for online model design and editing. It features a modular TypeScript architecture with core packages for foundations, application logic, UI, Three.js rendering, and WebAssembly bindings to OpenCASCADE for CAD operations. The system uses a command pattern with decorators for UI actions, a transaction system for undo/redo, and a plugin architecture for extensibility. Key capabilities include primitive shape creation, Boolean operations, extrusion/revolve/sweep/loft, snapping, measurement tools, document management with IndexedDB persistence, and import/export of STEP, IGES, STL, and BREP formats. The UI implements an Office-style ribbon interface with property panels and hierarchical scene tree. The application is actively maintained with recent commits and demonstrates strong engineering practices in its reactive primitives, plugin system, and serialization framework.

RATING: 9.2/10 MAINT: active DRIFT: low
▸ 6 reusable components found
openclaw/clawpdf ★ 104 8 APPLICATION

ClawPDF is a zero-dependency PDFium WebAssembly library and CLI for Node.js and browsers. It extracts text, renders pages to RGBA bitmaps, and produces PNG bytes without runtime dependencies, native addons, or postinstall scripts. The library supports multiple input sources (file paths, URLs, Blobs, byte arrays) with configurable HTTP fetch timeouts and size budgets, password-protected PDFs, and text-first extraction with bounded image fallback. The CLI provides text extraction, JSON output, page rendering, and inline terminal image display for Kitty and iTerm2 protocols. The architecture is modular with clean separation of concerns: input normalization, engine lifecycle, document/page abstractions, render size resolution, PNG encoding, and extraction orchestration. The codebase demonstrates high craftsmanship with reusable components like the standalone PNG encoder and terminal inline image renderer.

RATING: 9.1/10 MAINT: active DRIFT: low
▸ 3 reusable components found
naptha/tesseract.js ★ 38753 2396 APPLICATION

Tesseract.js is a JavaScript library that brings the Tesseract OCR engine to the browser and Node.js by wrapping a WebAssembly port (tesseract.js-core). It enables optical character recognition (OCR) from images in over 100 languages, supporting multiple output formats (plain text, hOCR, TSV, PDF, JSON blocks, etc.) and pre-processing options like auto-rotation and rectangle cropping. The library's architecture is centered around two abstractions: Workers (each managing a Tesseract instance in a Web Worker or Worker Thread) and Schedulers (managing pools of Workers for parallel job execution). Key entry points are `createWorker` (which handles language loading, core initialization, and provides `recognize`, `detect`, `setParameters`, etc.) and `createScheduler` (which queues jobs among multiple Workers). Images can be provided as URLs, base64 strings, Buffers, File/Blob objects, or DOM elements (browser only). The core flow involves loading the appropriate WebAssembly binary based on SIMD support, downloading and caching language data (via IndexedDB or filesystem), initializing the Tesseract API, running recognition, and dumping results through a clean output abstraction. External dependencies include tesseract.js-core, wasm-feature-detect, idb-keyval, zlibjs, bmp-js, and node-fetch. The codebase is well-structured, modular, and has comprehensive tests (both Node and browser via Karma+Mocha), though some modules (like `createWorker`) mix concerns of worker lifecycle, job management, and message handling in a single file.

RATING: 9.0/10 MAINT: active DRIFT: low
▸ 3 reusable components found
raysan5/raylib ★ 35017 3325 APPLICATION

raylib is a cross-platform game development library written in C99, designed to provide a simple and easy-to-use API for creating games, prototypes, and multimedia applications. It abstracts away platform-specific details like window creation, input handling, and graphics rendering, offering a consistent interface across Windows, macOS, Linux, Android, and Web (via Emscripten). The library is modular, with core modules for shapes, textures, text, 3D models, audio, and shaders, all built on top of a low-level OpenGL abstraction layer (rlgl). It bundles its own windowing backend (a fork of GLFW) and includes numerous single-file external libraries for image loading (stb_image), audio decoding (dr_flac, dr_mp3, dr_wav, jar_mod, jar_xm), compression (sdefl, qoa, pep), and model loading (tinyobj_loader, cgltf, vox_loader). The repository contains over 200 example programs that serve as both documentation and test cases, covering everything from basic window creation to advanced shader effects and 3D rendering pipelines. The architecture follows a monolithic library pattern with a single public header (raylib.h) and several optional headers (raymath.h, rlgl.h, raygui.h). The core library is compiled from source files (rcore.c, rshapes.c, rtextures.c, rtext.c, rmodels.c, raudio.c) and platform-specific backends (rcore_desktop_glfw.c, rcore_android.c, rcore_web_emscripten.c, etc.). The library is designed to be self-contained, with no external runtime dependencies beyond the operating system's graphics drivers. Build system support includes CMake, Make, Zig, Meson, and IDE project files for Visual Studio, VSCode, CodeBlocks, and others. Key data flows involve initializing a window and graphics context, then entering a game loop where user input is polled, game state is updated, and rendering commands are issued. The library handles resource management (textures, fonts, models, audio streams) internally, with automatic cleanup on window close. The audio subsystem supports streaming, effects, and multi-channel playback. The shader system allows custom GLSL vertex and fragment shaders to be applied to 2D and 3D rendering. The library also includes utility modules for math (vectors, matrices, quaternions), easing functions, gesture recognition, and camera systems. External dependencies are minimal due to extensive bundling; the only required system libraries are OpenGL (or OpenGL ES on mobile/web) and the platform's native windowing/input APIs. The bundled GLFW fork provides a consistent windowing layer across platforms. The library is actively maintained with regular commits, CI builds for multiple platforms, and a large community of users and contributors.

RATING: 9.0/10 MAINT: active DRIFT: medium
▸ 5 reusable components found
maxence-charriere/go-app ★ 8969 405 APPLICATION

go-app is a Go framework for building progressive web applications entirely in Go via WebAssembly. The core package pkg/app implements a declarative component model (Composer/Compo) with lifecycle hooks, client-side routing, state management with observers and persistence, server-side pre-rendering, and a full PWA HTTP handler that serves the app shell, service worker, manifest, and static resources. The docs/ directory is itself a production go-app PWA that dogfoods the framework; docs/src contains the documentation site source code, and docs/web/documents contains the markdown content rendered at runtime by the wasm binary. Architecturally, the repository is a layered Go library rather than a monolith or microservice. pkg/app contains the runtime engine (engine.go, node.go, state.go, http.go) and uses build tags to separate server-side resource/HTTP handling from client-side wasm UI execution. pkg/cli is a struct-tag-driven CLI and environment configuration loader, pkg/cache provides reusable LRU and expiring cache implementations, pkg/errors adds typed and tagged error wrapping, and pkg/logs and pkg/analytics provide optional support utilities. Code generation in pkg/app/gen/html.go produces the strongly typed HTML element API and its generated tests. The primary data flow begins with Go component state and user events, which are dispatched through the engine and Context API to update the DOM via the node manager. State mutations can be persisted to localStorage, encrypted, and broadcast across browser tabs. On the server side, the Handler serves pre-rendered HTML, resolves static resources (local dirs, remote buckets, GitHub Pages), and caches proxied resources. External dependencies include Go modules for webpush, markdown parsing, UUID, and testing, plus browser APIs and Go's wasm_exec.js glue. There are no data pipelines, notebooks, or research artifacts; this is a pure application/framework repository.

RATING: 9.0/10 MAINT: active DRIFT: low
▸ 5 reusable components found
chakra-core/ChakraCore ★ 9261 1219 APPLICATION

ChakraCore is a standalone, community-maintained JavaScript engine originally developed by Microsoft. It implements the full ECMAScript specification (ES5/ES6/ES7+), WebAssembly, and Asm.js, with a high-performance JIT compiler supporting x64, x86, ARM, and ARM64 architectures. The engine includes a generational garbage collector (Recycler), a bytecode interpreter, a parser, and a comprehensive debugger with time-travel debugging support. It is designed to be embedded via a C API (Jsrt) and also ships with a lightweight command-line host (`ch`). The codebase is highly modular, with clear separation between the runtime, backend, parser, and platform abstraction layer (PAL). It contains an extensive test suite covering language features, optimizer edge cases, and regression tests. While the original Microsoft support ended in 2021, the community actively maintains the project, with recent commits and ongoing issue triage. The engine is production-grade and has been used in various applications, including Node.js (prior to the move to V8) and Windows applications.

RATING: 8.9/10 MAINT: maintained DRIFT: low
▸ 7 reusable components found
$ loading more...
$ submit: