Использование NPM-пакета
Смотреть
Using the Obfuscator.io API: API Keys, npm Package, CLI and Custom Presets
Пакет отправляет сборку в API obfuscator.io, поэтому ему нужен API-ключ (Pro, Team или Business), передаваемый как apiToken или как --pro-api-token в CLI. Создание ключей и сервисных ключей команды, а также то, как не допустить их попадания в браузерный код, описаны в справочнике API.
npm
production.json
Node.js (.mjs)
CLI
Пользовательские пресеты
Держите конфигурацию в панели управления, а не в файле настроек: сохраните текущие опции как пользовательский пресет, задайте ему псевдоним для API в диалоге сохранения и укажите этот псевдоним в optionsPreset. javascript-obfuscator 5.8.0 и новее получает пресет перед обфускацией, поэтому изменение пресета в панели управления меняет следующую сборку без единого коммита в репозитории. Опции пресета служат основой; всё остальное в вашей конфигурации переопределяет их, так же как при слиянии со встроенными пресетами. Сервисный ключ команды разрешает пресеты владельца команды; API-ключ участника разрешает его собственные пресеты плюс те, которыми поделились с командой.
Node.js (.mjs) с пресетом
CLI с пресетом
"optionsPreset": "production" в production.json делает то же самое для сборки с --config. Встроенные имена вроде vm-default никогда не ищутся как псевдонимы. Псевдоним, которого у вас нет, завершается ошибкой HTTP 404 ещё до отправки исходников, а пользовательский пресет без включённых Pro-функций обфусцируется локально с его опциями.
Пресет через REST
Прямая REST-интеграция получает опции пресета из эндпоинта пресетов отдельным запросом и отправляет их в options запроса обфускации. Оба эндпоинта описаны в справочнике API. Пакет javascript-obfuscator получает пресет один раз за запуск, и этот запрос учитывается в том же лимите частоты запросов на пользователя, что и запросы обфускации.
Лимиты частоты запросов и поведение при загрузке больших файлов описаны в справочнике API, а лимиты вашего тарифа показаны в панели управления; на тарифах Team и Business пакет автоматически переходит на временную загрузку для больших исходников.
