Documentación
/

Compatibilidad de ejecución

Compatibilidad de ejecución

Elige target según el entorno real. Los builds Browser y Node pueden contener defensas diferentes; un target Browser no sustituye a Node. Las declaraciones de entorno, restricciones de dominio y herramientas deben coincidir con la configuración.

target

  • browser - Chrome, Firefox, Safari, Edge.
  • browser-no-eval - igual que browser, pero la salida no usa eval(). Úsalo cuando la página de destino tenga una Content Security Policy que prohíba eval/unsafe-eval.
  • node - entorno Node.js. Las opciones específicas del navegador se desactivan (requieren window/document y no harían nada o lanzarían errores en Node). Algunas defensas de vmSelfDefending que dependen de APIs exclusivas del navegador -detección de navegadores headless, recuperación de realm limpio basada en iframes, comprobaciones anti-inspector/DOM- no se emiten para este target.
  • service-worker - contexto de Service Worker. Sin window, sin document, con un global self diferente.
  • userscript - sandbox de gestor de userscripts (por ejemplo, Tampermonkey). Las defensas de vmSelfDefending se ajustan en consecuencia. Requiere el ofuscador v6.9.0+.
  • bytenode - para código que se compilará a .jsc con bytenode. Requiere el ofuscador v6.13.0+.

JavaScript

Los nombres y el código fuente de las funciones pueden cambiar con la ofuscación. No uses .name ni .toString() como datos estables; usa identificadores explícitos. Los globales públicos pueden seguir visibles según la configuración.

strictMode

strictMode: null y strictMode: false siguen reconociendo directivas explícitas, módulos ES y métodos de clase como estrictos. strictMode: true trata toda la entrada como estricta. Hazlo coincidir con el entorno final; un bundler que añada modo estricto después puede alterar el comportamiento.

CLI / API

Compila TypeScript o JSX y empaqueta la aplicación antes del paso final de ofuscación. Conserva los comentarios de selección de VM hasta entonces. No minifiques, formatees ni modifiques después una salida con Self Defending. Los mapas de código fuente no están disponibles con VM ni con HTML. Para pruebas funcionales con agentes, automatización o depuradores, consulta Pruebas y CI.