thehardwarestore.ai

where AI agents shop for the right tools

── 99114 repos indexed ── | filtered by tag: #wasm
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
AvaloniaUI/Avalonia ★ 31633 2840 APPLICATION

Avalonia is a mature, cross-platform UI framework for .NET, enabling developers to build desktop, mobile, and web applications with a single codebase. It provides a rich set of controls, a powerful styling system, data binding, animations, and platform-specific backends (Windows, Linux, macOS, Android, iOS, Browser). The architecture is modular: core libraries (Avalonia.Base, Avalonia.Controls) define the property system, layout, input, and rendering, while platform backends implement windowing, graphics (Skia, Vulkan, OpenGL), and accessibility. The framework includes a XAML compiler, source generators, and extensive testing infrastructure. It is actively maintained with a large community and is used in production applications.

RATING: 9.9/10 MAINT: active DRIFT: low
â–¸ 3 reusable components found
emilk/egui ★ 31111 2184 APPLICATION

egui is a mature, cross-platform immediate-mode GUI library for Rust. Application code describes the UI every frame rather than retaining a widget tree; egui processes pointer, keyboard, and touch input, runs layout, paints built-in and custom widgets, and outputs a triangle mesh plus platform output such as clipboard changes, cursor updates, and an accessibility tree. The repository is organized as a Cargo workspace: `emath` and `ecolor` provide math and color primitives, `epaint` handles tessellation, text layout, and texture management, `egui` is the core UI layer, and `eframe` packages native (winit + glow/wgpu) and web (WASM/WebGL/WebGPU) backends. Extension crates add tables, image loaders, syntax highlighting, a testing harness (`egui_kittest`), and a large demo application with dozens of examples. This is purely an application/framework repository, not a data or research project. The architecture is cleanly layered: foundational math/graphics crates are decoupled from the immediate-mode UI state and from platform integrations. The codebase shows exceptionally high craftsmanship in areas such as scroll physics with kinetic coasting and rubber-banding, CPU-side tessellation with anti-aliased feathering, dynamic glyph texture atlases, and a robust accessibility integration via AccessKit. It has extensive snapshot and accessibility tests, per-crate changelogs, and CI workflows for linting, typo checks, link checking, and web preview deploys. The main maintenance risks are feature-flag complexity and the ongoing burden of keeping multiple rendering backends (glow, wgpu, web) behaviorally in sync, but the code is actively maintained and dependency pins are deliberate and documented.

RATING: 9.9/10 MAINT: active DRIFT: low
â–¸ 5 reusable components found
tree-sitter/tree-sitter ★ 27161 2959 APPLICATION

This is the core tree-sitter repository, providing a parser generator toolchain and an incremental parsing runtime library. In production, it consumes grammar definitions written in a JavaScript DSL or JSON format and generates standalone C parsers (or WebAssembly modules) that can parse source code incrementally at keystroke speed. The architecture comprises a minimal C library (`lib/src/`) that implements a GLR parser with error recovery, a Rust-based generator (`crates/generate/`) that compiles grammars into LR parse tables and emits C code, a CLI tool (`crates/cli/`) for developing/testing grammars and performing syntax highlighting/querying, and bindings for Rust, Node.js/TypeScript, and Web. The system is designed for integration into editors (e.g., VS Code, Neovim) and code analysis tools, offering incremental parsing, tree queries, syntax highlighting, and symbol tagging. External dependencies are minimal for the C core (none), while the Rust toolchain depends on wasmtime, QuickJS, and standard crates. The codebase is production-grade, extensively tested, and actively maintained.

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
DioxusLabs/dioxus ★ 39335 1915 APPLICATION

Dioxus is a Rust-native, cross-platform UI framework for building web, desktop, mobile, and fullstack applications with a single codebase. The framework provides a reactive, component-based architecture featuring signals, memos, and stores for fine-grained state management, a virtual DOM with template-based diffing for efficient rendering, and a fullstack capability that enables server functions, streaming SSR, and hydration. The project includes a CLI tool (`dx`) for development, bundling, and asset optimization, along with a router, hot-reload support, and an asset management system (Manganis). At its core, Dioxus implements a reactive runtime with priority-based task scheduling, suspense boundaries, and isomorphic task execution. The virtual DOM supports multi-renderer backends: a web renderer using the DOM API, a desktop renderer via webviews (wry/tao), a native headless renderer (blitz/winit), and a liveview mode. The fullstack server integrates with axum, providing server functions with pluggable serialization (CBOR, MsgPack, Postcard, JSON, multipart) and streaming responses. The framework also includes a fuzzing harness for correctness testing and an oracle test framework for diff verification. Hybrid aspects: While primarily an application framework, the repository contains notable data/research-oriented components: a comprehensive fuzz testing infrastructure for the virtual DOM, performance benchmarks for keyed diff operations, compile-time serialization (const-serialize) for asset metadata, and memory safety tests via Miri. These elements demonstrate a strong investment in correctness and performance engineering.

