A Netlify Build plugin to extract and obfuscate your JavaScript Source Code, which provide protection for your source code. JS Obfuscator, built on top of the javascript-obfuscator. JavaScript Obfuscator is a powerful free obfuscator for JavaScript, containing a variety of features which provide protection for your source code.
Key features:
- variables renaming
- strings extraction and encryption
- dead code injection
- control flow flattening
- various code transformations
The example of obfuscated code: github.com
As describe in the javascript-obfuscator
package, code obfuscation may impact your website's performance.
To install the plugin in the Netlify UI, use this direct in-app installation link or go to the Plugins directory.
For file-based installation, add it to your netlify.toml
file.
[[plugins]]
package = "netlify-plugin-js-obfuscator"
# All inputs are optional, so you can omit this section.
# Defaults are shown below.
# You can also refer to `javascript-obfuscator`’s documentation: https://github.com/javascript-obfuscator/javascript-obfuscator.
[plugins.inputs]
# Compact code output on one line.
compact = false
# Enables numbers conversion to expressions
numbersToExpressions = true
# Enables additional code obfuscation through simplification.
simplify = true
# Randomly shuffles the stringArray array items
shuffleStringArray = true
# Splits literal strings into chunks with length of splitStringsChunkLength option value
splitStrings = true
To complete file-based installation, from your project's base directory, use npm package manager to add the plugin to devDependencies
in package.json
.
npm install -D netlify-plugin-js-obfuscator
Once installed and configured, the plugin will automatically run on the Netlify CI.
To test this plugin locally, you can use the Netlify CLI:
# Install the Netlify CLI.
npm install netlify-cli -g
# In the project working directory, run the build as Netlify would with the build bot.
netlify build