30 open-source projects similar to googlechromelabs/sw-precache, ranked by how many features they have in common. Compare stars, activity and what each one does to find the best Sw Precache alternative.
sw-precache is a service worker precache generator used to create scripts that enable offline functionality for web applications. It acts as a build-time asset cache manager that hashes static files and manages their versioning within a service worker cache. The project provides a runtime cache configurator to define caching strategies and request handlers for dynamic content based on URL patterns. It also includes an offline fallback handler to intercept network failures and serve cached fallback pages. The toolset covers the generation of service worker code and manifests, content-hash bas
Workbox is a modular library and toolkit designed for managing service workers in progressive web applications. It provides a comprehensive framework for handling asset caching, request routing, and background script lifecycle management, enabling developers to build web applications that function reliably offline and load efficiently. The project distinguishes itself through a declarative routing engine and a plugin-based architecture that allows for the injection of custom logic into the request and response processing pipeline. It supports advanced caching patterns, such as cache-first or
This is a build tool for adding progressive web app capabilities to Vite projects. It automates the generation of web app manifests and service workers, enabling websites to become installable on mobile and desktop devices. The project provides a specialized asset pipeline that generates a complete set of required application icons and theme colors from a single source image. It also manages the service worker lifecycle, offering both automatic generation and the ability to compile custom service worker files with an integrated precache manifest. The plugin covers broad capability areas incl
Vendure is a Node.js e-commerce engine and headless commerce framework built with NestJS and TypeScript. It serves as a multi-channel commerce platform that manages product catalogs, orders, and customers via a strongly typed GraphQL API. The platform is distinguished by its highly extensible architecture, featuring a customizable administrative dashboard where developers can inject custom React components and entity views. It supports multi-channel commerce, allowing the isolation of products, currencies, and regional catalogs from a single unified backend. The engine covers a broad range o
next-pwa is a plugin for adding progressive web app capabilities and offline support to Next.js applications. It provides a configuration layer and a Workbox-based generator to automate the creation, registration, and installation of service workers and web app manifests. The tool enables developers to implement custom service worker logic by injecting TypeScript or JavaScript scripts to define specialized caching strategies and request interception behaviors. It also includes mechanisms for detecting application updates and prompting users to refresh the page when a new version is available.
koa2-note is a project focused on Koa2 web server development and Node.js asynchronous programming. It provides a framework for building web servers and APIs using an asynchronous middleware pipeline to handle request and response cycles. The project emphasizes a layered backend architecture that decouples routing, business services, and data models. It distinguishes itself through the integration of relational databases for persisting user sessions and application data, alongside a build process that includes JSX-to-JavaScript compilation for frontend assets. The capability surface covers b
This project is a webpack plugin that implements a service worker to manage web assets for offline access. It serves as a caching tool to ensure web applications remain functional and accessible when an internet connection is unavailable. The tool automates the process of creating progressive web applications by integrating directly into the webpack build process. It generates the necessary service worker configurations and manages the local storage of static files to maintain application availability. The system handles asset caching and cache management, utilizing a manifest-driven approac
SVGR is a tool that transforms static SVG files into reusable React components for direct rendering within user interface trees. It functions as an AST-based code transformer and build-time asset pipeline, parsing SVG XML into an abstract syntax tree to modify elements before generating JavaScript source code. The project integrates an external optimization engine to strip redundant metadata and minify attributes, ensuring vector images are flexible and easy to style. It uses recursive tree traversal to apply these transformations to all nested graphic elements and employs attribute mapping t
This project is a comprehensive collection of web development reference guides and technical cheat sheets. It provides a curated set of markdown-based documentation designed to help developers quickly locate syntax patterns and API examples for common web technologies and programming languages. The repository serves as a specialized reference library covering several distinct technical domains. It includes extensive guides for CSS, focusing on selectors, Flexbox, Grid, and responsive layout properties, as well as a DevOps command reference for Docker, Kubernetes, AWS, Ansible, and general she
ServiceStack is a high-performance .NET web framework designed for building type-safe APIs using strongly-typed request and response objects. It functions as a message-based API engine that decouples business logic from the transport layer, allowing services to be exposed via multiple protocols including HTTP, gRPC, and various message queue providers. The framework is distinguished by its type-safe API generator, which produces native client SDKs and data transfer objects from service metadata across multiple languages. It also includes a distributed service gateway for microservices orchest
This project is a request router and web framework for the Go programming language. It provides a toolkit for matching incoming HTTP network requests to specific handler functions by evaluating criteria such as URL paths, request methods, headers, and hostnames. The framework distinguishes itself through its flexible matching capabilities, which include support for regular expressions and dynamic variable extraction from URL segments. It allows developers to organize routes into logical hierarchies, share common path prefixes, and maintain a central registry of named routes to facilitate prog
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
preact-cli is a command line interface and build pipeline for initializing, developing, and deploying Preact applications. It functions as a project scaffolding tool that uses predefined templates to generate the necessary directory structures and boilerplate for new web applications. The tool provides specialized capabilities for creating progressive web apps by generating service workers and caching strategies for offline functionality. It also includes a static site pre-renderer that converts application routes into HTML files during the build process to improve search engine visibility an
This project is a Vite plugin that transforms web applications into Progressive Web Apps by automating the generation of service workers and web app manifests. It provides a suite of pipelines and generators designed to enable device installation, offline functionality, and automated asset management. The plugin features a dedicated asset pipeline that generates a complete set of required application icons and splash screens from a single source image. It also includes a state manager that uses reactive primitives to synchronize service worker registration and update status with the applicati
Hono is a lightweight web framework built on Web Standard APIs that executes across JavaScript runtimes including Cloudflare Workers, Deno, Bun, and Node.js.
Axum is a web framework for the Rust programming language designed for building scalable and high-performance backend services. It provides a modular, asynchronous programming model that centers on a declarative routing engine, allowing developers to map HTTP requests to handler functions using a type-safe API. The framework distinguishes itself through a robust request extraction system that leverages trait-based reflection to automatically parse and validate incoming data into strongly typed function arguments. By utilizing a standardized service abstraction, it enables the composition of m
Hug is a Python API framework used for building web services by mapping functions to HTTP endpoints via decorators and type annotations. It functions as a type-based validator that automatically converts and validates incoming request data based on Python type hints and serves as a WSGI-compliant web framework for deployment on production servers. The project is distinguished by its ability to automatically generate API specifications and user-facing documentation derived from function signatures. It further extends the utility of internal logic by exposing functions as terminal commands thro
Codis is a distributed proxy system designed for scaling Redis clusters. It provides a sharding proxy that distributes data across multiple instances and a cluster manager to oversee the environment. The system enables horizontal scaling through dynamic resharding, which allows data slots to be migrated between servers without interrupting operations. It supports multi-key atomic operations using hash tags to ensure related keys are routed to the same server. The platform includes a graphical cluster management dashboard for monitoring and administration. It implements high availability prox
Crow is a minimalist C++ micro web framework designed for building fast web servers and REST APIs. It provides a lightweight toolkit for web development in C++, offering core routing and request handling capabilities. The framework includes a built-in JSON parser for converting strings into structured data and an HTML template engine for generating dynamic web pages on the server. It also functions as a WebSocket server library to enable bidirectional, real-time communication between servers and web clients. Additional capabilities include a middleware-based request pipeline for executing sh
Choo is a minimalist frontend framework providing a tiny foundation for building web applications. It functions as an event-driven application core that decouples business logic from rendering and includes a client-side router to manage browser history and URL mapping without page reloads. The project distinguishes itself through an architecture that combines a server-side rendering engine for generating static HTML strings with a stateful UI component library. This allows for the creation of self-contained interface elements that maintain internal data and persist across global renders. The
Yarp is a .NET HTTP reverse proxy toolkit and framework used to build applications that route network traffic to backend servers. It provides a customizable routing engine for directing incoming requests to specific destination targets based on defined matching patterns. The project enables the implementation of API gateways and reverse proxies by providing tools for dynamic request routing and custom load balancing across pools of backend servers. The toolkit covers traffic management capabilities including cluster-based load balancing, configuration-driven route matching, and support for H
Iron is a Rust web framework used for building concurrent web applications and APIs. It functions as a concurrent HTTP server and provides a stateless route dispatcher to map incoming URL paths and globs to specific handler functions. The project is centered around a middleware-based request pipeline, which allows the request-response cycle to be extended via plugins and modifiers. It utilizes a thread-safe state container to store shared application memory accessible across all concurrent handlers and middleware. The framework covers broad capability areas including dynamic API routing, sta
JupyterHub is a multi-user platform for hosting and managing isolated Jupyter notebook server instances on a single system or cluster. It serves as a notebook server orchestrator that spawns and monitors individual computing environments on demand. The system uses a plugin-based spawner interface to launch these environments across diverse infrastructure, including local processes, containers, or cloud clusters. It integrates with external identity providers and supports pluggable authentication to verify user identities and secure access. The framework includes centralized administration to
This project is a Node.js HTTP reverse proxy middleware designed to route incoming HTTP and WebSocket traffic to target backend services. It functions as a dynamic routing engine and API gateway tool, providing the capability to consolidate multiple backend services behind a single entry point. The middleware features a WebSocket proxy bridge that manages protocol upgrade handshakes to maintain persistent bidirectional communication. It also includes a request and response transformer used to intercept and modify headers, bodies, and URL paths during transit. The system provides broad traffi
This project is a framework-agnostic routing component for PHP applications designed to map incoming web requests to specific controller methods or functions. It serves as a utility for managing request dispatching and URL mapping within server-side web environments. The library identifies the correct handler by matching request URLs against predefined patterns using regular expressions and verifying the request verb against specific method requirements. It supports the construction of RESTful API endpoints and facilitates the execution of logic through a middleware pipeline that can inspect
Martini is a web framework for the Go programming language that provides a toolkit for building web applications. It functions as a routing engine and an HTTP middleware pipeline to map network requests to specific handler functions. The framework is distinguished by its dependency injection system, which automatically resolves and provides requested service types as arguments to handler functions. This allows for the decoupling of business logic from infrastructure by matching requested types against a registry of available services. The project covers a broad range of web capabilities, inc
Spin is a WebAssembly serverless framework and development toolchain for building and running portable microservices. It functions as an event-driven orchestrator and runtime that executes WebAssembly components, allowing developers to map HTTP requests, Redis messages, and cron schedules to specific modules. The project distinguishes itself by implementing a Wasm-based AI inference gateway, enabling components to perform model inference and generate text embeddings. It utilizes the WebAssembly Component Model and WASI for language-agnostic composition and portable host interfacing, while emp
CodeIgniter is an open-source PHP web framework and application toolkit designed for server-side development. It implements a model-view-controller architecture to separate internal data representations from the user interface. The framework utilizes a front-controller architecture to direct all incoming web requests through a single entry point for URI parsing and request dispatching. It includes a dependency injection container to resolve class dependencies and manage the lifecycle of core system components. The toolkit provides capabilities for routing management, database interactions, a
This project is a GitHub Actions cache action designed to persist build state, dependencies, and compiled outputs across different runner environments and pipeline executions. It functions as a continuous integration dependency cache that utilizes content hashes to store and retrieve files, reducing installation time between workflow runs. The system distinguishes itself through cross-platform build caching, allowing build data to be transferred between different operating systems and runner architectures when the files are platform-independent. It also implements branch-based cache isolation
Director is a routing library for JavaScript that handles URL and command-line pattern matching across client-side, server-side, and CLI environments. It provides a unified approach to defining routes as nested object literals, where each key maps to a URL segment and its handler, supporting both hash fragment monitoring and the HTML5 History API for browser navigation without page reloads. The library distinguishes itself through its ability to operate in multiple contexts with a single routing paradigm. It supports asynchronous handler queue execution for sequential tasks like authenticatio