From d28d251825a398f8e3531bf8fb4639f2958dcec8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=A5=9E=E4=BB=A3=E7=B6=BA=E5=87=9B?= Date: Sun, 9 Jun 2024 13:25:12 +0800 Subject: [PATCH] feat: PWA --- bun.lockb | Bin 243936 -> 370675 bytes env.d.ts | 1 + index.html | 8 ++++++-- package.json | 1 + public/manifest.json | 16 ---------------- src/main.ts | 1 + src/setup/serviceWorker.ts | 3 +++ vite.config.ts | 29 +++++++++++++++++++++++++++++ 8 files changed, 41 insertions(+), 18 deletions(-) delete mode 100644 public/manifest.json create mode 100644 src/setup/serviceWorker.ts diff --git a/bun.lockb b/bun.lockb index 8ec99f3424791d7703b141425b71f734bf293313..80c565c97607518ac4ab9df1e97d1e1a5d93dea2 100755 GIT binary patch delta 127992 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