Files
ep-133-project-export/vite.config.js

101 lines
2.5 KiB
JavaScript
Raw Normal View History

2026-07-13 04:39:10 +02:00
import path from 'node:path';
import preact from '@preact/preset-vite';
import { sentryVitePlugin } from '@sentry/vite-plugin';
import tailwindcss from '@tailwindcss/vite';
import { defineConfig } from 'vite';
import { ViteMinifyPlugin } from 'vite-plugin-minify';
import { VitePWA } from 'vite-plugin-pwa';
import svgr from 'vite-plugin-svgr';
export default defineConfig({
plugins: [
tailwindcss(),
preact(),
svgr(),
ViteMinifyPlugin({}),
VitePWA({
registerType: 'autoUpdate',
// devOptions: {
// enabled: true,
// },
workbox: {
globPatterns: ['**/*'],
clientsClaim: true,
skipWaiting: true,
maximumFileSizeToCacheInBytes: 1024 * 1024 * 10,
},
includeAssets: ['**/*'],
manifest: {
name: 'EP-133: Export To DAW',
short_name: 'ep133-to-daw',
description: 'Export your projects to Ableton Live, DAWproject or MIDI',
theme_color: '#dbdddb',
scope: '/',
start_url: '/',
display: 'standalone',
icons: [
{
src: '/android-icon-36x36.png',
sizes: '36x36',
type: 'image/png',
},
{
src: '/android-icon-48x48.png',
sizes: '48x48',
type: 'image/png',
},
{
src: '/android-icon-72x72.png',
sizes: '72x72',
type: 'image/png',
},
{
src: '/android-icon-96x96.png',
sizes: '96x96',
type: 'image/png',
},
{
src: '/android-icon-144x144.png',
sizes: '144x144',
type: 'image/png',
},
{
src: '/android-icon-192x192.png',
sizes: '192x192',
type: 'image/png',
},
],
},
}),
sentryVitePlugin({
org: 'private-developer-d9',
project: 'ep133-to-daw',
telemetry: false,
}),
],
build: {
outDir: 'dist',
sourcemap: true,
rolldownOptions: {
output: {
manualChunks: (id) => {
if (id.includes('xmlbuilder2')) {
return 'xmlbuilder2';
}
},
},
},
},
resolve: {
extensions: ['.tsx', '.ts', '.jsx', '.js'],
alias: {
'~': path.resolve('./src'),
react: 'preact/compat',
'react-dom/test-utils': 'preact/test-utils',
'react-dom': 'preact/compat',
'react/jsx-runtime': 'preact/jsx-runtime',
},
},
});