Documentation: PWA integrations for Vite and the ecosystem

Overview

Documentation for PWA integrations for Vite and the ecosystem
Documentation: PWA integrations for Vite and the ecosystem

Documentation & Guides
GitHub stars


🚀 Features

  • 📖 Documentation & guides
  • 👌 Zero-Config: sensible built-in default configs for common use cases
  • 🔩 Extensible: expose the full ability to customize the behavior of the plugin
  • 🦾 Type Strong: written in TypeScript
  • 🔌 Offline Support: generate service worker with offline support (via Workbox)
  • Fully tree shakable: auto inject Web App Manifest
  • 💬 Prompt for new content: built-in support for Vanilla JavaScript, Vue 3, React, Svelte, SolidJS and Preact
  • ⚙️ Stale-while-revalidate: automatic reload when new content is available
  • Static assets handling: configure static assets for offline support
  • 🐞 Development Support: debug your custom service worker logic as you develop your application

📦 Integrations

📄 License

MIT License © 2021-PRESENT Anthony Fu

Comments
  • Remove cache directive for workbox-* files

    Remove cache directive for workbox-* files

    The workbox-window.prod.es5.[HASH].js file is being generated by vite inside assets directory, There are no files generated matching above glob in dist directory.

    There is no need for special cache directive, caching is already covered by location ^~ /assets/ block.

    opened by piotr-cz 3
  • chore: add new features for `0.14` version

    chore: add new features for `0.14` version

    This PR includes:

    • automatic reload != automatic page reload
    • disabling injection point (inject manifest)
    • iief rollup build format: unexpected service worker exports (inject manifest)
    opened by userquin 1
  • docs: Updates inject-manifest docs to explicitly mention devOptions

    docs: Updates inject-manifest docs to explicitly mention devOptions

    Just a small docs update to hopefully save someone a lot of pain.

    Whilst following the docs for injecting a custom service worker I kept running into the Cannot use import statement outside a module error. After spending a long time on it, I eventually found that it's 100% answered in the docs already, so I'm just making that more clear.

    I think this could be a pretty common use case, a user is developing a custom service worker, they're reading the custom service worker docs and they're copying the code samples with imports in them, so hopefully this is useful.

    Cheers

    opened by lukebatchelor 1
  • NGINX: Load default system mime types

    NGINX: Load default system mime types

    Without the include mime.types; directive within the server block types overrides system ones and in effect all files except .webmanifest are served with Content-Type: application/octet-stream.

    See this SO answer for more details

    opened by piotr-cz 1
  • The backround sync does not work immediately

    The backround sync does not work immediately

    I try to get the backround sync running for a PWA with this config:

    workbox: {
            runtimeCaching: [
              {
                handler: "NetworkOnly",
                urlPattern: new RegExp("^https://localhost/api/basic_packages$"),
                method: "POST",
                options: {
                  backgroundSync: {
                    name: "postQueue",
                    options: {
                      maxRetentionTime: 24 * 60,
                    },
                  },
                },
              },
    

    I clear all local storages and caches and load the application in browser. I install the application. I select the checkbox "offline" for serviceworker in devtools of chrome. The post requests do not end up in the queue. But if i reload the PWA while offline, it suddenly works. The matching requests end up in the queue like expceted.

    If i use a string instead of the regexp, it works from the beginning without the reload.

    What could be the problem?

    opened by realconvis 1
  • Update SvelteKit docs to reflect latest version

    Update SvelteKit docs to reflect latest version

    hydrate no longer exists and SvelteKit's service worker now works in dev mode. SvelteKit's dev-mode support only works in Chrome though - I'm not sure if there's any restriction like that in the PWA plugin? If not, we could add back that sentence with the additional clarification

    opened by benmccann 1
  • Change dist folder?

    Change dist folder?

    I've configured my vite to use another dist folder:

    build: {
        target: 'esnext',
        outDir: '../dist',
        emptyOutDir: true,
      },
    

    I notice that when building vite with VitePWA dev mode enabled, it creates anopther folder called 'dev-dist' that contains the registerSW.js, sw.js and workbox-*.js files.

    Is there a way to configure where these files are put? I just want them to go into the vite configured dist folder.

    opened by jrj2211 1
  • SvelteKit install instruction fail - no permission or does not exist in NPM registry

    SvelteKit install instruction fail - no permission or does not exist in NPM registry

    Hi

    Below instruction fails while wanting to install Vite PWA for SvelteKit on https://vite-pwa-org.netlify.app/frameworks/sveltekit.html

    PROMTP> pnpm add -D @vite-pwa/sveltekit
     ERR_PNPM_FETCH_404  GET https://registry.npmjs.org/@vite-pwa%2Fsveltekit: Not Found - 404
    
    This error happened while installing a direct dependency of C:\Data\src\crap\kitrcionictest
    
    @vite-pwa/sveltekit is not in the npm registry, or you have no permission to fetch it.
    
    No authorization header was set for the request.
    Progress: resolved 17, reused 17, downloaded 0, added 0
    

    Install via npm also does not work npm i -D @vite-pwa/sveltekit. Same error.

    opened by Tommertom 1
Owner
Vite PWA
PWA integrations for Vite and the ecosystem
Vite PWA
Persistent key/value data storage for your Browser and/or PWA, promisified, including file support and service worker support, all with IndexedDB. Perfectly suitable for your next (PWA) app.

BrowstorJS ?? ?? ?? Persistent key/value data storage for your Browser and/or PWA, promisified, including file support and service worker support, all

Nullix 8 Aug 5, 2022
Grupprojekt för kurserna 'Javascript med Ramverk' och 'Agil Utveckling'

JavaScript-med-Ramverk-Laboration-3 Grupprojektet för kurserna Javascript med Ramverk och Agil Utveckling. Utvecklingsguide För information om hur utv

Svante Jonsson IT-Högskolan 3 May 18, 2022
Hemsida för personer i Sverige som kan och vill erbjuda boende till människor på flykt

Getting Started with Create React App This project was bootstrapped with Create React App. Available Scripts In the project directory, you can run: np

null 4 May 3, 2022
Kurs-repo för kursen Webbserver och Databaser

Webbserver och databaser This repository is meant for CME students to access exercises and codealongs that happen throughout the course. I hope you wi

null 14 Jan 3, 2023
A magical vite plugin that helps you to generate and manage documentation website.

vite-plugin-book A magical vite plugin that helps you to generate and manage documentation website. ⚠️ This project is still WIP. It's a MVP now. A bu

Mirone 89 Dec 20, 2022
⚗️Nitro provides a powerful toolchain and a runtime framework from the UnJS ecosystem to build and deploy any JavaScript server, anywhere

⚗️Nitro provides a powerful toolchain and a runtime framework from the UnJS ecosystem to build and deploy any JavaScript server, anywhere

unjs 1.3k Jan 5, 2023
Solidex is a list of SolidJS ecosystem resources and packages.

Solidex The following is a list of articles, packages and other resources that focus on the SolidJS ecosystem. Solidex is a platform for listing and m

Solid 7 Dec 18, 2022
Toolkit for development, test and deploy smart-contracts on Waves Enterprise ecosystem.

JS Contract SDK Toolkit for development, test and deploy smart-contracts on Waves Enterprise ecosystem. Quickstart The fastest way to get started with

Waves Enterprise 20 Dec 15, 2022
2omb ecosystem

?? Welcome to the 2omb ecosystem ?? [ Thanks for taking the time to contribute! You can start by reading our Contribution guidelines first.](url) Setu

2omb Finance 3 Feb 20, 2022
A tool to get plugin statistics of Obsidian plugin ecosystem.

Obsidian Plugin Stats A tool to get plugin statistics of Obsidian plugin ecosystem. Usage You can use this tool to see the plugins that has hit commun

Ganessh Kumar 27 Dec 25, 2022
Internationalization for svelte framework. Based on i18next ecosystem

svelte-i18next Svelte wrapper for i18next npm i svelte-i18next i18next Implementation This library wraps an i18next instance in a Svelte Store to obs

Nishu Goel 20 Dec 9, 2022
API dot Open Sauced is NestJS and SupaBase powered OAS3 backend designed to remove client complexity and provide a structured graph of all @open-sauced integrations

?? Open Sauced Nest Supabase API ?? The path to your next Open Source contribution ?? Prerequisites In order to run the project we need the following

TED Vortex (Teodor-Eugen Duțulescu) 13 Dec 18, 2022
Windmill: Open-source platform and runtime to turn any scripts into internal apps, integrations and workflows

. Open-source and self-hostable alternative to Airplane, Pipedream, Superblocks and a simplified Temporal with autogenerated UIs to trigger flows and

Windmill Labs, Inc 1.6k Jan 4, 2023
A complete template for 2022 focused on around React, Postgres and various web3 integrations.

A complete template for 2022 focused on around React, Postgres and various web3 integrations. You can use the template to make a website, a web application, a hybrid decentralized web application, or even a DAO.

jim 45 Dec 22, 2022
Like Obsidian Publish but for self-hosting. Plugin integrations for dataview, admonition, and more.

Obsidian Export Obsidian Publish is great but lacks support for many of the plugins we Obsidian addicts have grown accustomed to — in particular Datav

null 12 Nov 28, 2022
A highly customizable homepage (or startpage / application dashboard) with Docker and service API integrations.

Features Web Bookmarks Service Bookmarks Docker Integration Status light + CPU, Memory & Network Reporting (click on the status light) Service Integra

Ben Phelps 3.5k Dec 30, 2022
Manage GitHub resources like repositories, teams, members, integrations and workflows with the AWS CDK as Custom Resources in CloudFormation.

CDK Github Manage GitHub resources like repositories, teams, members, integrations and workflows with the AWS CDK as Custom Resources in CloudFormatio

Pepperize 8 Nov 25, 2022
TypeScript plugin for service-to-service (aka. "functionless") cloud integrations.

Functionless λ< Functionless is a TypeScript plugin that transforms TypeScript code into Service-to-Service (aka. "functionless") integrations, such a

sam 303 Jan 2, 2023
Open source infrastructure for scalable, reliable native integrations in B2B SaaS products

Open-source infrastructure for native integrations Native, customer-facing integrations for your B2B SaaS made simple, reliable and extensible. Explor

Nango 225 Jan 2, 2023