placebo.mk/pwa/vite.config.ts
2026-07-24 04:02:04 +02:00

99 lines
2.4 KiB
TypeScript

import { defineConfig } from 'vite'
import react from '@vitejs/plugin-react'
import tailwindcss from '@tailwindcss/vite'
import { VitePWA } from 'vite-plugin-pwa'
import path from 'path'
export default defineConfig({
plugins: [
react(),
tailwindcss(),
VitePWA({
strategies: 'injectManifest',
srcDir: 'src',
filename: 'sw.ts',
registerType: 'autoUpdate',
includeAssets: ['icons/*.png', 'icons/*.svg'],
manifest: {
name: 'Placebo.mk',
short_name: 'Placebo',
description: 'Сатирични вести од Македонија',
lang: 'mk',
start_url: '/',
scope: '/',
display: 'standalone',
orientation: 'portrait-primary',
background_color: '#ffffff',
theme_color: '#000000',
categories: ['news', 'entertainment'],
icons: [
{
src: '/icons/icon-72.png',
sizes: '72x72',
type: 'image/png',
},
{
src: '/icons/icon-96.png',
sizes: '96x96',
type: 'image/png',
},
{
src: '/icons/icon-128.png',
sizes: '128x128',
type: 'image/png',
},
{
src: '/icons/icon-144.png',
sizes: '144x144',
type: 'image/png',
},
{
src: '/icons/icon-152.png',
sizes: '152x152',
type: 'image/png',
},
{
src: '/icons/icon-192.png',
sizes: '192x192',
type: 'image/png',
},
{
src: '/icons/icon-384.png',
sizes: '384x384',
type: 'image/png',
},
{
src: '/icons/icon-512.png',
sizes: '512x512',
type: 'image/png',
},
{
src: '/icons/icon-512-maskable.png',
sizes: '512x512',
type: 'image/png',
purpose: 'maskable',
},
],
},
devOptions: {
enabled: true,
type: 'module',
},
}),
],
resolve: {
alias: {
'@': path.resolve(__dirname, './src'),
},
preserveSymlinks: true,
},
optimizeDeps: {
include: ['react', 'react-dom', 'react-markdown'],
},
server: {
host: true,
port: 5174,
strictPort: true,
},
})