Rollup obfuscator
A plugin to obfuscate javascript for rollup based on https://www.npmjs.com/javascript-obfuscator
A rollup/vite plugin to obfuscate your code based on [javascript-obfuscator](https://www.npmjs.com/javascript-obfuscator) The project is written primarily in TypeScript, distributed under the MIT License license, first published in 2021. Key topics include: hacktoberfest, javascript-obfuscator, obfuscation, obfuscator, rollup.
Rollup Obfuscator
A rollup/vite plugin to obfuscate your code based on javascript-obfuscator
Requirements
- Rollup: v2, v3, or v4
- Node: v16+
- javascript-obfuscator: v4
Installing
First install the plugin as a dev dependency:
bashnpm install rollup-obfuscator -D
Next we should add it to the end of the plugins array:
Rollup:
jsimport { obfuscator } from 'rollup-obfuscator'; export default { plugins: [ // ... obfuscator() ] }
Vite:
[!NOTE]
This will only apply at build time
jsimport { obfuscator } from 'rollup-obfuscator'; import { defineConfig } from 'vite'; export default defineConfig({ plugins: [ // ... obfuscator() ] })
Configuring
The plugin should hopefully work out of the box. However, it's likely to break on larger applications - especially those that use complex frameworks. You should play with the options to find what works best for your application.
jsplugins: [ obfuscator({ // options go here }) ]
Obfuscator Options
All config options can be found here. The plugin has the same default options, except setting sourceMap: true and stringArray: false.
Plugin Specific Options
-
include- A FilterPattern of files to include. Defaults to['**/*.js', '**/*.ts'] -
exclude- A FilterPattern of files to exclude. Defaults to['node_modules/**']
Migrate to v4
v4 of this plugin now requires a minimum Node version of v16, it may still work on older versions but it isn't tested. options.global was removed and is now follows v3's global: false behaviour, some issues came up that made it no longer make sense. Finally a few obfuscator option defaults were changed to: stringArray: false, sourceMap: true. If you're project doesn't work with v4 please let me know why by creating an issue. You can see the full code changes here.
Support
Contributors
Showing top 3 contributors by commit count.
