Zgodność środowiska
Wybierz target dla rzeczywistego środowiska. Buildy Browser i Node mogą zawierać różne zabezpieczenia; target Browser nie zastępuje Node. Deklaracje środowiska, ograniczenia domen i narzędzia także muszą odpowiadać konfiguracji.
target
browser- Chrome, Firefox, Safari, Edge.browser-no-eval- tak samo jakbrowser, ale wynik nie korzysta zeval(). Do zastosowania, gdy strona docelowa ma politykę Content Security Policy zabraniającąeval/unsafe-eval.node- środowisko Node.js. Opcje przeznaczone dla przeglądarki są wyłączone (wymagająwindow/document, więc w Node nic by nie robiły albo zgłaszałyby błąd). Część zabezpieczeńvmSelfDefendingopartych na API dostępnych wyłącznie w przeglądarce - wykrywanie przeglądarek headless, odzyskiwanie czystego realmu przez iframe, kontrole inspektora i DOM - nie jest generowana dla tego targetu.service-worker- kontekst Service Workera. Brakwindow, brakdocument, inna zmienna globalnaself.userscript- piaskownica menedżera userscriptów (np. Tampermonkey). ZabezpieczeniavmSelfDefendingsą odpowiednio dostosowywane. Wymaga obfuskatora w wersji 6.9.0 lub nowszej.bytenode- dla kodu, który zostanie skompilowany do.jscprzy użyciu bytenode. Wymaga obfuskatora w wersji 6.13.0 lub nowszej.
JavaScript
Nazwy i tekst źródłowy funkcji mogą zmieniać się podczas obfuskacji. Nie używaj .name ani .toString() jako stabilnych danych; stosuj jawne identyfikatory. Publiczne nazwy globalne mogą pozostać widoczne zależnie od ustawień.
strictMode
strictMode: null i strictMode: false nadal rozpoznają jawne dyrektywy, moduły ES i metody klas jako strict. strictMode: true traktuje całe wejście jako strict. Dopasuj do końcowego środowiska; bundler dodający strict mode po obfuskacji może zmienić zachowanie.
CLI / API
Skompiluj TypeScript lub JSX i zbuduj pakiet przed końcową obfuskacją. Zachowaj komentarze wyboru VM do tego etapu. Potem nie minifikuj, nie formatuj i nie zmieniaj wyniku z Self Defending. Mapy źródłowe są niedostępne dla obfuskacji VM i HTML. W przypadku testów funkcjonalnych z agentami, automatyzacją lub debuggerami zobacz Testy i CI.
