aboutsummaryrefslogtreecommitdiff
path: root/vite.config.ts
diff options
context:
space:
mode:
Diffstat (limited to 'vite.config.ts')
-rw-r--r--vite.config.ts38
1 files changed, 38 insertions, 0 deletions
diff --git a/vite.config.ts b/vite.config.ts
index 9b41f99..abf81c2 100644
--- a/vite.config.ts
+++ b/vite.config.ts
@@ -5,6 +5,7 @@ import vue from '@vitejs/plugin-vue';
import vueJsx from '@vitejs/plugin-vue-jsx';
import markdown from 'vite-plugin-md';
import svgLoader from 'vite-svg-loader';
+import { VitePWA } from 'vite-plugin-pwa';
// https://vitejs.dev/config/
export default defineConfig({
@@ -15,6 +16,43 @@ export default defineConfig({
vueJsx(),
markdown(),
svgLoader(),
+ VitePWA({
+ registerType: 'autoUpdate',
+ strategies: 'generateSW',
+ manifest: {
+ name: 'IT Tools',
+ description: 'Aggregated set of useful tools for developers.',
+ display: 'standalone',
+ lang: 'fr-FR',
+ start_url: '/?utm_source=pwa&utm_medium=pwa',
+ orientation: 'any',
+ theme_color: '#18a058',
+ background_color: '#f1f5f9',
+ icons: [
+ {
+ src: '/favicon-16x16.png',
+ type: 'image/png',
+ sizes: '16x16',
+ },
+ {
+ src: '/favicon-32x32.png',
+ type: 'image/png',
+ sizes: '32x32',
+ },
+ {
+ src: '/android-chrome-192x192.png',
+ sizes: '192x192',
+ type: 'image/png',
+ },
+ {
+ src: '/android-chrome-512x512.png',
+ sizes: '512x512',
+ type: 'image/png',
+ purpose: 'any maskable',
+ },
+ ],
+ },
+ }),
],
resolve: {
alias: {