2fa20da94d
- Main: license service, IPC, router; закрытие окон; yauzl закрытие zip (EMFILE), zipRead тест - Editor: стабильный projectState без мигания, логотип и меню, строки UI, LayoutShell overlay - Control: ластик для всех типов эффектов, затухание/нарастание музыки при смене сцены - Сборка: vite, build/dev scripts, obfuscate-main и build-env скрипты с тестами; package.json Made-with: Cursor
46 lines
1.2 KiB
TypeScript
46 lines
1.2 KiB
TypeScript
import path from 'node:path';
|
|
|
|
import strip from '@rollup/plugin-strip';
|
|
import react from '@vitejs/plugin-react';
|
|
import { defineConfig } from 'vite';
|
|
|
|
export default defineConfig(({ mode }) => {
|
|
const isProd = mode === 'production';
|
|
|
|
return {
|
|
root: path.resolve(__dirname, 'app/renderer'),
|
|
plugins: [
|
|
react({
|
|
babel: {
|
|
plugins: [['babel-plugin-react-compiler', { target: '19' }]],
|
|
},
|
|
} as Parameters<typeof react>[0]),
|
|
],
|
|
build: {
|
|
outDir: path.resolve(__dirname, 'dist/renderer'),
|
|
emptyOutDir: true,
|
|
sourcemap: !isProd,
|
|
rollupOptions: {
|
|
plugins: isProd
|
|
? [
|
|
strip({
|
|
sourceMap: false,
|
|
debugger: true,
|
|
functions: ['console.*', 'assert.*'],
|
|
}),
|
|
]
|
|
: [],
|
|
input: {
|
|
editor: path.resolve(__dirname, 'app/renderer/editor.html'),
|
|
presentation: path.resolve(__dirname, 'app/renderer/presentation.html'),
|
|
control: path.resolve(__dirname, 'app/renderer/control.html'),
|
|
},
|
|
},
|
|
},
|
|
server: {
|
|
port: 5173,
|
|
strictPort: true,
|
|
},
|
|
};
|
|
});
|