Set better obfuscation, add Compile.md

This commit is contained in:
dimitrievgs 2026-06-06 23:43:54 +03:00
parent 43acb3a868
commit 4362e4f491
2 changed files with 17 additions and 6 deletions

9
Compile.md Normal file
View File

@ -0,0 +1,9 @@
С обфускацией
```
node esbuild.config.mjs production
```
Без обфускации
```
node esbuild.config.mjs dev
```

View File

@ -90,12 +90,14 @@ const context = await esbuild.context({
renameCssPlugin(),
copyManifestPlugin(),
...(prod || obfuscate ? [ObfuscatorPlugin({
compact: true,
controlFlowFlattening: true,
controlFlowFlatteningThreshold: 0.75,
debugProtection: true,
debugProtectionInterval: true,
disableConsoleOutput: true,
compact: true, // Уплотняет код в одну строку
identifierNamesGenerator: 'mangled', // Заменяет имена переменных на короткие бессмысленные комбинации
renameGlobals: true, // Включает обфускацию глобальных переменных и функций в том числе классов
controlFlowFlattening: true, // Усложняет структуру выполнения (перемешивает логику)
controlFlowFlatteningThreshold: 0.75, // Вероятность применения изменения потока управления для узлов
debugProtection: true, // Вставляет код, блокирующий инструменты разработчика (DevTools)
debugProtectionInterval: true, // Регулярно перезапускает проверку защиты от отладки
disableConsoleOutput: true, // Запрещает вывод логов в консоль (console.log и др.)
// Можно добавить filter, чтобы обфусцировать только нужные файлы, например ['**/*.js']
})] : [])
]