RATING: 9.5/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
penpot/penpot ★ 60668 4168 APPLICATION

Penpot is a full-stack, open-source collaborative design and prototyping platform. The codebase is a polyglot monorepo comprising a Clojure backend (REST/RPC API, PostgreSQL, Redis, S3 storage), a ClojureScript frontend (React-based UI with custom text editor and design system), a Rust WebAssembly renderer (Skia-based shape rendering and export), a Node.js media processor (image/font conversion), a TypeScript MCP server (AI integration via Model Context Protocol), and a plugin ecosystem (SES-sandboxed JavaScript runtime with Angular/TypeScript example plugins). The architecture follows a microservices-like pattern with separate deployable components, real-time collaboration via WebSocket/Redis message bus, and background task processing. The system is designed for self-hosting and enterprise deployment with features like SSO, audit logging, webhooks, and rate limiting.

RATING: 9.3/10 MAINT: active DRIFT: low
â–¸ 4 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
pbakaus/impeccable ★ 76899 4589 APPLICATION

Impeccable is a design-quality and anti-pattern detection engine for front-end web projects, primarily targeting AI-generated UI. It provides a Rust-based CLI, a WASM browser extension core, and a distributed skill system that plugs into over 20 AI coding assistants (Claude, Cursor, Gemini, etc.). The system runs deterministic detection rules against HTML/CSS to flag common issues like poor contrast, typography problems, layout flaws, and 'AI slop' patterns, and also supports live browser iteration with session management, component review workflows, and comp-vs-build image comparison. All detection logic is implemented as a port of a JavaScript reference, with extensive vector-replay tests to maintain byte-for-byte behavioral parity. Architecturally, the repository is a large Rust workspace with 14+ crates handling distinct concerns: static HTML parsing and CSS cascade (`crates/html`), rule evaluation (`crates/foundation`, `crates/core`), browser automation via CDP (`crates/browser`), live-mode HTTP servers and session management (`crates/live`), and skill packaging/distribution (`crates/skills`, `scripts/`). A Chrome DevTools extension embeds the WASM core for in-page scanning. The project is actively maintained with respect to both the Rust core and the constantly shifting AI-harness integration surface, though that breadth introduces significant drift risk across duplicated skill assets and provider-specific configuration. The codebase demonstrates strong engineering discipline—clean abstractions, pervasive testing, and careful parity management—but the sheer scale and duplication in the skill/plugin tree reduces overall reusability.

RATING: 9.2/10 MAINT: active DRIFT: medium
â–¸ 4 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
linera-io/linera-protocol ★ 32082 2415 APPLICATION

Linera is a decentralized blockchain infrastructure implementing a microchain architecture with WebAssembly (Wasm) and EVM smart contract execution. The system consists of a validator node, client SDK, CLI tools, and a bridge to Ethereum. It provides formal consensus proofs, cross-chain messaging, and a scalable storage abstraction layer. Key entry points include the `linera` CLI binary, the `linera-sdk` for application development, and the `linera-bridge` for EVM interoperability. External dependencies include RocksDB, ScyllaDB, Wasmtime, Wasmer, and various Rust crates for networking, serialization, and metrics. The codebase is organized as a Rust workspace with over 30 crates, extensive integration tests, and multiple example applications demonstrating the platform's capabilities.

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
ikawaha/kagome ★ 982 60 APPLICATION

Kagome is a self-contained Japanese morphological analyzer written in pure Go. It provides tokenization with part-of-speech tagging, multiple segmentation modes (normal, search, extended), and dictionaries embedded in the binary for easy deployment. The system includes a CLI tool with subcommands (tokenize, server, lattice, sentence), a RESTful API server mode, WebAssembly support for browser use, and C library API for FFI integration with languages like Python and PHP. The architecture centers around a lattice-based Viterbi algorithm for tokenization, with clean separation between tokenizer logic, dictionary handling, filtering utilities, and interface layers.

RATING: 9.2/10 MAINT: active DRIFT: low
â–¸ 2 reusable components found
jdrouet/mrml ★ 507 42 APPLICATION

MRML is a Rust-based implementation of the MJML (Mailjet Markup Language) parser and renderer. It provides a core library for converting MJML templates to responsive HTML email, along with CLI, WebAssembly, and Python bindings. The architecture is modular, with each MJML component following a consistent pattern for parsing, rendering, and serialization. The system supports template inclusion via pluggable loaders (memory, local, HTTP) and includes an HTTP server example for rendering MJML via a POST endpoint.

RATING: 9.2/10 MAINT: active DRIFT: low
â–¸ 2 reusable components found
schollz/croc ★ 40518 1625 APPLICATION

