Лицензия, редактор, пульт и сборка

- 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
This commit is contained in:
Ivan Fontosh
2026-04-19 20:11:24 +08:00
parent 5e7dc5ea19
commit 2fa20da94d
40 changed files with 2629 additions and 211 deletions
+37 -23
View File
@@ -1,31 +1,45 @@
import path from 'node:path';
import strip from '@rollup/plugin-strip';
import react from '@vitejs/plugin-react';
import { defineConfig } from 'vite';
export default defineConfig({
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: true,
rollupOptions: {
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'),
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,
},
server: {
port: 5173,
strictPort: true,
},
};
});