92 lines
2.5 KiB
TypeScript
92 lines
2.5 KiB
TypeScript
import { defineConfig } from "vite";
|
|
import react from "@vitejs/plugin-react";
|
|
import { VitePWA } from "vite-plugin-pwa";
|
|
|
|
// https://vitejs.dev/config/
|
|
export default defineConfig({
|
|
base: process.env.VITE_BASE ?? "/",
|
|
build: {
|
|
target: ["chrome89", "edge89", "firefox89", "safari15"],
|
|
sourcemap: true,
|
|
},
|
|
plugins: [
|
|
react(),
|
|
VitePWA({
|
|
registerType: "prompt",
|
|
// strategies: "injectManifest",
|
|
// srcDir: "src",
|
|
// filename: "sw.ts",
|
|
// devOptions: {
|
|
// // NOTE: ESM service workers is not supported by firefox
|
|
// type: "module",
|
|
// enabled: true,
|
|
// },
|
|
workbox: {
|
|
// This increase the cache limit to 3mB
|
|
maximumFileSizeToCacheInBytes: 2097152 * 1.5,
|
|
},
|
|
manifest: {
|
|
name: "posterStrudel",
|
|
short_name: "posterStrudel",
|
|
description: "A sandbox for exploring nostr",
|
|
display: "standalone",
|
|
orientation: "portrait-primary",
|
|
theme_color: "#8DB600",
|
|
categories: ["social"],
|
|
icons: [
|
|
{ src: "/favicon.ico", type: "image/x-icon", sizes: "16x16 32x32" },
|
|
{ src: "/icon-192.png", type: "image/png", sizes: "192x192" },
|
|
{ src: "/icon-512.png", type: "image/png", sizes: "512x512" },
|
|
{ src: "/icon-192-maskable.png", type: "image/png", sizes: "192x192", purpose: "maskable" },
|
|
{ src: "/icon-512-maskable.png", type: "image/png", sizes: "512x512", purpose: "maskable" },
|
|
],
|
|
lang: "en",
|
|
start_url: "/",
|
|
scope: "/",
|
|
shortcuts: [
|
|
{
|
|
name: "Notifications",
|
|
url: "/#/notifications",
|
|
description: "",
|
|
},
|
|
{
|
|
name: "Notes",
|
|
url: "/#/",
|
|
description: "",
|
|
},
|
|
{
|
|
name: "Notifications",
|
|
url: "/#/notifications",
|
|
description: "",
|
|
},
|
|
{
|
|
name: "Messages",
|
|
url: "/#/dm",
|
|
description: "",
|
|
},
|
|
{
|
|
name: "Streams",
|
|
url: "/#/streams",
|
|
description: "",
|
|
},
|
|
{
|
|
name: "Wiki",
|
|
url: "/#/wiki",
|
|
description: "",
|
|
},
|
|
],
|
|
protocol_handlers: [
|
|
{
|
|
protocol: "web+nostr",
|
|
url: "/l/%s",
|
|
},
|
|
{
|
|
protocol: "nostr",
|
|
url: "/l/%s",
|
|
},
|
|
],
|
|
},
|
|
}),
|
|
],
|
|
});
|