diff --git a/Compile.md b/Compile.md new file mode 100644 index 0000000..2abb602 --- /dev/null +++ b/Compile.md @@ -0,0 +1,9 @@ +С обфускацией +``` +node esbuild.config.mjs production +``` + +Без обфускации +``` +node esbuild.config.mjs dev +``` \ No newline at end of file diff --git a/esbuild.config.mjs b/esbuild.config.mjs index fca8622..7359a6e 100644 --- a/esbuild.config.mjs +++ b/esbuild.config.mjs @@ -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'] })] : []) ]