From 3e0faf800105b9a5ed4bb6e418db4426b6caa8b2 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: Wed, 14 Jan 2026 19:16:41 +0800 Subject: [PATCH] =?UTF-8?q?```=20refactor(cursor-hook):=20=E7=BB=9F?= =?UTF-8?q?=E4=B8=80=E4=BD=BF=E7=94=A8=E5=8A=A8=E6=80=81import=E6=9B=BF?= =?UTF-8?q?=E4=BB=A3require=E4=BB=A5=E5=85=BC=E5=AE=B9ESM/CJS=E6=A8=A1?= =?UTF-8?q?=E5=9D=97?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 移除对require和import.meta的依赖,改用动态import方式加载Node.js内置模块 - 添加对ESM和CJS模块系统的兼容性支持 - 使用url.pathToFileURL将文件路径转换为URL格式进行模块导入 - 增强错误处理机制,确保模块加载失败时不会影响应用启动 ``` --- scripts/run/cursor_linux_id_modifier.sh | 27 +++++++++++++++---------- scripts/run/cursor_mac_id_modifier.sh | 27 +++++++++++++++---------- scripts/run/cursor_win_id_modifier.ps1 | 27 +++++++++++++++---------- 3 files changed, 48 insertions(+), 33 deletions(-) diff --git a/scripts/run/cursor_linux_id_modifier.sh b/scripts/run/cursor_linux_id_modifier.sh index de74195..1172240 100755 --- a/scripts/run/cursor_linux_id_modifier.sh +++ b/scripts/run/cursor_linux_id_modifier.sh @@ -1320,17 +1320,22 @@ if(globalThis.__cursor_hook_loaded__)return; globalThis.__cursor_hook_loaded__=true; try{ - var __require__=typeof require==="function"?require:null; - if(!__require__){ - var __m__=await import("module"); - __require__=__m__.createRequire(import.meta.url); - } - var fs=__require__("fs"); - var path=__require__("path"); - var os=__require__("os"); - var hookPath=path.join(os.homedir(), ".cursor_hook.js"); - if(fs.existsSync(hookPath)){ - __require__(hookPath); + // 兼容 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"); + + 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); + } } }catch(e){ // 失败静默,避免影响启动 diff --git a/scripts/run/cursor_mac_id_modifier.sh b/scripts/run/cursor_mac_id_modifier.sh index a7c66b8..ab00ff5 100644 --- a/scripts/run/cursor_mac_id_modifier.sh +++ b/scripts/run/cursor_mac_id_modifier.sh @@ -2047,17 +2047,22 @@ if(globalThis.__cursor_hook_loaded__)return; globalThis.__cursor_hook_loaded__=true; try{ - var __require__=typeof require==="function"?require:null; - if(!__require__){ - var __m__=await import("module"); - __require__=__m__.createRequire(import.meta.url); - } - var fs=__require__("fs"); - var path=__require__("path"); - var os=__require__("os"); - var hookPath=path.join(os.homedir(), ".cursor_hook.js"); - if(fs.existsSync(hookPath)){ - __require__(hookPath); + // 兼容 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"); + + 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); + } } }catch(e){ // 失败静默,避免影响启动 diff --git a/scripts/run/cursor_win_id_modifier.ps1 b/scripts/run/cursor_win_id_modifier.ps1 index 4bc3649..88acb75 100644 --- a/scripts/run/cursor_win_id_modifier.ps1 +++ b/scripts/run/cursor_win_id_modifier.ps1 @@ -701,17 +701,22 @@ if (globalThis.__cursor_hook_loaded__) return; globalThis.__cursor_hook_loaded__ = true; try { - var __require__ = typeof require === 'function' ? require : null; - if (!__require__) { - var __m__ = await import('module'); - __require__ = __m__.createRequire(import.meta.url); - } - var fs = __require__('fs'); - var path = __require__('path'); - var os = __require__('os'); - var hookPath = path.join(os.homedir(), '.cursor_hook.js'); - if (fs.existsSync(hookPath)) { - __require__(hookPath); + // 兼容 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'); + + 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); + } } } catch (e) { // 失败静默,避免影响启动