Browse Source

```

refactor(cursor-hook): 统一使用动态import替代require以兼容ESM/CJS模块

- 移除对require和import.meta的依赖,改用动态import方式加载Node.js内置模块
- 添加对ESM和CJS模块系统的兼容性支持
- 使用url.pathToFileURL将文件路径转换为URL格式进行模块导入
- 增强错误处理机制,确保模块加载失败时不会影响应用启动
```
煎饼果子卷鲨鱼辣椒 2 weeks ago
parent
commit
3e0faf8001
  1. 25
      scripts/run/cursor_linux_id_modifier.sh
  2. 25
      scripts/run/cursor_mac_id_modifier.sh
  3. 25
      scripts/run/cursor_win_id_modifier.ps1

25
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");
// 兼容 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(fs.existsSync(hookPath)){
__require__(hookPath);
if(typeof fs.existsSync==="function"&&fs.existsSync(hookPath)){
await import(url.pathToFileURL(hookPath).href);
}
}
}catch(e){
// 失败静默,避免影响启动

25
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");
// 兼容 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(fs.existsSync(hookPath)){
__require__(hookPath);
if(typeof fs.existsSync==="function"&&fs.existsSync(hookPath)){
await import(url.pathToFileURL(hookPath).href);
}
}
}catch(e){
// 失败静默,避免影响启动

25
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');
// 兼容 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 (fs.existsSync(hookPath)) {
__require__(hookPath);
if (typeof fs.existsSync === 'function' && fs.existsSync(hookPath)) {
await import(url.pathToFileURL(hookPath).href);
}
}
} catch (e) {
// 失败静默避免影响启动

Loading…
Cancel
Save