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