UNPKG

vite-plugin-bundle-obfuscator

Version:
2 lines (1 loc) 1.86 kB
import{parentPort as u}from"worker_threads";import b from"path";import S from"javascript-obfuscator";import*as d from"vite";import{Worker as h}from"worker_threads";import O from"path";import R from"os";import{gzipSync as x}from"zlib";import $ from"javascript-obfuscator";import m from"@jridgewell/remapping";var n=class{constructor(t){this._log=t?console.log.bind(console):this.noop}noop(){}forceLog(...t){console.log(...t)}info(t){this._log(t)}};function p(e,t,o){return e?t?(o?.("composing source maps..."),m([t,e],()=>null)):e:t}var s=class e{constructor(){this.obfuscatedFiles=new Set}static getInstance(){return e.instance||(e.instance=new e),e.instance}markAsObfuscated(t){t&&this.obfuscatedFiles.add(t)}isObfuscated(t){return t?this.obfuscatedFiles.has(t):!1}getAllObfuscatedFiles(){return Array.from(this.obfuscatedFiles)}clear(){this.obfuscatedFiles.clear()}serialize(){return Array.from(this.obfuscatedFiles)}updateFromSerialized(t){!t||!Array.isArray(t)||t.forEach(o=>{this.obfuscatedFiles.add(o)})}};u&&u.on("message",e=>{let t=[],o=new n(e.config.log),i=s.getInstance();e.registryState&&Array.isArray(e.registryState)&&i.updateFromSerialized(e.registryState);for(let[r,a]of e.chunk){if(i.isObfuscated(r)){o.info(`skipping ${r} (already in obfuscated registry)`),t.push({fileName:r,obfuscatedCode:a.code});continue}o.info(`worker obfuscating ${r}...`);let l=e.config.options.sourceMap?{...e.config.options,inputFileName:r,sourceMapFileName:`${b.basename(r)}.map`}:e.config.options,c=S.obfuscate(a.code,l);o.info(`worker obfuscation complete for ${r}.`),i.markAsObfuscated(r),o.info(`worker added ${r} to obfuscated files registry`),t.push({fileName:r,obfuscatedCode:c.getObfuscatedCode(),map:p(JSON.parse(JSON.stringify(a.map)||"null"),JSON.parse(c.getSourceMap()||"null"),o.info.bind(o))})}u&&u.postMessage({results:t,registryState:i.serialize()})});