vite-plugin-obfuscator
raw JSON → 1.0.5 verified Mon Apr 27 auth: no javascript
Vite plugin that integrates javascript-obfuscator to obfuscate JavaScript files during the build process. Version 1.0.5 is the latest stable release with minimal maintenance cadence. Key differentiator: seamless integration with Vite's build pipeline, applying obfuscation as a Rollup plugin. Alternatives like webpack-obfuscator require different configuration. Not actively maintained, but functional for basic obfuscation needs.
Common errors
error Plugin doesn't work: 'javascript-obfuscator' is not installed ↓
cause Missing peer dependency 'javascript-obfuscator'.
fix
Install it: 'npm install --save-dev javascript-obfuscator'
error TypeError: viteObfuscateFile is not a function ↓
cause Incorrect import (default instead of named).
fix
Use named import: import { viteObfuscateFile } from 'vite-plugin-obfuscator'
error Cannot find module 'vite-plugin-obfuscator' ↓
cause Package not installed or outdated version.
fix
Install the package: 'npm install --save-dev vite-plugin-obfuscator@latest'
Warnings
gotcha The plugin only works during production build (vite build); dev server does not run obfuscation. ↓
fix Ensure obfuscation is applied via build, not serve.
deprecated Plugin is not actively maintained; may not work with latest Vite versions. ↓
fix Consider using a more maintained alternative like vite-plugin-javascript-obfuscator.
breaking In version 1.0.0, the import path changed from 'vite-plugin-obfuscator/dist/index.js' to 'vite-plugin-obfuscator'. ↓
fix Update import to 'vite-plugin-obfuscator'.
gotcha javascript-obfuscator must be installed as a project dependency; it is a peer dependency but not automatically installed. ↓
fix Run 'npm install --save-dev javascript-obfuscator'.
Install
npm install vite-plugin-obfuscator yarn add vite-plugin-obfuscator pnpm add vite-plugin-obfuscator Imports
- viteObfuscateFile wrong
import viteObfuscateFile from 'vite-plugin-obfuscator'correctimport { viteObfuscateFile } from 'vite-plugin-obfuscator'
Quickstart
// vite.config.js
import { defineConfig } from 'vite';
import { viteObfuscateFile } from 'vite-plugin-obfuscator';
export default defineConfig({
plugins: [
viteObfuscateFile({
compact: true,
controlFlowFlattening: true,
// Add other javascript-obfuscator options here
})
]
});