ms-vite-plugin 1.5.26 → 1.5.27
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
|
@@ -1 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.createDebugInstrumentPlugin=
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.createDebugInstrumentPlugin=k;const{parseSync:I}=require("oxc-parser"),x=require("magic-string"),F="__kjs_bp_hit",E="__kjs_bp",d="__kjs_enter",$="__kjs_leave",g="__kjs_throw",u="__kjsErr",A="<anonymous>";function k(){let t=process.cwd(),e="";const n=new Map;return{name:"kuaijs-debug-instrument",enforce:"pre",configResolved(r){t=r.root||t,e=r.build?.outDir??""},writeBundle(){T(t,e,n)},renderChunk(r){return M(r)},transform(r,i){const a=L(i,t);if(!a)return null;const{edits:s,lines:o}=C(r,a,i);if(s.length===0)return null;const l=n.get(a)??new Set;for(const f of o)l.add(f);n.set(a,l);const c=new x(r);for(const f of s)f.start===f.end?c.appendLeft(f.start,f.text):c.overwrite(f.start,f.end,f.text);return{code:c.toString(),map:c.generateMap({hires:!0})}}}}function L(t,e){if(!t||t.startsWith("\0")||t.includes("node_modules"))return null;const n=t.split("?")[0].split("#")[0];return!/\.[cm]?[jt]sx?$/.test(n)||!n.startsWith(e)?null:n.slice(e.length).replace(/^[\\/]+/,"").replace(/\\/g,"/")}function B(t,e){try{const n=I(t,e);return Array.isArray(n?.errors)&&n.errors.length>0?null:n?.program??null}catch{return null}}function C(t,e,n){const r=B(n,t);if(!r)return{edits:[],lines:[]};const i=[],a=X(t),s=JSON.stringify(e),o=new Set;return j(r,[],{onStatement:(c,f)=>{if(typeof c.start!="number")return;const m=_(a,c.start),D=`()=>({${f.map(y=>y.writable?`get ${y.name}(){return ${y.name}},set ${y.name}(v){${y.name}=v}`:`get ${y.name}(){return ${y.name}}`).join(",")}})`,N=c.type==="DebuggerStatement",w=`${E}(${s},${m},${D}${N?",true":""})`;o.add(m),i.push({start:c.start,end:c.start,text:N?`${w};`:`${F}(${s},${m})&&${w};`})},onFunctionBody:c=>J(i,c,e,_(a,c.start)),onExpressionBody:c=>R(i,c,t,e,_(a,c.start))}),{edits:i,lines:[...o].sort((c,f)=>c-f)}}function M(t){if(!t||/(^|[\s;])export[\s{]/.test(t)||/(^|[\s;])import[\s({]/.test(t))return null;const e=new x(t);return e.prepend("try{"),e.appendLeft(P(t),`}catch(${u}){if(typeof ${g}==='function')${g}(${u},()=>({exception:${u}}));throw ${u}}`),{code:e.toString(),map:e.generateMap({hires:!0})}}function P(t){const n=t.lastIndexOf(`
|
|
2
|
+
`)+1;return t.slice(n).trimStart().startsWith("//")?n:t.length}const H="kuaijs-debug-lines.json";function T(t,e,n){if(!t||!e)return;const r={};for(const[i,a]of n)r[i]=[...a].sort((s,o)=>s-o);try{const i=require("fs"),a=require("path"),s=a.join(t,e);i.mkdirSync(s,{recursive:!0}),i.writeFileSync(a.join(s,H),JSON.stringify(r),"utf8")}catch{}}function J(t,e,n,r){const i=e?.body;if(!i||typeof i.start!="number"||typeof i.end!="number")return;const a=JSON.stringify(O(e));let s=i.start+1;if(Array.isArray(i.body)){let o=0;for(;o<i.body.length&&v(i.body[o]);){const l=i.body[o];typeof l.end=="number"&&(s=l.end),o+=1}}t.push({start:s,end:s,text:`${d}(${a},${JSON.stringify(n)},${r});try{`}),t.push({start:i.end-1,end:i.end-1,text:`}catch(${u}){${g}(${u},()=>({exception:${u}}));throw ${u}}finally{${$}();}`})}function R(t,e,n,r,i){const a=e.body;if(!a||typeof a.start!="number"||typeof a.end!="number")return;const s=n.slice(a.start,a.end),o=e.async?"(async()=>":"(()=>",l=JSON.stringify(O(e));t.push({start:a.start,end:a.end,text:`${o}{${d}(${l},${JSON.stringify(r)},${i});try{return ${s};}catch(${u}){${g}(${u},()=>({exception:${u}}));throw ${u}}finally{${$}();}})()`})}function O(t){const e=t?.id?.name;if(typeof e=="string"&&e)return e;const n=t?.__kjsNameHint;return typeof n=="string"&&n?n:A}function W(t,e,n){if(!b(n))return"";if(t?.type==="VariableDeclarator"&&e==="init"&&t.id?.type==="Identifier")return t.id.name;if(t?.type==="Property"&&e==="value"||(t?.type==="MethodDefinition"||t?.type==="PropertyDefinition")&&e==="value")return S(t.key);if(t?.type==="AssignmentExpression"&&e==="right"){const r=t.left;if(r?.type==="Identifier")return r.name;if(r?.type==="MemberExpression"&&r.property)return S(r.property)}return""}function S(t){return t?t.type==="Identifier"&&typeof t.name=="string"?t.name:t.type==="Literal"&&typeof t.value=="string"?t.value:"":""}function j(t,e,n,r=!1){if(!(!t||typeof t!="object")){if(b(t)){const i=new Map;for(const a of t.params??[])p(a,i);t.body?.type==="BlockStatement"?(q(t.body,i),n.onFunctionBody(t)):t.body&&n.onExpressionBody(t),e.push(i),h(t,e,n,r),e.pop();return}if(t.type==="Program"){const i=new Map;for(const a of t.body??[])if(a?.type==="ImportDeclaration")for(const s of a.specifiers??[])s?.local?.name&&i.set(s.local.name,!1);e.push(i),h(t,e,n,r),e.pop();return}if(t.type==="CatchClause"){const i=new Map;t.param&&p(t.param,i,!0),e.push(i),h(t,e,n,r),e.pop();return}if(Y(t)){e.push(new Map),h(t,e,n,r),e.pop();return}h(t,e,n,r)}}function h(t,e,n,r){for(const i of Object.keys(t)){if(i==="start"||i==="end"||i==="type")continue;const a=t[i],s=Array.isArray(a)?a:[a];for(const o of s){if(!o||typeof o!="object")continue;const l=K(t)&&G.has(i),c=t.type==="LabeledStatement"&&i==="body",f=(t.type==="ExportNamedDeclaration"||t.type==="ExportDefaultDeclaration")&&i==="declaration",m=W(t,i,o);m&&!o.__kjsNameHint&&(o.__kjsNameHint=m),!r&&!l&&!c&&!f&&z(o)&&!v(o)&&!Q(o)&&n.onStatement(o,U(e)),j(o,e,n,r||l),V(o,e)}}}function U(t){const e=new Map;for(let n=t.length-1;n>=0;n-=1)for(const[r,i]of t[n])e.has(r)||e.set(r,i);return[...e.entries()].map(([n,r])=>({name:n,writable:r})).sort((n,r)=>n.name<r.name?-1:n.name>r.name?1:0)}function V(t,e){const n=e[e.length-1];if(!n)return;if(t?.type==="VariableDeclaration"&&t.kind!=="var"){const i=t.kind!=="const";for(const a of t.declarations??[])p(a.id,n,i);return}const r=t?.declaration;r?.type==="ClassDeclaration"&&r.id?.name&&n.set(r.id.name,!0)}function p(t,e,n=!0){if(t)switch(t.type){case"Identifier":e.set(t.name,n);return;case"ObjectPattern":for(const r of t.properties??[])p(r.value??r.argument??r.key,e,n);return;case"ArrayPattern":for(const r of t.elements??[])p(r,e,n);return;case"AssignmentPattern":p(t.left,e,n);return;case"RestElement":p(t.argument,e);return;default:return}}function q(t,e){const n=[t];for(;n.length>0;){const r=n.pop();if(!(!r||typeof r!="object")){if(r.type==="VariableDeclaration"&&r.kind==="var")for(const i of r.declarations??[])p(i.id,e);if(r.type==="FunctionDeclaration"&&r.id?.name&&e.set(r.id.name,!0),!(b(r)&&r!==t))for(const i of Object.keys(r)){if(i==="start"||i==="end"||i==="type")continue;const a=r[i],s=Array.isArray(a)?a:[a];for(const o of s)o&&typeof o=="object"&&n.push(o)}}}}function b(t){return t.type==="FunctionDeclaration"||t.type==="FunctionExpression"||t.type==="ArrowFunctionExpression"}const G=new Set(["init","left","right","test","update"]);function K(t){return t.type==="ForStatement"||t.type==="ForInStatement"||t.type==="ForOfStatement"}function Y(t){return t.type==="BlockStatement"||t.type==="Program"||t.type==="SwitchStatement"||t.type==="ForStatement"||t.type==="ForInStatement"||t.type==="ForOfStatement"}function z(t){return t.type==="BlockStatement"||t.type==="EmptyStatement"||t.type==="LabeledStatement"?!1:typeof t.type=="string"&&(t.type.endsWith("Statement")||t.type.endsWith("Declaration"))}function v(t){return t?.type==="ExpressionStatement"&&t.expression?.type==="Literal"&&typeof t.expression.value=="string"}function Q(t){const e=t?.expression;if(e?.type!=="CallExpression")return!1;const n=e.callee?.name;return n===F||n===E||n===d||n===$||n===g}function X(t){const e=[0];for(let n=0;n<t.length;n+=1)t.charCodeAt(n)===10&&e.push(n+1);return e}function _(t,e){let n=0,r=t.length-1;for(;n<r;){const i=n+r+1>>1;t[i]<=e?n=i:r=i-1}return n+1}
|
package/dist/build/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";var
|
|
1
|
+
"use strict";var N=Object.create;var D=Object.defineProperty;var $=Object.getOwnPropertyDescriptor;var z=Object.getOwnPropertyNames;var C=Object.getPrototypeOf,W=Object.prototype.hasOwnProperty;var K=(t,e,n,r)=>{if(e&&typeof e=="object"||typeof e=="function")for(let i of z(e))!W.call(t,i)&&i!==n&&D(t,i,{get:()=>e[i],enumerable:!(r=$(e,i))||r.enumerable});return t};var A=(t,e,n)=>(n=t!=null?N(C(t)):{},K(e||!t||!t.__esModule?D(n,"default",{value:t,enumerable:!0}):n,t));var T=exports&&exports.__createBinding||(Object.create?(function(t,e,n,r){r===void 0&&(r=n);var i=Object.getOwnPropertyDescriptor(e,n);(!i||("get"in i?!e.__esModule:i.writable||i.configurable))&&(i={enumerable:!0,get:function(){return e[n]}}),Object.defineProperty(t,r,i)}):(function(t,e,n,r){r===void 0&&(r=n),t[r]=e[n]})),B=exports&&exports.__setModuleDefault||(Object.create?(function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}):function(t,e){t.default=e}),O=exports&&exports.__importStar||(function(){var t=function(e){return t=Object.getOwnPropertyNames||function(n){var r=[];for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&(r[r.length]=i);return r},t(e)};return function(e){if(e&&e.__esModule)return e;var n={};if(e!=null)for(var r=t(e),i=0;i<r.length;i++)r[i]!=="default"&&T(n,e,r[i]);return B(n,e),n}})(),F=exports&&exports.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(exports,"__esModule",{value:!0}),exports.buildAll=void 0;const G=F(require("archiver")),J=require("child_process"),s=O(require("fs-extra")),q=O(require("os")),o=O(require("path")),I=require("./debugInstrumentPlugin"),H=require("./stopGuardPlugin"),R=require("./luaBundle"),E=require("./scriptProtect"),Q=F(require("vite-plugin-bundle-obfuscator"));async function U(t,e){const n=(0,G.default)("zip",{zlib:{level:9}}),r=s.createWriteStream(e);return new Promise((i,a)=>{n.directory(t,!1).on("error",u=>a(u)).pipe(r),r.on("close",()=>i()),n.finalize()})}async function V(t,e){const n=[];async function r(i){const a=await s.readdir(i,{withFileTypes:!0});for(const u of a){const c=o.resolve(i,u.name);u.isDirectory()?await r(c):u.isFile()&&(/^main\.(js|ts)$/.test(u.name)||/_thread\.(js|ts)$/.test(u.name))&&n.push(o.relative(e,c))}}return await r(t),n}function X(){const t=[{cmd:o.join(q.homedir(),".KuaiJSDevloper","python","python.exe"),args:["--version"]},{cmd:o.join(q.homedir(),".KuaiJSDevloper","python","bin","python"),args:["--version"]},{cmd:"python",args:["--version"]},{cmd:"python3",args:["--version"]},{cmd:"python3.14",args:["--version"]}];for(const e of t)try{const n=(0,J.spawnSync)(e.cmd,e.args,{encoding:"utf8"}),r=(n.stdout||n.stderr||"").trim();if(r&&/Python\s+3\.14(\.\d+)?/i.test(r))return{ok:!0,path:e.cmd,version:r}}catch{}return{ok:!1}}async function re(t){async function e(n){const r=await s.readdir(n,{withFileTypes:!0});for(const i of r){const a=o.join(n,i.name);if(i.isDirectory())if(i.name==="__pycache__"){const u=await s.readdir(a,{withFileTypes:!0});for(const c of u){const g=o.join(a,c.name);if(c.isFile()&&c.name.endsWith(".cpython-314.pyc")){const P=o.dirname(a),S=c.name.replace(/\.cpython-314\.pyc$/,".pyc"),b=o.join(P,S);await s.move(g,b,{overwrite:!0})}}try{await s.remove(a)}catch{}}else await e(a);else if(i.isFile())if(i.name.endsWith(".cpython-314.pyc")){const u=a.replace(".cpython-314.pyc",".pyc");await s.move(a,u,{overwrite:!0})}else i.name.endsWith(".py")&&await s.remove(a)}}await e(t)}const Y=["Minify","Weak","Medium","Strong"];async function Z(t){const e=o.join(t,"obfuscator.json");if(!await s.pathExists(e))return{enabled:!0,preset:"Medium",bundle:!0};try{const n=await s.readJSON(e),r=n?.enabled!==!1,i=n?.bundle!==!1,a=k(n?.preset);return{enabled:r,preset:a,bundle:i}}catch(n){return console.error("\u274C \u65E0\u6CD5\u8BFB\u53D6 obfuscator.json"),console.error(n instanceof Error?n.message:String(n)),process.exit(1),{enabled:!0,preset:"Medium",bundle:!0}}}function k(t){if(typeof t!="string")return"Medium";const e=Y.find(n=>n.toLowerCase()===t.trim().toLowerCase());return e||(console.warn(`\u26A0\uFE0F obfuscator.json \u7684 preset \u65E0\u6548: ${t}\uFF0C\u5DF2\u6539\u7528 Medium`),"Medium")}function ee(t){const e=o.resolve(__dirname,"..","..");return[o.join(e,"node_modules/@gamely/prometheus-cli/bin/cli.js"),o.join(e,"..","@gamely/prometheus-cli/bin/cli.js")].find(r=>s.pathExistsSync(r))}const te=async(t=!0,e,n=!1)=>{const r=o.join(e,"scripts"),i=await s.pathExists(o.join(r,"main.js"))||await s.pathExists(o.join(r,"main.ts")),a=await s.pathExists(o.join(r,"main.py")),u=await s.pathExists(o.join(r,"main.lua"));if(i){console.log("\u{1F680} \u5F00\u59CB\u6784\u5EFAJavaScript\u9879\u76EE...");const{build:f}=await import("vite"),l=o.join(e,"obfuscator.json");await s.pathExists(l)||(console.error("\u274C \u9519\u8BEF: \u5F53\u524D\u76EE\u5F55\u4E0D\u662F\u6709\u6548\u7684 \u5FEB\u70B9JS \u9879\u76EE"),console.error("\u8BF7\u786E\u4FDD\u76EE\u5F55\u5305\u542B\u4EE5\u4E0B\u6587\u4EF6:"),console.error(" - obfuscator.json"),process.exit(1));const j=await s.readJSON(l),m=j.scriptProtect===!0,{enabled:_,scriptProtect:y,...p}=j,d=o.join(e,t?"dist":"msbundle"),h=await V(r,r);await s.remove(d);const w=!t&&m?(0,E.createScriptProtectHelpers)():[];!t&&m&&console.log("\u{1F510} \u5DF2\u542F\u7528 JS \u539F\u751F\u4FDD\u62A4\uFF08scriptProtect=true\uFF09");const M=t&&n?(0,I.createDebugInstrumentPlugin)():null;for(const v of h)await f({root:e,build:{lib:{entry:{[o.basename(v,o.extname(v))]:`./scripts/${v}`},fileName:()=>v.replace(/\.ts$/,".js"),formats:["iife"],name:"KuaiJS"},outDir:t?"dist/scripts":"msbundle/scripts",emptyOutDir:!1,sourcemap:t,minify:!t,target:"safari15"},plugins:[(0,H.createStopGuardPlugin)(),...M?[M]:[],...t?[]:[...m?[(0,E.createScriptProtectPlugin)(w)]:[],_?(0,Q.default)({autoExcludeNodeModules:!0,threadPool:!0,options:{...p,target:"browser",debugProtection:!1,disableConsoleOutput:!1,domainLock:[],selfDefending:!1,renameGlobals:!1,renameProperties:!1,reservedNames:[...p.reservedNames||[],...w]}}):[],...m?[(0,E.createKjstEmbedPlugin)()]:[]]]})}if(t)return;const c=o.join(e,"msbundle");if(await s.ensureDir(c),(a||u)&&await s.copy(o.join(e,"scripts"),o.join(c,"scripts")),a)X().ok;else if(u){const f=await Z(e),l=o.join(c,"scripts");if(f.bundle?await(0,R.bundleLuaScripts)(l):console.log("\u2139\uFE0F \u5DF2\u5173\u95ED Lua \u5355\u6587\u4EF6\u5408\u5E76\uFF08obfuscator.json bundle=false\uFF09"),!f.enabled)console.log("\u2139\uFE0F \u5DF2\u5173\u95ED Lua \u6DF7\u6DC6\uFF08obfuscator.json enabled=false\uFF09");else{const j=[],m=async y=>{const p=await s.readdir(y,{withFileTypes:!0});for(const d of p){const h=o.join(y,d.name);d.isDirectory()?await m(h):d.isFile()&&d.name.endsWith(".lua")&&j.push(h)}};await m(l);const _=ee(e);_||(console.error("\u274C \u672A\u627E\u5230 @gamely/prometheus-cli\uFF0C\u65E0\u6CD5\u6DF7\u6DC6 Lua"),process.exit(1));for(const y of j){const p=o.relative(l,y);console.log(`\u{1F6E0}\uFE0F \u6DF7\u6DC6 Lua: ${p} (preset=${f.preset})`);const d=(0,J.spawnSync)(process.execPath,[_,p,"--preset",f.preset],{cwd:l,encoding:"utf8"});d.status!==0&&(console.error("\u274C \u6DF7\u6DC6 Lua \u5931\u8D25:",p),console.error(d.stderr||d.stdout||""),process.exit(1));const h=p.replace(/\.lua$/,".obfuscated.lua"),w=o.join(l,h);await s.pathExists(w)&&(await s.remove(y),await s.move(w,y,{overwrite:!0}))}console.log("\u2705 Lua \u6DF7\u6DC6\u5B8C\u6210")}}await s.copy(o.join(e,"res"),o.join(c,"res")),await s.copy(o.join(e,"ui"),o.join(c,"ui"));for(const f of["logo.jpg","logo.png"]){const l=o.join(e,f);await s.pathExists(l)&&await s.copy(l,o.join(c,f))}const g=o.join(e,"dist"),P=o.join(e,"package.json"),S=o.join(c,"package.json"),b=await s.readJSON(P);delete b.scripts,delete b.devDependencies,delete b.dependencies,await s.writeJSON(S,b,{spaces:2}),await s.emptyDir(g);const L=o.join(g,"ms.zip"),x=o.join(g,"ms.msbundle");await U(c,L),await s.rename(L,x),await s.remove(c)};exports.buildAll=te;
|