# preactjs/wmr

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [awesome-repositories.com](https://awesome-repositories.com/repository/preactjs-wmr).**

4,926 stars · 107 forks · JavaScript · MIT

## Links

- GitHub: https://github.com/preactjs/wmr
- Homepage: https://wmr.dev/
- awesome-repositories: https://awesome-repositories.com/repository/preactjs-wmr.md

## Topics

`build-tool` `esmodules` `preact` `rollup`

## Description

wmr is a web application development tool and build system that functions as an ES modules bundler, static site generator, and local development server. It provides a complete environment for creating modern web applications, combining a production compiler with a server that supports hot reloading.

The project is distinguished by its integrated approach to background scripts and routing, serving as both a service worker bundler and a tool for filesystem-based routing. It enables the generation of static HTML via prerendering and provides native integration for spawning web workers to handle heavy computations.

The system covers a broad range of build automation capabilities, including on-demand compilation, middleware-based request handling, and a plugin-driven pipeline for extending build logic. It also includes utilities for managing environment variables, mapping import paths, and analyzing bundle size to optimize production assets.

## Tags

### Development Tools & Productivity

- [Frontend Build Tools](https://awesome-repositories.com/f/development-tools-productivity/build-tooling/build-orchestration-logic/build-orchestration-configuration/build-automation-systems/frontend-build-tools.md) — Functions as a comprehensive build system for compiling, bundling, and optimizing modern web assets.
- [Modern Web Development Environments](https://awesome-repositories.com/f/development-tools-productivity/modern-web-development-environments.md) — Provides an integrated local environment with hot reloading and filesystem routing for fast iteration.
- [Web Development Tooling](https://awesome-repositories.com/f/development-tools-productivity/web-development-tooling.md) — Provides unified build tooling for processing HTML, CSS, and JavaScript into production-ready bundles.
- [Build Pipeline Plugins](https://awesome-repositories.com/f/development-tools-productivity/build-pipeline-plugins.md) — Provides a plugin-driven build pipeline with presets and loaders to handle custom file types and transformations.

### Programming Languages & Runtimes

- [ES Module Bundling](https://awesome-repositories.com/f/programming-languages-runtimes/module-organization/es-module-bundling.md) — Provides an ES module bundler that optimizes source files into production-ready assets using standard JavaScript module resolution.
- [JavaScript Module Bundlers](https://awesome-repositories.com/f/programming-languages-runtimes/javascript-module-bundlers.md) — Serves as an ES modules bundler that optimizes JavaScript source files and dependencies into production assets.
- [Web Worker Integrations](https://awesome-repositories.com/f/programming-languages-runtimes/language-features-paradigms/concurrency-models/concurrency/execution-models/web-worker-integrations.md) — Integrates web worker management to offload heavy computations from the main UI thread.

### Part of an Awesome List

- [Web Servers and Middleware](https://awesome-repositories.com/f/awesome-lists/devtools/web-servers-and-middleware.md) — Ships a local development server featuring middleware support and integrated hot reloading.
- [Frontend Frameworks](https://awesome-repositories.com/f/awesome-lists/devtools/frontend-frameworks.md) — All-in-one development tool for modern web applications.

### Software Engineering & Architecture

- [Static Prerendering](https://awesome-repositories.com/f/software-engineering-architecture/software-architecture/architectural-patterns/layering-presentation/application-layer-architectures/application-architecture-patterns/single-page-applications/static-prerendering.md) — Generates static HTML files from JavaScript applications via prerendering to improve load speeds and SEO.
- [Worker Bundling](https://awesome-repositories.com/f/software-engineering-architecture/worker-thread-patterns/javascript-worker-threads/worker-bundling.md) — Compiles and bundles service worker scripts to enable offline asset management.

### Web Development

- [Bundlers](https://awesome-repositories.com/f/web-development/browser-integration-utilities/browser-infrastructure/service-worker-controls/service-worker-libraries/bundlers.md) — Provides a specialized bundler for service worker scripts to manage offline caching and background execution.
- [Service Worker Generators](https://awesome-repositories.com/f/web-development/browser-integration-utilities/browser-infrastructure/service-worker-controls/service-worker-libraries/service-worker-generators.md) — Bundles and serves service worker scripts to enable offline capabilities and asset caching. ([source](https://github.com/preactjs/wmr/wiki/Configuration-Recipes))
- [Service Worker Bundlers](https://awesome-repositories.com/f/web-development/browser-integration-utilities/browser-infrastructure/service-worker-controls/service-worker-libraries/service-worker-generators/service-worker-bundlers.md) — Includes a dedicated service worker bundler to enable offline caching and asset management.
- [Development Servers](https://awesome-repositories.com/f/web-development/development-servers/development-servers.md) — Provides a local development server with hot reloading for rapid iteration on web applications. ([source](https://cdn.jsdelivr.net/gh/preactjs/wmr@main/README.md))
- [File-System Based Routing](https://awesome-repositories.com/f/web-development/dynamic-routing/file-system-based-routing.md) — Automatically maps directory and file structures to application URLs for seamless filesystem-based routing.
- [Filesystem-Based Routing](https://awesome-repositories.com/f/web-development/filesystem-based-routing.md) — Automatically maps the project's folder structure to application routes for effortless navigation setup. ([source](https://github.com/preactjs/wmr/wiki/Configuration-Recipes))
- [Static Site Generators](https://awesome-repositories.com/f/web-development/static-site-generators.md) — Transforms source files into minified static HTML and assets via prerendering.
- [Web Application Development Toolkits](https://awesome-repositories.com/f/web-development/web-application-development-toolkits.md) — Combines a production compiler with a hot-reloading server and filesystem routing for web app development.
- [Background Processing Workers](https://awesome-repositories.com/f/web-development/background-processing-workers.md) — Enables offloading heavy JavaScript computations to background threads to maintain UI responsiveness. ([source](https://wmr.dev/docs/web-workers))
- [Build Pipeline Extenders](https://awesome-repositories.com/f/web-development/build-pipeline-extenders.md) — Provides interfaces and hooks to extend the asset bundling and static site generation process with custom plugins. ([source](https://wmr.dev/docs))
- [Development Server Middleware](https://awesome-repositories.com/f/web-development/express-integrations/development-server-middleware.md) — Allows the injection of custom middleware into the development server to control request handling and HTTP headers. ([source](https://wmr.dev/docs/configuration))
- [Production Asset Bundling](https://awesome-repositories.com/f/web-development/production-asset-bundling.md) — Processes and minifies source code and styles into optimized, production-ready bundles. ([source](https://cdn.jsdelivr.net/gh/preactjs/wmr@main/README.md))
- [Request Middleware](https://awesome-repositories.com/f/web-development/request-middleware.md) — Implements middleware for intercepting and modifying HTTP requests before they reach the application controller.
- [On-Demand Bundling](https://awesome-repositories.com/f/web-development/static-file-servers/on-demand-source-serving/on-demand-bundling.md) — Transforms source files into browser-ready assets on demand during request time for faster development iteration.
- [Web Worker Orchestrators](https://awesome-repositories.com/f/web-development/web-worker-orchestrators.md) — Provides native integration for spawning web workers to handle intensive processing without blocking the main thread. ([source](https://github.com/preactjs/wmr/wiki/Configuration-Recipes))

### DevOps & Infrastructure

- [Build Pipeline Extensions](https://awesome-repositories.com/f/devops-infrastructure/cicd-pipeline-automation/core-build-engines/build-tooling/build-pipeline-extensions.md) — Offers programmatic interfaces and plugins to inject custom logic and hooks into the build and server pipelines. ([source](https://cdn.jsdelivr.net/gh/preactjs/wmr@main/README.md))
- [Production Builds](https://awesome-repositories.com/f/devops-infrastructure/cicd-pipeline-automation/core-build-engines/build-tooling/build-pipeline-extensions/production-build-apis/production-builds.md) — Compiles source code into optimized static files and minified bundles ready for production deployment. ([source](https://wmr.dev/docs/cli))
