UNPKG

rollup-obfuscator

Version:

A plugin to obfuscate javascript for rollup & vite based on https://www.npmjs.com/javascript-obfuscator

42 lines (40 loc) 1.11 kB
var __defProp = Object.defineProperty; var __name = (target, value) => __defProp(target, "name", { value, configurable: true }); // src/index.ts import { createFilter } from "@rollup/pluginutils"; import Obfuscator from "javascript-obfuscator"; function obfuscator(options = {}) { const { include = ["**/*.js", "**/*.ts"], exclude = ["node_modules/**"], sourceMap = true, ...obfuscatorOptions } = options; const filter = createFilter(include, exclude); return { name: "obfuscator", apply: "build", enforce: "post", transform(code, id) { if (!filter(id)) { this.debug?.(`[rollup-obfuscator] Ignoring "${id}"`); return null; } this.debug?.(`[rollup-obfuscator] Obfuscating "${id}"`); const result = Obfuscator.obfuscate(code, { stringArray: false, ...obfuscatorOptions, inputFileName: id, sourceMap }); return { code: result.getObfuscatedCode(), map: sourceMap ? result.getSourceMap() : void 0 }; } }; } __name(obfuscator, "obfuscator"); export { obfuscator };