anydrop/web/vite.config.ts
ordinarthur fd249abbf1
All checks were successful
Build & Deploy / build-and-deploy (push) Successful in 1m1s
feat: push notifications + background transfer alerts
- Web Push API for offline device notifications
- Custom service worker with push event handling
- Local notifications for background tab transfers
- VAPID keys in K8s config
- Persistent deviceId per device
2026-04-14 12:03:43 +02:00

55 lines
1.3 KiB
TypeScript

import { defineConfig } from "vite";
import react from "@vitejs/plugin-react";
import { VitePWA } from "vite-plugin-pwa";
import { nodePolyfills } from "vite-plugin-node-polyfills";
export default defineConfig({
define: {
global: "globalThis",
},
plugins: [
react(),
nodePolyfills({
include: ["process", "events", "stream", "buffer", "util"],
}),
VitePWA({
strategies: "injectManifest",
srcDir: "src",
filename: "sw.ts",
registerType: "autoUpdate",
includeAssets: ["favicon.svg"],
injectManifest: {
globPatterns: ["**/*.{js,css,html,ico,png,svg,woff2}"],
},
manifest: {
name: "AnyDrop",
short_name: "AnyDrop",
description: "Partage de fichiers instantané, peer-to-peer, sans compte",
theme_color: "#6366f1",
background_color: "#0f172a",
display: "standalone",
start_url: "/",
icons: [
{
src: "/icon-192.png",
sizes: "192x192",
type: "image/png",
},
{
src: "/icon-512.png",
sizes: "512x512",
type: "image/png",
},
],
},
devOptions: {
enabled: false,
},
}),
],
server: {
port: 5173,
host: true,
},
});