awesome-repositories.com
Blog
MCP
awesome-repositories.com

Discover the best open-source repositories with AI-powered search.

ExploreCurated searchesOpen-source alternativesSelf-hosted softwareBlogSitemap
ProjectMCP serverAboutHow we rankPress
LegalPrivacyTerms
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
thedodd avatar

thedodd/trunk

0
View on GitHub↗
4,317 stars·314 forks·Rust·Apache-2.0·25 viewstrunk-rs.github.io/trunk↗

Trunk

Trunk is a build tool and development server for compiling Rust code to WebAssembly and packaging it for browser deployment. It functions as a web bundler that combines WebAssembly modules, JavaScript, and static files into a deployable web application.

The tool provides a local development server utilizing HTTP and WebSocket proxies to enable rapid iteration. This environment includes a file-system watcher that triggers automatic rebuilds and browser reloading when source files are modified.

The pipeline handles the conversion of Rust source code into WebAssembly binaries and generates the necessary JavaScript glue code to instantiate the modules. It also performs asset bundling by extracting dependencies and static files based on references found in a source HTML file.

Features

  • Rust WebAssembly Integrations - Provides an end-to-end toolchain for compiling Rust to WebAssembly and packaging assets for the web.
  • Asset Bundling - Combines WebAssembly, JavaScript, and static files into a single deployable package.
  • Asset Bundling - Bundles WebAssembly binaries with necessary JavaScript and static files for delivery.
  • WASM Build Tools - Functions as a build tool for compiling Rust to WebAssembly and packaging it for browser deployment.
  • Rust-to-WASM Compilation - Converts Rust source code into WebAssembly binaries using the target toolchain for browser execution.
  • WebAssembly Glue Code Generators - Generates the necessary JavaScript glue code to load and instantiate WebAssembly modules in the browser.
  • Web Application Bundlers - Combines WebAssembly modules, JavaScript, and static files into a deployable web application.
  • WebAssembly Compilation - Compiles Rust code into WebAssembly binaries and packages associated assets for browser deployment.
  • HTML-Driven Extraction - Extracts and bundles dependencies and static files based on references found in the source HTML file.
  • File Watchers - Monitors source files to trigger automatic rebuilds and browser refreshes during development.
  • Build Rebuild Triggers - Provides a watch-mode that automatically triggers recompilation when source files are modified.
  • Live-Reload Development Servers - Combines a local server with automatic rebuilds and browser reloading to accelerate development.
  • Local HTTP Servers - Provides a lightweight local server to host compiled WebAssembly and static assets for rapid testing.
  • Live Reloading - Implements a WebSocket-based mechanism to automatically refresh the browser after successful builds.
  • Development Servers - Runs a local development server with HTTP and WebSocket proxies for rapid application iteration.
  • Deployment Packaging - Prepares and packages Rust-based web applications for hosting on production web servers.
  • Frameworks and Tooling - Bundler and build pipeline for web-based applications.

Star history

Star history chart for thedodd/trunkStar history chart for thedodd/trunk

How this analysis was created: This summary and feature list were written by an AI model that read the project's README and public documentation pages. Each feature links to the documentation it came from; stars, license and language come straight from the GitHub API. The model does not read the source code, and the analysis is refreshed when the project is re-analysed. Learn more on our About page.

AI search

Explore more awesome repositories

Describe what you need in plain English — the AI ranks thousands of curated open-source projects by relevance.

Start searching with AI

Open-source alternatives to Trunk

Similar open-source projects, ranked by how many features they share with Trunk.
  • browserify/browserifybrowserify avatar

    browserify/browserify

    14,706View on GitHub↗

    Browserify is a build utility that enables the use of CommonJS module patterns within client-side JavaScript applications. It functions as a dependency manager and module bundler, tracing recursive import calls to package multiple source files and their dependencies into a single, optimized file for execution in web browser environments. The project distinguishes itself by providing a comprehensive compatibility layer that allows server-side code to run in the browser. It achieves this by injecting environment shims and replacing system-level globals with browser-compatible equivalents. Throu

    JavaScript
    View on GitHub↗14,706
  • rustwasm/wasm-bindgenrustwasm avatar

    rustwasm/wasm-bindgen

    9,057View on GitHub↗

    wasm-bindgen is a bindings generator and interop layer designed to map data types and functions across the boundary between WebAssembly and JavaScript. It functions as a foreign function interface that synthesizes the necessary boilerplate to enable bidirectional communication between Rust and the browser runtime. The project generates glue code and wrappers that automate the conversion of complex types, allowing Rust functions to be exported as JavaScript modules and browser APIs to be imported into Rust. It uses procedural macros to define these interfaces and synthesizes bindings based on

    Rust
    View on GitHub↗9,057
  • wasm-bindgen/wasm-packwasm-bindgen avatar

    wasm-bindgen/wasm-pack

    7,207View on GitHub↗

    wasm-pack is a build tool and workflow orchestrator for compiling Rust code to WebAssembly. It coordinates the compilation process and generates the JavaScript glue code required to execute Rust logic within web browsers and server-side runtimes. The tool manages binary optimization to reduce file sizes and improve execution speed. It also functions as a package manager, bundling compiled WebAssembly modules into archives compatible with JavaScript registries and bundlers. The project covers language interoperability through the automatic generation of TypeScript type definitions. It further

    Rust
    View on GitHub↗7,207
  • fuse-box/fuse-boxfuse-box avatar

    fuse-box/fuse-box

    3,972View on GitHub↗

    Fuse-Box is a JavaScript bundler, module loader, and development web server. It packages JavaScript source files into optimized bundles for execution in both browser and server environments. The project manages the front-end development workflow by combining asset bundling with a local server to preview application changes in real time. It includes a programmatic API for loading and executing JavaScript modules in the browser. The system handles JavaScript asset bundling and module loading through dependency-graph analysis and dynamic entry-point resolution. It employs an incremental build p

    JavaScriptbundlerhmrhot-reload
    View on GitHub↗3,972
See all 30 alternatives to Trunk→

Frequently asked questions

What does thedodd/trunk do?

Trunk is a build tool and development server for compiling Rust code to WebAssembly and packaging it for browser deployment. It functions as a web bundler that combines WebAssembly modules, JavaScript, and static files into a deployable web application.

What are the main features of thedodd/trunk?

The main features of thedodd/trunk are: Rust WebAssembly Integrations, Asset Bundling, WASM Build Tools, Rust-to-WASM Compilation, WebAssembly Glue Code Generators, Web Application Bundlers, WebAssembly Compilation, HTML-Driven Extraction.

What are some open-source alternatives to thedodd/trunk?

Open-source alternatives to thedodd/trunk include: browserify/browserify — Browserify is a build utility that enables the use of CommonJS module patterns within client-side JavaScript… rustwasm/wasm-bindgen — wasm-bindgen is a bindings generator and interop layer designed to map data types and functions across the boundary… wasm-bindgen/wasm-pack — wasm-pack is a build tool and workflow orchestrator for compiling Rust code to WebAssembly. It coordinates the… fuse-box/fuse-box — Fuse-Box is a JavaScript bundler, module loader, and development web server. It packages JavaScript source files into… laravel-mix/laravel-mix — Laravel Mix is a frontend build tool and a configuration wrapper for Webpack that simplifies the bundling of… react/create-react-app — This project is a command-line tool and build toolchain used to bootstrap React web applications. It serves as a…