UNPKG

vite-plugin-bundle-obfuscator

Version:
2 lines (1 loc) 2.38 kB
"use strict";var S=Object.create;var l=Object.defineProperty;var z=Object.getOwnPropertyDescriptor;var h=Object.getOwnPropertyNames;var y=Object.getPrototypeOf,O=Object.prototype.hasOwnProperty;var v=(e,t,o,r)=>{if(t&&typeof t=="object"||typeof t=="function")for(let i of h(t))!O.call(e,i)&&i!==o&&l(e,i,{get:()=>t[i],enumerable:!(r=z(t,i))||r.enumerable});return e};var s=(e,t,o)=>(o=e!=null?S(y(e)):{},v(t||!e||!e.__esModule?l(o,"default",{value:e,enumerable:!0}):o,e));var n=require("worker_threads"),d=s(require("path")),b=s(require("javascript-obfuscator"));var M=s(require("vite")),$=require("worker_threads"),F=s(require("path")),x=s(require("os")),B=require("zlib"),k=s(require("javascript-obfuscator")),f=s(require("@jridgewell/remapping"));var a=class{constructor(t){this._log=t?console.log.bind(console):this.noop}noop(){}forceLog(...t){console.log(...t)}info(t){this._log(t)}};function g(e,t,o){return e?t?(o?.("composing source maps..."),(0,f.default)([t,e],()=>null)):e:t}var u=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)})}};n.parentPort&&n.parentPort.on("message",e=>{let t=[],o=new a(e.config.log),r=u.getInstance();e.registryState&&Array.isArray(e.registryState)&&r.updateFromSerialized(e.registryState);for(let[i,c]of e.chunk){if(r.isObfuscated(i)){o.info(`skipping ${i} (already in obfuscated registry)`),t.push({fileName:i,obfuscatedCode:c.code});continue}o.info(`worker obfuscating ${i}...`);let m=e.config.options.sourceMap?{...e.config.options,inputFileName:i,sourceMapFileName:`${d.default.basename(i)}.map`}:e.config.options,p=b.default.obfuscate(c.code,m);o.info(`worker obfuscation complete for ${i}.`),r.markAsObfuscated(i),o.info(`worker added ${i} to obfuscated files registry`),t.push({fileName:i,obfuscatedCode:p.getObfuscatedCode(),map:g(JSON.parse(JSON.stringify(c.map)||"null"),JSON.parse(p.getSourceMap()||"null"),o.info.bind(o))})}n.parentPort&&n.parentPort.postMessage({results:t,registryState:r.serialize()})});