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

- 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
+27
View File
@@ -0,0 +1,27 @@
import fs from 'node:fs';
import JavaScriptObfuscator from 'javascript-obfuscator';
/**
* Лёгкие настройки: без selfDefending / controlFlowFlattening — меньше шансов сломать Electron main.
* @param {string} filePath
*/
export function obfuscateMainBundleFile(filePath) {
const code = fs.readFileSync(filePath, 'utf8');
const obfuscated = JavaScriptObfuscator.obfuscate(code, {
compact: true,
controlFlowFlattening: false,
deadCodeInjection: false,
debugProtection: false,
disableConsoleOutput: false,
identifierNamesGenerator: 'hexadecimal',
renameGlobals: false,
selfDefending: false,
simplify: true,
stringArray: true,
stringArrayEncoding: [],
stringArrayThreshold: 0.75,
transformObjectKeys: false,
}).getObfuscatedCode();
fs.writeFileSync(filePath, obfuscated, 'utf8');
}