ghostdevv/rollup-obfuscator(opens in a new tab)
Language: TypeScript
A plugin to obfuscate javascript for rollup based on https://www.npmjs.com/javascript-obfuscator
- stars
- 56
- watchers
- 2
- forks
- 7
- open issues
- 5
- Last updated
- 12/06/2023
Language: TypeScript
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
First install the plugin as a dev dependency:
npm install rollup-obfuscator -D
Next we should add it to the end of the plugins array:
Rollup:
import { obfuscator } from 'rollup-obfuscator'; export default { plugins: [ // ... obfuscator() ] }
Vite:
Note
This will only apply at build time
import { obfuscator } from 'rollup-obfuscator'; import { defineConfig } from 'vite'; export default defineConfig({ plugins: [ // ... obfuscator() ] })
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.
plugins: [ obfuscator({ // options go here }) ]
All config options can be found here. The plugin has the same default options, except setting sourceMap: true and stringArray: false.
include - A FilterPattern of files to include. Defaults to ['**/*.js', '**/*.ts']
exclude - A FilterPattern of files to exclude. Defaults to ['node_modules/**']
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.