30 open-source projects similar to thedodd/trunk, ranked by how many features they have in common. Compare stars, activity and what each one does to find the best Trunk alternative.
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
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
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
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
This project is a command-line tool and build toolchain used to bootstrap React web applications. It serves as a project bootstrapper and single-page application scaffold, providing a pre-configured development environment, folder structure, and build pipeline. The toolchain integrates a frontend development server with live reloading and error overlays to accelerate the iterative coding process. It handles production asset bundling by minifying code and generating hashed assets for deployment, and it includes a configuration suite for generating the service workers and web manifests required
Laravel Mix is a frontend build tool and a configuration wrapper for Webpack that simplifies the bundling of JavaScript, TypeScript, and CSS assets. It functions as a task runner and static asset manager, providing a simplified interface to compile source files into optimized production assets. The project distinguishes itself by providing a fluent API that abstracts complex bundling configurations into human-readable method calls. It includes specialized pipelines for transforming Vue and React components into browser-compatible JavaScript and offers a system for automatic vendor prefixing a
Backpack is a Node.js build system designed for transpiling, bundling, and automating the development workflow. It functions as a JavaScript asset bundler that packages source files and dependencies into optimized output for production deployment. The system integrates a transpilation process to convert modern code into versions compatible with various environments and browsers. It provides an automated development workflow that watches for file changes to trigger automatic reloads and builds. The build pipeline supports configuration-driven customization, environment-specific targets, and i
webpack-dev-server is a local web server designed to serve webpack bundles and trigger browser refreshes when source files change. It functions as a development environment that hosts bundled applications and provides a live reloading workflow. The project distinguishes itself by supporting hot module replacement to update modules in a running application without a full page reload. It also acts as an HTTP proxy to redirect network request paths to different backends and provides history API fallbacks specifically for hosting single-page applications. The server includes capabilities for mon
Binaryen is a WebAssembly compiler toolchain and optimizer designed to transform, validate, and shrink binary modules. It provides a comprehensive intermediate representation framework that converts binary code into a single-assignment form to enable advanced program analysis and code transformation. The project includes a specialized transformation engine that applies iterative optimization passes to increase execution speed and reduce binary size. Additionally, it functions as a transpiler that translates WebAssembly binary modules into executable JavaScript for environments that lack nativ
Eel is a Python HTML GUI framework designed for building desktop applications that utilize a Python backend and an HTML and JavaScript frontend. It functions as a local web server wrapper that hosts application assets and manages the browser window to provide a user interface. The framework provides a bidirectional Python-JavaScript bridge, allowing functions in either language to call each other in real time. It also includes a desktop application bundler to package Python code and web assets into a standalone executable for distribution. The system covers application window management, loc
This project is a boilerplate for web applications built with the Backbone.js framework. It provides a structured project template and a standardized workflow for organizing source code and assets. The project includes a JavaScript build pipeline and a CI/CD workflow template. These systems automate the bundling and minification of assets for production and integrate automated test execution upon code pushes. The repository covers frontend build automation and behavior-driven testing. It incorporates tools for asset optimization and the generation of coverage reports to ensure application st
node-gyp is a build system wrapper and compilation tool designed to transform C and C++ source code into binary modules for the Node.js runtime. It functions as a native module compiler that orchestrates the process of converting native source code into binary bindings for high-performance execution. The project provides cross-platform compilation by managing different compilers and SDKs across Windows, macOS, and Linux. It translates a single project configuration into platform-specific build files, such as Makefiles or Visual Studio projects, to ensure consistent builds across different ope
Syntaxhighlighter is a JavaScript-based frontend library used to render readable source code on web pages. It functions as a client-side syntax highlighter that applies language-specific colors and formatting to plain text code blocks within a browser. The library allows for the generation of a minimal distribution of language brushes and visual themes tailored to specific project needs. This enables the creation of a custom build containing only the required scripts and stylesheets. The system handles source code highlighting for web-based documentation and supports custom asset bundling to
Reveal-md is a command-line tool that transforms Markdown files into interactive, web-based slide decks using the reveal.js framework. It functions as a comprehensive presentation generator, providing an integrated environment for authoring, previewing, and distributing structured slide content. The tool distinguishes itself through a robust development workflow that includes a local server with live reloading, allowing for real-time visual feedback as source files are modified. It supports advanced content customization through metadata-driven configuration, enabling users to define slide hi
Vugu is a Go WebAssembly UI library and framework used to build type-safe, component-based single-page applications. It functions as a single-file component framework that bundles markup, styles, and logic into modular units, utilizing a virtual DOM engine to synchronize state changes with the browser output. The project features a Go component generator that converts custom UI templates into executable Go source code at compile time. It distinguishes itself through a WebAssembly-based runtime that executes application logic as a compiled binary in the browser and a server-side rendering tool
MAME is a vintage hardware emulation platform designed to recreate the circuitry of arcade games, computers, and consoles to run original software on modern devices. It functions as a retro gaming preservation framework for managing, verifying, and archiving ROM sets and disk images to ensure long-term software accessibility. The project features a system debugging tool for inspecting emulated memory, CPU registers, and execution flow via breakpoints and disassembly. It also includes a Lua-based automation layer that exposes core system state and hardware controls for custom behavior and anal
Zola is a static site generator that compiles Markdown and templates into a standalone website. It is distributed as a single binary, removing the need for external runtimes or package managers to build the final site. The project includes a built-in Sass compiler to transform styles into compressed CSS and a dedicated Markdown rendering engine that supports task lists and footnotes. It also features a client-side search indexer, enabling full-text site search without a backend server, and a multilingual content manager for organizing translated content. Additional capabilities cover asset o
Webpacker is a frontend build tooling system and JavaScript module manager that integrates Webpack into Ruby on Rails applications. It serves as a bridge between the backend web framework and the frontend build process to compile JavaScript and CSS into browser-ready bundles. The system provides a dedicated development asset server for real-time code reloading and automatic browser refreshing. For production, it includes a precompilation pipeline that minifies scripts and stylesheets and applies network asset compression to optimize delivery. The project covers comprehensive asset management
This project is a Webpack build guide and a reference for implementing a JavaScript module bundler. It serves as a frontend build pipeline designed to resolve dependencies, package source files, and optimize assets for web browsers. The guide focuses on asset optimization and performance strategies. This includes implementing code splitting for asynchronous module loading, extracting shared dependencies to improve browser caching, and generating multiple entrypoints to reduce initial download sizes. The project covers a broad range of build-time capabilities, including modern JavaScript tran
wasm-bindgen is a glue code generator and interoperability tool that facilitates high-level communication and data exchange between compiled Rust modules and JavaScript environments. It functions as a memory bridge and type definition generator, allowing the exchange of complex data types and the calling of functions across execution boundaries. The project distinguishes itself by automating the conversion of data types and function signatures using attribute-based bindings. It generates the necessary JavaScript and WebAssembly wrappers to manage linear memory mapping and creates automatic Ty
Rspack is a high-performance web bundler written in Rust that packages JavaScript and TypeScript for web applications. It functions as an incremental build engine and a tree-shaking asset optimizer designed to reduce build times and minimize final bundle sizes for web delivery. The project is built for compatibility with the webpack ecosystem, implementing a compatible API that allows existing plugins and configurations to work without modification. This enables the integration of community loaders and plugins while leveraging a Rust-based compilation engine. The tool covers a broad range of
gdext provides a set of language bindings for writing high-performance native game logic in Rust for the Godot 4 engine. It serves as a framework for creating native engine extensions and custom classes via the GDExtension library, allowing developers to extend core engine functionality without recompiling the engine source code. The project includes a dedicated Rust WebAssembly toolchain to compile native logic into modules for execution in web browsers. This system supports WebAssembly-compatible compilation with specific configurations for web threading and module debugging. The toolkit c
Seed is a frontend framework for building single-page applications using Rust and WebAssembly. It provides a virtual DOM rendering engine and a component-based UI library to construct modular, reusable interface elements. The framework implements a unidirectional data flow model based on the Elm architecture to ensure type-safe state management and predictable state transitions. It utilizes compile-time macros to transform declarative UI definitions into efficient instructions for the browser. The project covers a broad range of web capabilities, including application routing, content intern
Parcel is a web application bundler designed to automate the packaging of project assets for production. It functions as a zero-configuration tool that detects dependencies and transforms source files into optimized output without requiring manual setup files. The project includes a built-in development server that supports incremental builds and hot module replacement to reflect code changes during the development cycle. The core of the system is a dependency graph resolver that maps relationships between modules to determine the structure of output bundles. This is supported by a modular as
Walt is a transpiler and typed language that converts a JavaScript-like syntax into WebAssembly binary format. It functions as a toolchain for developing high-performance logic for browsers and runtimes by translating typed source code into WebAssembly text format. The project includes a bundler-integrated loader that automates the recompilation of source files during the build process. It provides a linear memory manager used to define custom data layouts, structs, and memory allocators within a contiguous heap. The language supports defined function signatures, numeric types, and the abili
Porffor is an ahead-of-time compiler that converts JavaScript and TypeScript source code into native machine code or C binaries. It functions as a native binary generator and transpiler, producing standalone executable files that do not require a runtime or virtual machine. The project translates source code into C language files and WebAssembly binary formats. It includes a direct-to-binary pipeline for TypeScript, allowing for the generation of target executables without a separate transpilation step to JavaScript. The toolset also includes an interactive read-eval-print loop for real-time
json-to-go is a web-based tool for automatically generating Go structs from JSON input. It functions as a JSON to Go type generator, transforming unstructured JSON data or API responses into strongly typed source code structures. The project employs a WebAssembly-based translation engine to run the Go type generator directly within the browser. This architecture utilizes a schema-inference engine and recursive type mapping to analyze nested JSON objects and determine the appropriate Go data types for fields and arrays. The tool also includes utilities for API client development, allowing use
This project is a set of build tools and a Vite plugin for browser extension development. It functions as a build tool and hot module replacement framework that automates asset bundling by using the extension manifest as the primary source of truth. The tooling provides a zero-config workflow for cross-browser extensions, integrating real-time code updates into the development process. This allows specific components and scripts to be updated in the browser without requiring a full manual reload of the extension. The suite also includes an end-to-end testing framework and utility for browser
AssemblyScript is a compiler and tooling suite used for WebAssembly module development. It converts a subset of TypeScript syntax into binary modules to achieve high execution speeds and cross-platform binary execution. The project focuses on translating typed source code into the compact binary format required by WebAssembly runtimes. This allows for the movement of computationally heavy logic into binary modules for browser performance optimization and execution across different operating systems. The compilation process involves TypeScript-compatible syntax analysis and the generation of
Pigo is a computer vision library written in Go for locating human faces in images and video streams. It provides tools for face detection, facial landmark identification, and pupil and eye localization. The project is implemented in pure Go to ensure portable execution without external dependencies. It supports compilation to WebAssembly, enabling face detection and image processing to run directly in web browsers without a backend. The library's capabilities include real-time face detection using classifier cascades and gaze tracking localization. It maps anatomical points on the face to a