From 1c784fa036ec45465f1d14129191418556072f92 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=85=8E=E9=A5=BC=E6=9E=9C=E5=AD=90=E5=8D=B7=E9=B2=A8?= =?UTF-8?q?=E9=B1=BC=E8=BE=A3=E6=A4=92?= Date: Mon, 9 Feb 2026 01:40:05 +0800 Subject: [PATCH] =?UTF-8?q?```=20fix(cursor-mac-id-modifier):=20=E4=BF=AE?= =?UTF-8?q?=E5=A4=8DElectron=E7=8E=AF=E5=A2=83=E4=B8=8BHook=E5=8A=A0?= =?UTF-8?q?=E8=BD=BD=E5=A4=B1=E8=B4=A5=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 使用CommonJS语法(require)替代ESM动态import()来加载Hook文件, 因为Electron的main.js运行在CJS上下文中,ESM动态import可能静默失败。 移除了对import.meta、url模块的依赖,简化了文件路径处理逻辑。 ``` --- scripts/run/cursor_mac_id_modifier.sh | 26 ++++++++++---------------- 1 file changed, 10 insertions(+), 16 deletions(-) diff --git a/scripts/run/cursor_mac_id_modifier.sh b/scripts/run/cursor_mac_id_modifier.sh index e8fe5f2..cf056c2 100644 --- a/scripts/run/cursor_mac_id_modifier.sh +++ b/scripts/run/cursor_mac_id_modifier.sh @@ -1959,29 +1959,23 @@ EOF # ========== 方法C: Loader Stub 注入 ========== + # 注意:使用 CommonJS 语法(require),不使用 ESM 动态 import() + # 原因:Electron 的 main.js 运行在 CJS 上下文,ESM 动态 import 可能静默失败 local inject_code='// ========== Cursor Hook Loader 开始 ========== -;(async function(){/*__cursor_patched__*/ +;(function(){/*__cursor_patched__*/ "use strict"; if(globalThis.__cursor_hook_loaded__)return; globalThis.__cursor_hook_loaded__=true; try{ - // 兼容 ESM/CJS:避免使用 import.meta(仅 ESM 支持),统一用动态 import 加载 Hook - var fsMod=await import("fs"); - var pathMod=await import("path"); - var osMod=await import("os"); - var urlMod=await import("url"); + // 使用 CommonJS require() 语法,确保在 Electron CJS 上下文中正常运行 + var fs=require("fs"); + var path=require("path"); + var os=require("os"); - var fs=fsMod&&(fsMod.default||fsMod); - var path=pathMod&&(pathMod.default||pathMod); - var os=osMod&&(osMod.default||osMod); - var url=urlMod&&(urlMod.default||urlMod); - - if(fs&&path&&os&&url&&typeof url.pathToFileURL==="function"){ - var hookPath=path.join(os.homedir(), ".cursor_hook.js"); - if(typeof fs.existsSync==="function"&&fs.existsSync(hookPath)){ - await import(url.pathToFileURL(hookPath).href); - } + var hookPath=path.join(os.homedir(), ".cursor_hook.js"); + if(fs.existsSync(hookPath)){ + require(hookPath); } }catch(e){ // 失败静默,避免影响启动