Strip the desktop package description to "Backspace" so Windows Task Manager shows the bare product name instead of the long tagline. Unify the web meta description and PWA manifest description on a single positioning line that names Discord and TeamSpeak as the comparison targets — improves link-preview copy and SEO surface.
63 lines
1.8 KiB
TypeScript
63 lines
1.8 KiB
TypeScript
/// <reference types="vitest" />
|
|
import { defineConfig } from 'vite';
|
|
import react from '@vitejs/plugin-react';
|
|
import { VitePWA } from 'vite-plugin-pwa';
|
|
import path from 'path';
|
|
|
|
export default defineConfig({
|
|
plugins: [
|
|
react(),
|
|
VitePWA({
|
|
registerType: 'autoUpdate',
|
|
includeAssets: ['icons/favicon-32.png', 'icons/favicon-16.png', 'icons/apple-touch-icon.png'],
|
|
manifest: {
|
|
name: 'Backspace',
|
|
short_name: 'Backspace',
|
|
description: 'The self-hosted Discord and TeamSpeak alternative. HD voice, video, and screen share — open-source and free.',
|
|
display: 'standalone',
|
|
start_url: '/',
|
|
theme_color: '#0b0b10',
|
|
background_color: '#0b0b10',
|
|
icons: [
|
|
{ src: '/icons/icon-192.png', sizes: '192x192', type: 'image/png' },
|
|
{ src: '/icons/icon-512.png', sizes: '512x512', type: 'image/png' },
|
|
{ src: '/icons/icon-maskable-512.png', sizes: '512x512', type: 'image/png', purpose: 'maskable' },
|
|
],
|
|
},
|
|
workbox: {
|
|
navigateFallback: '/index.html',
|
|
navigateFallbackDenylist: [/^\/api/, /^\/ws/, /^\/uploads/],
|
|
skipWaiting: true,
|
|
clientsClaim: true,
|
|
cleanupOutdatedCaches: true,
|
|
maximumFileSizeToCacheInBytes: 3 * 1024 * 1024,
|
|
},
|
|
}),
|
|
],
|
|
test: {
|
|
globals: true,
|
|
environment: 'jsdom',
|
|
setupFiles: ['./src/test/setup.ts'],
|
|
css: false,
|
|
},
|
|
resolve: {
|
|
extensions: ['.tsx', '.ts', '.jsx', '.js', '.mjs', '.mts', '.json'],
|
|
alias: {
|
|
'@': path.resolve(__dirname, './src'),
|
|
},
|
|
},
|
|
server: {
|
|
port: 5173,
|
|
proxy: {
|
|
'/api': {
|
|
target: 'http://localhost:3005',
|
|
changeOrigin: true,
|
|
},
|
|
'/ws': {
|
|
target: 'ws://localhost:3005',
|
|
ws: true,
|
|
},
|
|
},
|
|
},
|
|
});
|