update manifest
Deploy app frontend / app frontend (push) Successful in 1m39s

This commit is contained in:
2024-12-05 13:20:25 +02:00
parent ddcda323a1
commit 463ad35737
10 changed files with 260 additions and 15 deletions
+45 -1
View File
@@ -1,16 +1,33 @@
import { fileURLToPath, URL } from 'node:url'
import { defineConfig } from 'vite'
import { defineConfig, loadEnv } from 'vite'
import vue from '@vitejs/plugin-vue'
import vueDevTools from 'vite-plugin-vue-devtools'
import Components from 'unplugin-vue-components/vite'
import { PrimeVueResolver } from '@primevue/auto-import-resolver'
import Info from 'unplugin-info/vite'
import AutoImport from 'unplugin-auto-import/vite'
import { unheadComposablesImports } from 'unhead'
import mockData, { type RouteConfig } from 'vite-plugin-mock-data'
import manifestJSON from 'rollup-plugin-manifest-json'
import { type ManifestOptions } from 'rollup-plugin-manifest-json/lib/types'
// https://vite.dev/config/
export default defineConfig(({ mode }) => {
console.log('Building in mode', mode)
process.env = { ...loadEnv(mode, process.cwd()), ...process.env }
const manifest: ManifestOptions & { id?: string } = Object.fromEntries(
Object.entries({
name: process.env.VITE_MANIFEST_NAME,
short_name: process.env.VITE_MANIFEST_SHORT_NAME,
id: process.env.VITE_MANIFEST_ID,
start_url: process.env.VITE_MANIFEST_START_URL,
scope: process.env.VITE_MANIFEST_SCOPE,
}).filter((entry) => entry[1] !== undefined),
)
return {
build: {
sourcemap: mode === 'development',
@@ -92,13 +109,40 @@ export default defineConfig(({ mode }) => {
},
plugins: [
vue(),
Info(),
AutoImport({
imports: ['vue', 'vue-router', unheadComposablesImports[0]],
}),
Components({
resolvers: [PrimeVueResolver()],
}),
vueDevTools(),
mockData({
mockRoutes: {
'/manifest.json': {
async handler(req, res) {
const { default: manifestJSON } = await import('./src/manifest.json')
res.statusCode = 200
res.setHeader('Content-Type', 'text/html')
res.end(JSON.stringify({ ...manifestJSON, ...manifest }, null, 2))
},
} satisfies RouteConfig,
},
}),
{
...manifestJSON({
input: 'src/manifest.json', // Required
output: './manifest.json',
minify: mode === 'production',
manifest,
}),
apply: 'build',
},
],
define: {
global: 'window', // it is needed for PouchDB