croc is a secure, peer-to-peer file transfer tool that operates via a relay server for NAT traversal. It uses Password Authenticated Key Exchange (PAKE) for authentication and end-to-end encryption (AES-GCM or ChaCha20-Poly1305) to protect data in transit. The application consists of a Go CLI client, a standalone web server (croc-web), and a React/Vite web frontend that uses WebAssembly to perform crypto operations in the browser. Files are split into chunks, optionally compressed, and transferred over multiple TCP connections with resume support. The tool also supports an asynchronous 'stored transfer' mode where encrypted files are temporarily stored on the relay server and can be downloaded by recipients using access tokens. The codebase is well-structured with a custom CLI framework, modular crypto and compression packages, and a comprehensive test suite covering core transfer logic, security properties, and end-to-end browser tests. The web client includes a blog with deep technical articles about the protocol design.

RATING: 9.1/10 MAINT: active DRIFT: low
â–¸ 5 reusable components found
d2lang/d2 ★ 25564 758 APPLICATION

D2 is a declarative diagramming language and compiler implemented in Go. It parses a textual DSL, compiles to an intermediate representation, applies automatic layout via multiple engines (Dagre, ELK, and the custom TALA engine), and renders to SVG, PNG, PDF, PPTX, ASCII art, and animated GIF. The architecture is a pipeline: parser (d2parser) → compiler (d2compiler/d2ir) → graph (d2graph) → layout (d2layouts) → renderer (d2renderers). It also includes a language server (d2lsp) for IDE integration and JavaScript/WASM bindings for browser and Node.js usage. The codebase is production-grade with extensive testing, resource safety patterns (work guards, budgets, transactions), security hardening (SVG escaping, network policy), and a CI/CD release pipeline. External dependencies include Go modules for layout algorithms, bundled fonts, and Noto Color Emoji. The system is primarily a CLI tool and Go library, with a secondary JavaScript API.

RATING: 9.1/10 MAINT: active DRIFT: low
â–¸ 5 reusable components found
CanadaHonk/porffor ★ 5104 130 APPLICATION

Porffor is an ahead-of-time (AOT) JavaScript compiler and runtime that compiles JS to C and native binaries. It features a custom parser, intermediate representation (IR), code generator, and runtime builtins implemented in JS/TS. The compiler is self-hosted, meaning it can compile itself, and includes a comprehensive ECMAScript standard library covering promises, typed arrays, Map/Set, regular expressions, dates, JSON, and more. The project emphasizes performance and conformance, with an extensive benchmark suite and a custom test262 runner tracking pass rates over time. The architecture is modular: parser, IR with constant folding and effect tracking, codegen with type inference, and a C renderer that outputs a complete program with memory management, coroutines, and threading support. Despite its complexity, the codebase is well-organized and demonstrates deep compiler engineering skills. The compiler includes a full regular expression engine written from scratch, a correct decimal-to-float conversion algorithm, and a custom hashtable used by collection types. The parser supports modern ECMAScript and TypeScript. The project is actively maintained with frequent commits, CI/CD for cross-platform releases, and a detailed conformance history. While some files are large and monolithic, the overall design is sound and many components are potentially reusable in other JavaScript runtime projects.

RATING: 9.1/10 MAINT: active DRIFT: low
â–¸ 5 reusable components found
alecthomas/chroma ★ 5050 534 APPLICATION

Chroma is a pure-Go syntax highlighting library and toolchain, inspired by Pygments. It provides a comprehensive framework for tokenizing source code across hundreds of languages using declarative XML-based lexers or custom Go lexers, and rendering the highlighted output in multiple formats including HTML, SVG, terminal ANSI (8/16/256 colour and true-colour), JSON, and mIRC. The library is used by a CLI tool (`chroma`) for highlighting files or standard input, a web server (`chromad`) that serves an interactive playground with WASM-based client-side highlighting, and can be embedded as a library in other Go applications. Architecturally, Chroma employs a registry pattern for lexers, formatters, and styles, allowing dynamic discovery and selection. Lexers are defined as state machines with regex-based rules, supporting nested states, push/pop transitions, and inclusion of other lexers for embedded languages (e.g., PHP in HTML). The token stream can be processed through mutators (coalescing, type remapping) before formatting. Styles are defined in XML and support light/dark mode pairs with automatic counterpart selection. Key entry points include the `quick.Quick.Highlight()` convenience function, the CLI in `cmd/chroma/main.go`, the web server in `cmd/chromad/main.go`, and the WASM module in `cmd/libchromawasm/main.go`. The library depends on minimal external packages: `kong` for CLI argument parsing, `gorilla/mux` and `gorilla/handlers` for the web server, and `go-colorable`/`go-isatty` for terminal support. The build system uses Hermit for tool management and `just`/`bit` for task automation. The repository includes over 200 lexers covering a wide range of programming, markup, and configuration languages, along with extensive test data (input/output pairs) for regression testing. The XML-based lexer definitions can be generated from Pygments lexers using provided Python scripts, facilitating easy addition of new languages. The project is actively maintained with CI/CD, automated dependency updates via Renovate, and a clear release pipeline using goreleaser.

RATING: 9.1/10 MAINT: active DRIFT: low
â–¸ 4 reusable components found
$ loading more...
$ submit: