ms-vite-plugin 1.5.3 → 1.5.5

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.
Files changed (69) hide show
  1. package/dist/build/index.js +1 -0
  2. package/dist/cli.js +6 -6
  3. package/dist/device/project.js +1 -0
  4. package/dist/mcp/device-log.js +1 -1
  5. package/dist/mcp/image-tools.js +1 -1
  6. package/dist/mcp/runtime-tools.js +1 -1
  7. package/dist/mcp-server.js +1 -1
  8. package/dist/packaging/index.js +1 -0
  9. package/package.json +1 -1
  10. package/dist/build.js +0 -1
  11. package/dist/luaObfuscator/addVararg.d.ts +0 -2
  12. package/dist/luaObfuscator/addVararg.js +0 -1
  13. package/dist/luaObfuscator/antiTamper.d.ts +0 -2
  14. package/dist/luaObfuscator/antiTamper.js +0 -26
  15. package/dist/luaObfuscator/ast.d.ts +0 -191
  16. package/dist/luaObfuscator/ast.js +0 -1
  17. package/dist/luaObfuscator/cipher.d.ts +0 -10
  18. package/dist/luaObfuscator/cipher.js +0 -28
  19. package/dist/luaObfuscator/compiler.d.ts +0 -31
  20. package/dist/luaObfuscator/compiler.js +0 -1
  21. package/dist/luaObfuscator/constantArray.d.ts +0 -5
  22. package/dist/luaObfuscator/constantArray.js +0 -1
  23. package/dist/luaObfuscator/flatten.d.ts +0 -2
  24. package/dist/luaObfuscator/flatten.js +0 -1
  25. package/dist/luaObfuscator/index.d.ts +0 -6
  26. package/dist/luaObfuscator/index.js +0 -1
  27. package/dist/luaObfuscator/lexer.d.ts +0 -14
  28. package/dist/luaObfuscator/lexer.js +0 -10
  29. package/dist/luaObfuscator/minify.d.ts +0 -3
  30. package/dist/luaObfuscator/minify.js +0 -1
  31. package/dist/luaObfuscator/numbers.d.ts +0 -2
  32. package/dist/luaObfuscator/numbers.js +0 -1
  33. package/dist/luaObfuscator/opcodes.d.ts +0 -3
  34. package/dist/luaObfuscator/opcodes.js +0 -1
  35. package/dist/luaObfuscator/parser.d.ts +0 -8
  36. package/dist/luaObfuscator/parser.js +0 -1
  37. package/dist/luaObfuscator/rename.d.ts +0 -3
  38. package/dist/luaObfuscator/rename.js +0 -1
  39. package/dist/luaObfuscator/reserved.d.ts +0 -5
  40. package/dist/luaObfuscator/reserved.js +0 -1
  41. package/dist/luaObfuscator/scope.d.ts +0 -11
  42. package/dist/luaObfuscator/scope.js +0 -1
  43. package/dist/luaObfuscator/selftest.d.ts +0 -1
  44. package/dist/luaObfuscator/selftest.js +0 -39
  45. package/dist/luaObfuscator/splitStrings.d.ts +0 -2
  46. package/dist/luaObfuscator/splitStrings.js +0 -1
  47. package/dist/luaObfuscator/strings.d.ts +0 -4
  48. package/dist/luaObfuscator/strings.js +0 -1
  49. package/dist/luaObfuscator/visit.d.ts +0 -5
  50. package/dist/luaObfuscator/visit.js +0 -1
  51. package/dist/luaObfuscator/vmEmit.d.ts +0 -2
  52. package/dist/luaObfuscator/vmEmit.js +0 -281
  53. package/dist/luaObfuscator/wrapInFunction.d.ts +0 -2
  54. package/dist/luaObfuscator/wrapInFunction.js +0 -1
  55. package/dist/packager.js +0 -1
  56. package/dist/project.js +0 -1
  57. /package/dist/{build.d.ts → build/index.d.ts} +0 -0
  58. /package/dist/{luaBundle.d.ts → build/luaBundle.d.ts} +0 -0
  59. /package/dist/{luaBundle.js → build/luaBundle.js} +0 -0
  60. /package/dist/{scriptProtect.d.ts → build/scriptProtect.d.ts} +0 -0
  61. /package/dist/{scriptProtect.js → build/scriptProtect.js} +0 -0
  62. /package/dist/{stopGuardPlugin.d.ts → build/stopGuardPlugin.d.ts} +0 -0
  63. /package/dist/{stopGuardPlugin.js → build/stopGuardPlugin.js} +0 -0
  64. /package/dist/{project.d.ts → device/project.d.ts} +0 -0
  65. /package/dist/{usb-forward.d.ts → device/usb-forward.d.ts} +0 -0
  66. /package/dist/{usb-forward.js → device/usb-forward.js} +0 -0
  67. /package/dist/{ws-manager.d.ts → device/ws-manager.d.ts} +0 -0
  68. /package/dist/{ws-manager.js → device/ws-manager.js} +0 -0
  69. /package/dist/{packager.d.ts → packaging/index.d.ts} +0 -0
@@ -1,2 +0,0 @@
1
- import type { Chunk } from "./ast";
2
- export declare function wrapInFunction(chunk: Chunk): void;
@@ -1 +0,0 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.wrapInFunction=t;function t(e){const r=e.body;e.body=[{type:"CallStat",exp:{type:"CallExpr",callee:{type:"ParenExpr",exp:{type:"FuncExpr",params:[],vararg:!0,body:{type:"Block",body:r}}},args:[{type:"VarargExpr"}]}}]}
package/dist/packager.js DELETED
@@ -1 +0,0 @@
1
- "use strict";var s=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]})),f=exports&&exports.__setModuleDefault||(Object.create?(function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}):function(t,e){t.default=e}),u=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"&&s(n,e,r[i]);return f(n,e),n}})();Object.defineProperty(exports,"__esModule",{value:!0}),exports.packageProject=b;const l=require("child_process"),a=u(require("fs-extra")),c=u(require("path")),_=require("util"),d=require("./build"),E=(0,_.promisify)(l.execFile),o={ENCRYPT_TIMEOUT:3e4,BUNDLE_NAME:"ms.msbundle",ENCRYPTED_BUNDLE_NAME:"enc.msbundle"};function w(){return c.resolve(__dirname,"..")}function h(){const t=process.platform,e=process.arch;let n;if(t==="darwin")n=c.join("bin","mac","ms-bundle-enc");else if(t==="win32"&&e==="x64")n=c.join("bin","win","ms-bundle-enc.exe");else throw new Error(`\u4E0D\u652F\u6301\u7684\u7CFB\u7EDF\u5E73\u53F0: ${t}-${e}`);return c.join(w(),n)}async function p(t){const e=h();if(!await a.pathExists(e))throw new Error(`\u672A\u627E\u5230\u52A0\u5BC6\u5DE5\u5177: ${e}`);process.platform==="win32"||await a.chmod(e,493),await E(e,[t],{cwd:c.dirname(t),timeout:o.ENCRYPT_TIMEOUT});const r=c.join(c.dirname(t),o.ENCRYPTED_BUNDLE_NAME);if(!await a.pathExists(r))throw new Error("\u52A0\u5BC6\u5DE5\u5177\u672A\u751F\u6210 enc.msbundle \u6587\u4EF6");return await a.remove(t),r}async function b(t){await(0,d.buildAll)(!1,t);const e=c.join(t,"dist",o.BUNDLE_NAME);if(!await a.pathExists(e))throw new Error(`\u6784\u5EFA\u5931\u8D25\uFF0C\u672A\u627E\u5230 ${o.BUNDLE_NAME} \u6587\u4EF6`);return p(e)}
package/dist/project.js DELETED
@@ -1 +0,0 @@
1
- "use strict";var D=exports&&exports.__createBinding||(Object.create?(function(t,e,r,n){n===void 0&&(n=r);var s=Object.getOwnPropertyDescriptor(e,r);(!s||("get"in s?!e.__esModule:s.writable||s.configurable))&&(s={enumerable:!0,get:function(){return e[r]}}),Object.defineProperty(t,n,s)}):(function(t,e,r,n){n===void 0&&(n=r),t[n]=e[r]})),F=exports&&exports.__setModuleDefault||(Object.create?(function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}):function(t,e){t.default=e}),v=exports&&exports.__importStar||(function(){var t=function(e){return t=Object.getOwnPropertyNames||function(r){var n=[];for(var s in r)Object.prototype.hasOwnProperty.call(r,s)&&(n[n.length]=s);return n},t(e)};return function(e){if(e&&e.__esModule)return e;var r={};if(e!=null)for(var n=t(e),s=0;s<n.length;s++)n[s]!=="default"&&D(r,e,n[s]);return F(r,e),r}})(),I=exports&&exports.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(exports,"__esModule",{value:!0}),exports.getScreenshotOnDevice=C,exports.getScreenshotBase64OnDevice=U,exports.getSourceOnDevice=k,exports.getCurrentLogLinesOnDevice=A,exports.runOnDevice=z,exports.runUIOnDevice=G,exports.stopOnDevice=V;const f=v(require("fs-extra")),w=v(require("path")),T=require("./build"),N=I(require("crc")),h=require("./ws-manager");function g(t){const e=t.ip?.trim(),r=(t.port??"9800").trim(),n=Number.parseInt(r,10);if(!e)throw new Error("\u8BF7\u901A\u8FC7 --ip \u6307\u5B9A\u8BBE\u5907 IP \u5730\u5740");if(!Number.isInteger(n)||n<1||n>65535)throw new Error(`\u65E0\u6548\u7AEF\u53E3: ${r}`);return{ip:e,port:n}}function q(t){const e=(t.wsPort??"31111").trim(),r=(t.wsWaitMs??"30000").trim(),n=Number.parseInt(e,10),s=Number.parseInt(r,10);if(!Number.isInteger(n)||n<1||n>65535)throw new Error(`\u65E0\u6548 ws \u7AEF\u53E3: ${e}`);if(!Number.isInteger(s)||s<1)throw new Error(`\u65E0\u6548 ws \u7B49\u5F85\u65F6\u95F4: ${r}`);return{wsPort:n,wsWaitMs:s}}function d(t){const e=(t.transport??"http").trim().toLowerCase();if(e!=="http"&&e!=="ws")throw new Error(`\u65E0\u6548 transport: ${e}`);return e}async function j(t){const e=await f.readFile(t);return N.default.crc32(e).toString(16).padStart(8,"0")}async function b(t,e){const r=[];async function n(s){const c=await f.readdir(s,{withFileTypes:!0});for(const i of c){const o=w.join(s,i.name);if(i.isDirectory())await n(o);else if(i.isFile()){const a=w.relative(t,o).replace(/\\/g,"/"),l=await f.stat(o);r.push({path:o,bundlePath:`${e}/${a}`,size:l.size,crc32:await j(o)})}}}return await f.pathExists(t)&&await n(t),r}async function E(t){const e=w.join(t,"package.json"),r=await f.readJSON(e),n=r.name,s=r.appVersion;if(!n)throw new Error("\u8BF7\u5728 package.json \u4E2D\u6DFB\u52A0 name \u5B57\u6BB5");if(!s)throw new Error("\u8BF7\u5728 package.json \u4E2D\u6DFB\u52A0 appVersion \u5B57\u6BB5");return{projectName:n,appVersion:s,packageJsonPath:e}}async function _(t){let e=w.join(t,"dist","scripts");const r=await f.pathExists(w.join(t,"scripts","main.py")),n=await f.pathExists(w.join(t,"scripts","main.lua"));(r||n)&&(e=w.join(t,"scripts"));const s=w.join(t,"ui"),c=w.join(t,"res"),i=w.join(t,"package.json"),o=[{path:i,bundlePath:"package.json",size:(await f.stat(i)).size,crc32:await j(i)}],[a,l,u]=await Promise.all([b(e,"scripts"),b(s,"ui"),b(c,"res")]);return o.push(...a,...l,...u),o}async function O(t){await(0,T.buildAll)(!0,t)}async function B(t,e,r){const n=new URL(`http://${t}:${e}/api/files`);n.searchParams.set("projectName",r);const s=await fetch(n.toString(),{method:"GET"});if(!s.ok)throw new Error(`\u6587\u4EF6\u5217\u8868\u8BF7\u6C42\u5931\u8D25: ${s.statusText}`);const c=await s.json();return Array.isArray(c)?c:[]}async function L(t){const e=await h.WSManager.request("files",{projectName:t});if(!e.success)throw new Error(`\u6587\u4EF6\u5217\u8868\u8BF7\u6C42\u5931\u8D25: ${String(e.message??"unknown")}`);const r=e.data;return Array.isArray(r)?r:[]}async function M(t,e,r){const{projectName:n,appVersion:s}=await E(t);console.log("\u{1F50E} \u6B63\u5728\u83B7\u53D6\u8BBE\u5907\u6587\u4EF6\u5217\u8868...");const c=await B(e,r,n),i=new Map(c.map(u=>[u.path,u]));console.log("\u{1F4C2} \u6B63\u5728\u5206\u6790\u9879\u76EE\u6587\u4EF6...");const o=await _(t),a=[];for(const u of o){const p=i.get(u.bundlePath),y=u.bundlePath.includes("main.js")||u.bundlePath.includes("main.py")||u.bundlePath.includes("main.lua");if(!p){a.push(u);continue}const S=p.size!==u.size||p.crc32.toLowerCase()!==u.crc32.toLowerCase();(y||S)&&a.push(u)}if(console.log(`\u{1F4E6} \u53D1\u73B0 ${a.length} \u4E2A\u6587\u4EF6\u9700\u8981\u540C\u6B65`),a.length===0){console.log("\u2705 \u65E0\u9700\u540C\u6B65\u6587\u4EF6");return}let l=0;for(const u of a){l+=1,console.log(`\u2B06\uFE0F [${l}/${a.length}] \u540C\u6B65 ${u.bundlePath}`);const p=await f.readFile(u.path),y=new URL(`http://${e}:${r}/debug/patchSync`);y.searchParams.set("path",u.bundlePath),y.searchParams.set("projectName",n),y.searchParams.set("appVersion",s);const S=await fetch(y.toString(),{method:"POST",headers:{"Content-Type":"application/octet-stream"},body:p});if(!S.ok)throw new Error(`\u540C\u6B65\u5931\u8D25: ${u.bundlePath} (\u72B6\u6001\u7801: ${S.status})`)}console.log(`\u2705 \u540C\u6B65\u5B8C\u6210\uFF0C\u5171 ${a.length} \u4E2A\u6587\u4EF6`)}async function W(t){const{projectName:e,appVersion:r}=await E(t);console.log("\u{1F50E} \u6B63\u5728\u83B7\u53D6\u8BBE\u5907\u6587\u4EF6\u5217\u8868...");const n=await L(e),s=new Map(n.map(a=>[a.path,a]));console.log("\u{1F4C2} \u6B63\u5728\u5206\u6790\u9879\u76EE\u6587\u4EF6...");const c=await _(t),i=[];for(const a of c){const l=s.get(a.bundlePath),u=a.bundlePath.includes("main.js")||a.bundlePath.includes("main.py")||a.bundlePath.includes("main.lua");if(!l){i.push(a);continue}const p=l.size!==a.size||l.crc32.toLowerCase()!==a.crc32.toLowerCase();(u||p)&&i.push(a)}if(console.log(`\u{1F4E6} \u53D1\u73B0 ${i.length} \u4E2A\u6587\u4EF6\u9700\u8981\u540C\u6B65`),i.length===0){console.log("\u2705 \u65E0\u9700\u540C\u6B65\u6587\u4EF6");return}let o=0;for(const a of i){o+=1,console.log(`\u2B06\uFE0F [${o}/${i.length}] \u540C\u6B65 ${a.bundlePath}`);const l=await f.readFile(a.path),u=await h.WSManager.request("patchSync",{path:a.bundlePath,data:l.toString("base64"),projectName:e,appVersion:r});if(!u.success)throw new Error(`\u540C\u6B65\u5931\u8D25: ${a.bundlePath} ${String(u.message??"")}`)}console.log(`\u2705 \u540C\u6B65\u5B8C\u6210\uFF0C\u5171 ${i.length} \u4E2A\u6587\u4EF6`)}async function m(t,e,r){const n=`http://${e}:${r}/api/${t}`,s=await fetch(n,{method:"GET"});if(!s.ok)throw new Error(`${t} \u5931\u8D25\uFF0C\u72B6\u6001\u7801: ${s.status}`)}async function C(t){if(d(t)==="ws"){await $(t);const o=await h.WSManager.request("screenshot");if(!o.success||typeof o.data!="string")throw new Error(`\u622A\u56FE\u5931\u8D25: ${String(o.message??"unknown")}`);return Buffer.from(o.data,"base64")}const{ip:r,port:n}=g(t),s=`http://${r}:${n}/api/screenshot`,c=await fetch(s,{method:"GET"});if(!c.ok)throw new Error(`\u622A\u56FE\u5931\u8D25\uFF0C\u72B6\u6001\u7801: ${c.status}`);const i=await c.arrayBuffer();return Buffer.from(i)}async function U(t){if(d(t)==="ws"){await $(t);const o=await h.WSManager.request("screenshot");if(!o.success||typeof o.data!="string")throw new Error(`\u622A\u56FE(base64)\u5931\u8D25: ${String(o.message??"unknown")}`);return o.data}const{ip:r,port:n}=g(t),s=`http://${r}:${n}/api/screenshotBase64`,c=await fetch(s,{method:"GET"});if(!c.ok)throw new Error(`\u622A\u56FE(base64)\u5931\u8D25\uFF0C\u72B6\u6001\u7801: ${c.status}`);const i=await c.json();if(!i.success||typeof i.data!="string")throw new Error(`\u622A\u56FE(base64)\u5931\u8D25: ${String(i.message??"unknown")}`);return i.data}async function k(t,e=50,r=120,n=1){const s=d(t);if(!Number.isInteger(e)||e<1)throw new Error(`\u65E0\u6548 maxDepth: ${e}`);if(!Number.isInteger(r)||r<1)throw new Error(`\u65E0\u6548 timeout: ${r}`);if(!Number.isInteger(n)||n!==1&&n!==2&&n!==3)throw new Error(`\u65E0\u6548 mode: ${n}`);if(s==="ws"){await $(t);const l=await h.WSManager.request("source",{max_depth:e,timeout:r,maxDepth:e,mode:n});if(!l.success||typeof l.data!="string")throw new Error(`\u83B7\u53D6\u8282\u70B9\u5931\u8D25: ${String(l.message??"unknown")}`);return l.data}const{ip:c,port:i}=g(t),o=new URL(`http://${c}:${i}/api/source`);o.searchParams.set("max_depth",String(e)),o.searchParams.set("timeout",String(r)),o.searchParams.set("mode",String(n));const a=await fetch(o.toString(),{method:"GET"});if(!a.ok)throw new Error(`\u83B7\u53D6\u8282\u70B9\u5931\u8D25\uFF0C\u72B6\u6001\u7801: ${a.status}`);return a.text()}async function A(t,e=200){if(d(t)!=="http")throw new Error("\u83B7\u53D6\u65E5\u5FD7\u5931\u8D25: \u5F53\u524D\u65E5\u5FD7\u884C\u63A5\u53E3\u4EC5\u652F\u6301 http \u4F20\u8F93");if(!Number.isInteger(e)||e<1||e>5e3)throw new Error(`\u83B7\u53D6\u65E5\u5FD7\u5931\u8D25: \u65E0\u6548 count ${e}`);const{ip:n,port:s}=g(t),c=new URL(`http://${n}:${s}/logger/current/lines`);c.searchParams.set("count",String(e));const i=await fetch(c.toString(),{method:"GET"});if(i.status===404)return{lines:[],hasMore:!1};if(!i.ok)throw new Error(`\u83B7\u53D6\u65E5\u5FD7\u5931\u8D25\uFF0C\u72B6\u6001\u7801: ${i.status}`);const o=await i.json();return{lines:Array.isArray(o.lines)?o.lines.map(a=>String(a)):[],hasMore:o.hasMore===!0}}async function P(t){const e=await h.WSManager.request(t);if(!e.success)throw new Error(`${t} \u5931\u8D25: ${String(e.message??"unknown")}`)}async function $(t){const{wsPort:e,wsWaitMs:r}=q(t),n=h.WSManager.get();n.isStarted()||await n.start(e),h.WSManager.isConnected()||(console.log("\u231B \u7B49\u5F85\u8BBE\u5907\u901A\u8FC7 WS \u8FDE\u63A5..."),await n.waitForClient(r))}async function z(t){const e=t.workspacePath?w.resolve(t.workspacePath):process.cwd(),r=d(t);if(console.log(`\u{1F527} \u5F00\u59CB\u6784\u5EFA\u9879\u76EE: ${e}`),await O(e),r==="ws"){await $(t),console.log("\u{1F4E6} \u5F00\u59CB\u901A\u8FC7 WS \u540C\u6B65\u9879\u76EE\u5230\u8BBE\u5907"),await W(e),console.log("\u{1F680} \u5F00\u59CB\u901A\u8FC7 WS \u8FD0\u884C\u9879\u76EE"),await P("run"),console.log("\u2705 \u8FD0\u884C\u8BF7\u6C42\u5DF2\u53D1\u9001");return}const{ip:n,port:s}=g(t);console.log(`\u{1F4E6} \u5F00\u59CB\u540C\u6B65\u9879\u76EE\u5230\u8BBE\u5907: ${n}:${s}`),await M(e,n,s),console.log(`\u{1F680} \u5F00\u59CB\u8FD0\u884C\u9879\u76EE: ${n}:${s}`),await m("run",n,s),console.log("\u2705 \u8FD0\u884C\u8BF7\u6C42\u5DF2\u53D1\u9001")}async function G(t){const e=t.workspacePath?w.resolve(t.workspacePath):process.cwd(),r=d(t);if(console.log(`\u{1F527} \u5F00\u59CB\u6784\u5EFA\u9879\u76EE: ${e}`),await O(e),r==="ws"){await $(t),console.log("\u{1F4E6} \u5F00\u59CB\u901A\u8FC7 WS \u540C\u6B65\u9879\u76EE\u5230\u8BBE\u5907"),await W(e),console.log("\u{1F5BC}\uFE0F \u5F00\u59CB\u901A\u8FC7 WS \u9884\u89C8 UI"),await P("runUI"),console.log("\u2705 UI \u9884\u89C8\u8BF7\u6C42\u5DF2\u53D1\u9001");return}const{ip:n,port:s}=g(t);console.log(`\u{1F4E6} \u5F00\u59CB\u540C\u6B65\u9879\u76EE\u5230\u8BBE\u5907: ${n}:${s}`),await M(e,n,s),console.log(`\u{1F5BC}\uFE0F \u5F00\u59CB\u9884\u89C8 UI: ${n}:${s}`),await m("runUI",n,s),console.log("\u2705 UI \u9884\u89C8\u8BF7\u6C42\u5DF2\u53D1\u9001")}async function V(t){if(d(t)==="ws"){await $(t),console.log("\u{1F6D1} \u5F00\u59CB\u901A\u8FC7 WS \u505C\u6B62\u9879\u76EE"),await P("stop"),console.log("\u2705 \u505C\u6B62\u8BF7\u6C42\u5DF2\u53D1\u9001");return}const{ip:r,port:n}=g(t);console.log(`\u{1F6D1} \u5F00\u59CB\u505C\u6B62\u9879\u76EE: ${r}:${n}`),await m("stop",r,n),console.log("\u2705 \u505C\u6B62\u8BF7\u6C42\u5DF2\u53D1\u9001")}
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes