fix(cursor-mac-id-modifier): 修复Electron环境下Hook加载失败问题

使用CommonJS语法(require)替代ESM动态import()来加载Hook文件,
因为Electron的main.js运行在CJS上下文中,ESM动态import可能静默失败。
移除了对import.meta、url模块的依赖,简化了文件路径处理逻辑。
```
This commit is contained in:
煎饼果子卷鲨鱼辣椒
2026-02-09 01:40:05 +08:00
parent c7fb0a7d66
commit 1c784fa036

View File

@@ -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){
// 失败静默,避免影响启动