mirror of
https://github.com/yuaotian/go-cursor-help.git
synced 2026-03-07 14:24:37 +00:00
```
refactor(cursor-hook): 统一使用动态import替代require以兼容ESM/CJS模块 - 移除对require和import.meta的依赖,改用动态import方式加载Node.js内置模块 - 添加对ESM和CJS模块系统的兼容性支持 - 使用url.pathToFileURL将文件路径转换为URL格式进行模块导入 - 增强错误处理机制,确保模块加载失败时不会影响应用启动 ```
This commit is contained in:
@@ -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){
|
||||
// 失败静默,避免影响启动
|
||||
|
||||
@@ -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){
|
||||
// 失败静默,避免影响启动
|
||||
|
||||
@@ -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) {
|
||||
// 失败静默,避免影响启动
|
||||
|
||||
Reference in New Issue
Block a user