Files
crowd-funder-from-jason/vite.config.web.mts
Matthew Raymer fbf7deb9b8 Remove PWA functionality and service worker infrastructure
Completely remove Progressive Web App features including VitePWA plugin, service workers, install prompts, and platform service PWA methods. Delete PWA component, service worker files, help images, and update build configurations. Simplify application architecture by removing PWA complexity while maintaining core functionality.
2025-07-18 07:49:34 +00:00

86 lines
2.4 KiB
TypeScript

import { defineConfig, mergeConfig } from "vite";
import { createBuildConfig } from "./vite.config.common.mts";
import { loadAppConfig } from "./vite.config.utils.mts";
export default defineConfig(async ({ mode }) => {
const baseConfig = await createBuildConfig('web');
const appConfig = await loadAppConfig();
// Environment-specific configuration based on mode
const getEnvironmentConfig = (mode: string) => {
switch (mode) {
case 'production':
return {
// Production optimizations
build: {
minify: 'terser',
sourcemap: false,
rollupOptions: {
output: {
manualChunks: {
vendor: ['vue', 'vue-router', 'pinia'],
utils: ['luxon', 'ramda', 'zod'],
crypto: ['@ethersproject/wallet', '@ethersproject/hdnode', 'ethereum-cryptography'],
sql: ['@jlongster/sql.js', 'absurd-sql']
}
}
}
},
define: {
__DEV__: false,
__TEST__: false,
__PROD__: true
}
};
case 'test':
return {
// Test environment configuration
build: {
minify: false,
sourcemap: true,
rollupOptions: {
output: {
manualChunks: undefined
}
}
},
define: {
__DEV__: false,
__TEST__: true,
__PROD__: false
}
};
default: // development
return {
// Development configuration
build: {
minify: false,
sourcemap: true,
rollupOptions: {
output: {
manualChunks: undefined
}
}
},
define: {
__DEV__: true,
__TEST__: false,
__PROD__: false
}
};
}
};
const environmentConfig = getEnvironmentConfig(mode);
return mergeConfig(baseConfig, {
...environmentConfig,
// Ensure source maps are enabled for development and test modes
// This affects both dev server and build output
sourcemap: mode === 'development' || mode === 'test',
// Server configuration inherited from base config
// CORS headers removed to allow images from any domain
plugins: []
});
});