rollup-plugin-obfuscator
The most powerful rollup plugin for javascript-obfuscator.
yarn add --dev rollup-plugin-obfuscator javascript-obfuscator
or
npm install --save-dev rollup-plugin-obfuscator javascript-obfuscator
Why?
There is already a plugin for this, but it's outdated and not powerful enough for me.
With this plugin you install javascript-obfuscator
separately from the plugin (as seen in the installation instructions above). This plugin is designed so javascript-obfuscator
will always be updatable, independently from rollup-plugin-obfuscator
.
Additionally, it's much more powerful because you can apply obfuscation settings:
- per file
- to the whole bundle
The point is that you can avoid obfuscating your open-source dependencies, which results in a huge performance boost.
Usage
import obfuscator from 'rollup-plugin-obfuscator';
export default {
input: 'src/main.js',
plugins: [
obfuscator({
fileOptions: {
},
globalOptions: {
},
}),
]
}
Options
globalOptions
Type: Object
| false
Default: {}
Options that will be passed to javascript-obfuscator when it processes each file. If you don't want each of your file to be processed individually, you can set this to false
.
See allowed options here.
fileOptions
Type: Object
| false
Default: {}
Options that will be passed to javascript-obfuscator when it processes the whole bundle. If you don't want to apply the obfuscation to the whole bundle, you can set this to false
.
See allowed options here.
include
Type: String
| Array[...String]
Default: ['**/*.js', '**/*.ts']
Which files to obfuscate with fileOptions
.
exclude
Type: String
| Array[...String]
Default: ['node_modules/**']
Which files to skip applying fileOptions
on.
obfuscator
Type: JavascriptObfuscator
Default: require('javascript-obfuscator')
This plugin uses the version of javascript-obfuscator
you installed alongside with it, but you are free to override it (for example, if you want to use a fork).