A CLI tool to quickly scaffold and build Preact Progressive Web Apps with best practices out of the box.
Preact CLI is a command-line tool that scaffolds and builds high-performance Preact Progressive Web Apps with minimal setup. It automates best practices like code splitting, pre-rendering, and Service Worker generation, enabling developers to create fast, offline-capable web applications quickly. The tool provides a production-ready build pipeline and development server optimized for modern web standards.
Frontend developers and teams building lightweight, performant web applications with Preact who want a streamlined development workflow and automatic optimization for PWAs.
Developers choose Preact CLI for its zero-configuration approach to achieving perfect Lighthouse scores, built-in performance optimizations like the PRPL pattern, and the ability to start developing a fully-featured PWA in seconds without manual tooling setup.
😺 Your next Preact PWA starts in 30 seconds.
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Delivers a 100/100 Lighthouse score out of the box with automatic Service Worker generation for offline support, as proven in the README.
Implements route-based and component-level splitting seamlessly via an async loader, reducing initial bundle sizes without manual configuration.
Supports pre-rendering and SSR hydration by default, enhancing SEO and initial load times without additional setup.
Includes a dev server with HMR, HTTPS support, and debugging helpers, plus CSS preprocessor support via plugins like Sass and Less.
The README explicitly warns that preact-cli is no longer actively developed, with Vite recommended for new projects, risking outdated dependencies and missing modern features.
Automatic code splitting only works with default exports, not named exports, which can force architectural changes or manual workarounds.
While extensible via preact.config.js, deviating from the opinionated defaults requires deep Webpack knowledge, as highlighted in the customization sections.