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
28 lines
880 B
JavaScript
28 lines
880 B
JavaScript
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');
|
|
}
|