vite.config.ts (1550B)
1 import 'dotenv/config'; 2 import { defineConfig } from "vite"; 3 import { getMaps, getMapsOptimizers, getMapsScripts, LogLevel, OptimizeOptions } from "wa-map-optimizer-vite"; 4 5 const maps = getMaps(); 6 7 let optimizerOptions: OptimizeOptions = { 8 logs: process.env.LOG_LEVEL && process.env.LOG_LEVEL in LogLevel ? LogLevel[process.env.LOG_LEVEL] : LogLevel.NORMAL, 9 }; 10 11 if (process.env.TILESET_OPTIMIZATION && process.env.TILESET_OPTIMIZATION === "true") { 12 const qualityMin = process.env.TILESET_OPTIMIZATION_QUALITY_MIN ? parseInt(process.env.TILESET_OPTIMIZATION_QUALITY_MIN) : 0.9; 13 const qualityMax = process.env.TILESET_OPTIMIZATION_QUALITY_MAX ? parseInt(process.env.TILESET_OPTIMIZATION_QUALITY_MAX) : 1; 14 15 optimizerOptions.output = { 16 tileset: { 17 compress: { 18 quality: [qualityMin, qualityMax], 19 } 20 } 21 } 22 } 23 24 export default defineConfig({ 25 base: "./", 26 build: { 27 rollupOptions: { 28 input: { 29 index: "./index.html", 30 ...getMapsScripts(maps), 31 }, 32 }, 33 }, 34 plugins: [...getMapsOptimizers(maps, optimizerOptions)], 35 server: { 36 host: "localhost", 37 headers: { 38 "Access-Control-Allow-Origin": "*", 39 "Access-Control-Allow-Methods": "GET, POST, PUT, DELETE, PATCH, OPTIONS", 40 "Access-Control-Allow-Headers": "X-Requested-With, content-type, Authorization", 41 "Cache-Control": "no-cache, no-store, must-revalidate", 42 }, 43 open: "/", 44 }, 45 });