Çalışma ortamı uyumluluğu
target değerini gerçek çalışma ortamı için seçin. Browser ve Node derlemeleri farklı savunmalar içerebilir; Browser hedefi Node’un yerine geçmez. Ortam bildirimleri, alan kısıtlamaları ve araçlar da yapılandırmayla eşleşmelidir.
target
browser- Chrome, Firefox, Safari, Edge.browser-no-eval-browserile aynıdır, ancak çıktıeval()kullanmaz. Hedef sayfanıneval/unsafe-evalyasaklayan bir Content Security Policy'si olduğunda kullanın.node- Node.js ortamı. Tarayıcıya özel seçenekler devre dışıdır (window/documentgerektirirler ve Node'da işlevsiz olur veya hata verirler). Yalnızca tarayıcıya özgü API'lere dayanan bazıvmSelfDefendingsavunmaları - headless tarayıcı tespiti, iframe tabanlı temiz-realm kurtarma, denetleyici karşıtı/DOM kontrolleri - bu hedef için yayınlanmaz.service-worker- Service Worker bağlamı.windowyok,documentyok, farklı birselfglobali.userscript- userscript yöneticisi korumalı alanı (örneğin Tampermonkey).vmSelfDefendingsavunmaları buna göre ayarlanır. Obfuscator v6.9.0+ gerektirir.bytenode- bytenode ile.jscolarak derlenecek kod için. Obfuscator v6.13.0+ gerektirir.
JavaScript
Fonksiyon adları ve kaynak metni karartmayla değişebilir. .name veya .toString() değerlerini kalıcı uygulama verisi olarak kullanmayın; açık kimlikler kullanın. Genel adlar ayarlara bağlı olarak görünür kalabilir.
strictMode
strictMode: null ve strictMode: false açık direktifleri, ES modüllerini ve sınıf metotlarını yine strict olarak tanır. strictMode: true tüm girdiyi strict kabul eder. Son ortamla eşleştirin; karartmadan sonra bundler’ın strict mode eklemesi davranışı değiştirebilir.
CLI / API
Son karartma adımından önce TypeScript veya JSX derleyin ve uygulamayı paketleyin. VM seçim yorumlarını bu adıma kadar koruyun. Self Defending çıktısını sonradan küçültmeyin, biçimlendirmeyin veya değiştirmeyin. VM ve HTML karartmada kaynak haritaları desteklenmez. Ajanlar, otomasyon veya hata ayıklayıcılar kullanan işlevsel testler için Test ve CI sayfasına bakın.
