calque/app.config.ts
2024-11-07 10:45:17 +01:00

88 lines
2.8 KiB
TypeScript

import { defineConfig } from '@solidjs/start/config';
import { VitePWA } from 'vite-plugin-pwa'
export default defineConfig({
vite: {
html: {
cspNonce: 'KAAS_IS_AWESOME',
},
plugins: [
VitePWA({
strategies: 'injectManifest',
mode: 'development',
registerType: 'autoUpdate',
injectRegister: false,
// pwaAssets: { disabled: false, config: true, htmlPreset: '2023', overrideManifestIcons: true },
workbox: {
globPatterns: ['**/*.{js,css,html,svg,png,svg,ico}'],
cleanupOutdatedCaches: true,
clientsClaim: true,
},
injectManifest: {
globPatterns: ['**/*.{js,css,html,svg,png,svg,ico}'],
},
base: '/',
manifest: {
name: 'Calque - manage your i18n files',
short_name: 'KAAS',
description: 'Simple tool for maitaining i18n files',
icons: [
{
src: '/images/favicon.dark.svg',
type: 'image/svg+xml',
sizes: 'any'
}
],
display_override: ['window-controls-overlay'],
screenshots: [
{
src: '/images/screenshots/narrow.png',
type: 'image/png',
sizes: '538x1133',
form_factor: 'narrow'
},
{
src: '/images/screenshots/wide.png',
type: 'image/png',
sizes: '2092x1295',
form_factor: 'wide'
}
],
file_handlers: [
{
action: '/edit',
accept: {
'text/*': [
'.json'
]
}
}
]
},
devOptions: {
enabled: true,
type: 'module',
navigateFallback: 'index.html',
resolveTempFolder: () => './.output/public',
},
}),
],
},
solid: {
babel: {
compact: true,
},
},
server: {
prerender: {
crawlLinks: true,
},
routeRules: {
'/manifest.json': { static: true }
},
},
});