Compatibilità di esecuzione
Scegli target per il runtime effettivo. I build Browser e Node possono contenere difese differenti; un target Browser non sostituisce Node. Anche dichiarazioni dell’ambiente, restrizioni di dominio e strumenti devono corrispondere alla configurazione.
target
browser- Chrome, Firefox, Safari, Edge.browser-no-eval- identico abrowser, ma l'output non utilizzaeval(). Da impiegare quando la pagina di destinazione applica una Content Security Policy che vietaeval/unsafe-eval.node- ambiente Node.js. Le opzioni specifiche del browser sono disattivate (richiedonowindow/documente in Node non avrebbero effetto o genererebbero un errore). Alcune difese divmSelfDefendingche si basano su API disponibili solo nel browser - rilevamento dei browser headless, ripristino di un realm pulito tramite iframe, controlli anti-inspector e sul DOM - non vengono generate per questo target.service-worker- contesto Service Worker. Nessunwindow, nessundocumente un oggetto globaleselfdifferente.userscript- sandbox di un gestore di userscript (ad esempio Tampermonkey). Le difese divmSelfDefendingvengono adattate di conseguenza. Richiede l'offuscatore v6.9.0+.bytenode- per codice destinato a essere compilato in.jsccon bytenode. Richiede l'offuscatore v6.13.0+.
JavaScript
Nomi e testo sorgente delle funzioni possono cambiare con l’offuscamento. Non usare .name o .toString() come dati stabili; usa identificatori espliciti. I globali pubblici possono restare visibili in base alle impostazioni.
strictMode
strictMode: null e strictMode: false riconoscono comunque direttive esplicite, moduli ES e metodi di classe come strict. strictMode: true tratta tutto l’input come strict. Rispetta il contesto finale: un bundler che aggiunge strict mode dopo l’offuscamento può cambiare il comportamento.
CLI / API
Compila TypeScript o JSX e crea il bundle prima dell’offuscamento finale. Conserva i commenti di selezione VM fino a quel momento. Non minificare, formattare o modificare successivamente l’output con Self Defending. Le source map non sono disponibili con offuscamento VM e HTML. Per i test funzionali con agenti, automazione o debugger, consulta Test e CI.
