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.

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'
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'.
npm install vite-plugin-obfuscator
yarn add vite-plugin-obfuscator
pnpm add vite-plugin-obfuscator

Demonstrates how to add the obfuscation plugin to a Vite project with sample options.

// 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
    })
  ]
});