Webpack plugin (v8.5.3) that integrates Jscrambler Code Integrity to protect JavaScript bundles via obfuscation, anti-tampering, and self-defensive capabilities. Active development with frequent releases tied to Jscrambler API changes. Keys: supports chunk-based protection, bundle/module-level obfuscation, SRI compatibility, and webpack 5 via processAssets hook. Differentiators: enterprise-grade protection with polymorphic transformations, vs free tools like UglifyJS or terser that only minify. Ships TypeScript types.
npm install jscrambler-webpack-pluginVerified import paths — ran on the pinned version, not inferred.
Minimal webpack config with Jscrambler, using env vars for credentials and protecting the main chunk.
Ensure Jscrambler version >= 7.2 or use plugin <= 5.x.x for Jscrambler <= 7.1
If source maps are needed, use obfuscationLevel: 'bundle' (default)
Ensure SubresourceIntegrityPlugin is added after JscramblerWebpack in the plugins array
Remove obfuscationHook 'emit' or set to 'processAssets'
Verify chunk names match your webpack entry names exactly
Regenerate tokens in Jscrambler dashboard and update .jscramblerrc
Ensure CI/CD runners have outbound HTTPS access to api.jscrambler.com
Use import JscramblerWebpack from 'jscrambler-webpack-plugin' or const JscramblerWebpack = require('jscrambler-webpack-plugin')Check applicationId in .jscramblerrc or plugin options, and verify application is active in Jscrambler dashboard
Use const JscramblerWebpack = require('jscrambler-webpack-plugin').default for ESM or default importUse obfuscationHook: 'emit' for webpack 4, or upgrade to webpack 5
Run npm install jscrambler-webpack-plugin