@vlian/framework 1.2.19 → 1.2.37
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/analytics.umd.js +208 -2395
- package/dist/analytics.umd.js.map +1 -1
- package/dist/core/error/ErrorHandler.cjs.map +1 -1
- package/dist/core/error/ErrorHandler.d.ts +1 -1
- package/dist/core/error/ErrorHandler.js.map +1 -1
- package/dist/core/index.cjs +0 -1
- package/dist/core/index.cjs.map +1 -1
- package/dist/core/index.d.ts +1 -2
- package/dist/core/index.js +0 -1
- package/dist/core/index.js.map +1 -1
- package/dist/core/initialization/index.cjs.map +1 -1
- package/dist/core/initialization/index.d.ts +1 -1
- package/dist/core/initialization/index.js.map +1 -1
- package/dist/core/initialization/initialization.cjs +2 -147
- package/dist/core/initialization/initialization.cjs.map +1 -1
- package/dist/core/initialization/initialization.d.ts +0 -57
- package/dist/core/initialization/initialization.js +2 -148
- package/dist/core/initialization/initialization.js.map +1 -1
- package/dist/core/kernel/startKernel.cjs +1 -2
- package/dist/core/kernel/startKernel.cjs.map +1 -1
- package/dist/core/kernel/startKernel.js +1 -2
- package/dist/core/kernel/startKernel.js.map +1 -1
- package/dist/core/plugin.cjs +16 -16
- package/dist/core/plugin.cjs.map +1 -1
- package/dist/core/plugin.d.ts +5 -1
- package/dist/core/plugin.js +17 -17
- package/dist/core/plugin.js.map +1 -1
- package/dist/core/router/monitoring/RouterMonitoring.cjs +1 -1
- package/dist/core/router/monitoring/RouterMonitoring.cjs.map +1 -1
- package/dist/core/router/monitoring/RouterMonitoring.js +1 -1
- package/dist/core/router/monitoring/RouterMonitoring.js.map +1 -1
- package/dist/core/router/utils/adapters/react-router/RouteErrorBoundary.cjs +13 -8
- package/dist/core/router/utils/adapters/react-router/RouteErrorBoundary.cjs.map +1 -1
- package/dist/core/router/utils/adapters/react-router/RouteErrorBoundary.js +13 -8
- package/dist/core/router/utils/adapters/react-router/RouteErrorBoundary.js.map +1 -1
- package/dist/core/router/utils/adapters/react-router/transform.cjs +4 -0
- package/dist/core/router/utils/adapters/react-router/transform.cjs.map +1 -1
- package/dist/core/router/utils/adapters/react-router/transform.js +4 -0
- package/dist/core/router/utils/adapters/react-router/transform.js.map +1 -1
- package/dist/core/startup/initializeServices.cjs +1 -1
- package/dist/core/startup/initializeServices.cjs.map +1 -1
- package/dist/core/startup/initializeServices.d.ts +1 -1
- package/dist/core/startup/initializeServices.js +1 -1
- package/dist/core/startup/initializeServices.js.map +1 -1
- package/dist/core/startup/performanceTracker.cjs.map +1 -1
- package/dist/core/startup/performanceTracker.d.ts +1 -1
- package/dist/core/startup/performanceTracker.js.map +1 -1
- package/dist/core/startup/renderApp.cjs +1 -1
- package/dist/core/startup/renderApp.cjs.map +1 -1
- package/dist/core/startup/renderApp.d.ts +1 -1
- package/dist/core/startup/renderApp.js +1 -1
- package/dist/core/startup/renderApp.js.map +1 -1
- package/dist/core/startup/startApp.cjs +2 -4
- package/dist/core/startup/startApp.cjs.map +1 -1
- package/dist/core/startup/startApp.js +3 -5
- package/dist/core/startup/startApp.js.map +1 -1
- package/dist/core/types.d.ts +2 -6
- package/dist/core/types.js.map +1 -1
- package/dist/index.cjs +15 -2
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.ts +6 -4
- package/dist/index.js +5 -4
- package/dist/index.js.map +1 -1
- package/dist/index.umd.js +11758 -32895
- package/dist/index.umd.js.map +1 -1
- package/dist/kernel/constants.cjs +67 -0
- package/dist/kernel/constants.cjs.map +1 -0
- package/dist/kernel/constants.d.ts +5 -0
- package/dist/kernel/constants.js +43 -0
- package/dist/kernel/constants.js.map +1 -0
- package/dist/kernel/index.cjs +40 -0
- package/dist/kernel/index.cjs.map +1 -0
- package/dist/kernel/index.d.ts +3 -0
- package/dist/kernel/index.js +4 -0
- package/dist/kernel/index.js.map +1 -0
- package/dist/kernel/kernel.cjs +296 -0
- package/dist/kernel/kernel.cjs.map +1 -0
- package/dist/kernel/kernel.d.ts +40 -0
- package/dist/kernel/kernel.js +272 -0
- package/dist/kernel/kernel.js.map +1 -0
- package/dist/kernel/manager/cacheManager.cjs +46 -0
- package/dist/kernel/manager/cacheManager.cjs.map +1 -0
- package/dist/kernel/manager/cacheManager.d.ts +6 -0
- package/dist/kernel/manager/cacheManager.js +36 -0
- package/dist/kernel/manager/cacheManager.js.map +1 -0
- package/dist/kernel/manager/i18nManager.cjs +68 -0
- package/dist/kernel/manager/i18nManager.cjs.map +1 -0
- package/dist/kernel/manager/i18nManager.d.ts +8 -0
- package/dist/kernel/manager/i18nManager.js +58 -0
- package/dist/kernel/manager/i18nManager.js.map +1 -0
- package/dist/kernel/manager/index.cjs +30 -0
- package/dist/kernel/manager/index.cjs.map +1 -0
- package/dist/kernel/manager/index.d.ts +4 -0
- package/dist/kernel/manager/index.js +6 -0
- package/dist/kernel/manager/index.js.map +1 -0
- package/dist/kernel/manager/loggerManager.cjs +70 -0
- package/dist/kernel/manager/loggerManager.cjs.map +1 -0
- package/dist/kernel/manager/loggerManager.d.ts +14 -0
- package/dist/kernel/manager/loggerManager.js +60 -0
- package/dist/kernel/manager/loggerManager.js.map +1 -0
- package/dist/kernel/manager/persistence.cjs +93 -0
- package/dist/kernel/manager/persistence.cjs.map +1 -0
- package/dist/kernel/manager/persistence.d.ts +3 -0
- package/dist/kernel/manager/persistence.js +75 -0
- package/dist/kernel/manager/persistence.js.map +1 -0
- package/dist/kernel/manager/themeManager.cjs +85 -0
- package/dist/kernel/manager/themeManager.cjs.map +1 -0
- package/dist/kernel/manager/themeManager.d.ts +9 -0
- package/dist/kernel/manager/themeManager.js +75 -0
- package/dist/kernel/manager/themeManager.js.map +1 -0
- package/dist/kernel/types.cjs.map +1 -0
- package/dist/kernel/types.d.ts +72 -0
- package/dist/kernel/types.js.map +1 -0
- package/dist/library/storage/index.cjs +1 -1
- package/dist/library/storage/index.cjs.map +1 -1
- package/dist/library/storage/index.d.ts +1 -0
- package/dist/library/storage/index.js +1 -1
- package/dist/library/storage/index.js.map +1 -1
- package/dist/request/adapter.d.ts +1 -0
- package/dist/request/core.d.ts +1 -0
- package/dist/request/index.d.ts +1 -42
- package/dist/request/plugin/csrfPlugin.d.ts +2 -2
- package/dist/request/plugin/queue.d.ts +2 -2
- package/dist/request/plugin.d.ts +1 -0
- package/dist/request/runtime.d.ts +1 -0
- package/dist/request/types.d.ts +1 -394
- package/dist/request/utils.d.ts +1 -0
- package/dist/state.umd.js +1 -1
- package/dist/utils/csrf.cjs +13 -152
- package/dist/utils/csrf.cjs.map +1 -1
- package/dist/utils/csrf.d.ts +1 -72
- package/dist/utils/csrf.js +1 -142
- package/dist/utils/csrf.js.map +1 -1
- package/dist/utils/errors/ErrorCodes.cjs +6 -76
- package/dist/utils/errors/ErrorCodes.cjs.map +1 -1
- package/dist/utils/errors/ErrorCodes.d.ts +1 -45
- package/dist/utils/errors/ErrorCodes.js +1 -84
- package/dist/utils/errors/ErrorCodes.js.map +1 -1
- package/dist/utils/errors.cjs +15 -344
- package/dist/utils/errors.cjs.map +1 -1
- package/dist/utils/errors.d.ts +1 -183
- package/dist/utils/errors.js +1 -352
- package/dist/utils/errors.js.map +1 -1
- package/dist/utils/logger.cjs +5 -374
- package/dist/utils/logger.cjs.map +1 -1
- package/dist/utils/logger.d.ts +2 -189
- package/dist/utils/logger.js +1 -379
- package/dist/utils/logger.js.map +1 -1
- package/dist/utils/logger.types.cjs +3 -12
- package/dist/utils/logger.types.cjs.map +1 -1
- package/dist/utils/logger.types.d.ts +2 -57
- package/dist/utils/logger.types.js +1 -10
- package/dist/utils/logger.types.js.map +1 -1
- package/dist/utils/monitoring.cjs +11 -302
- package/dist/utils/monitoring.cjs.map +1 -1
- package/dist/utils/monitoring.d.ts +1 -163
- package/dist/utils/monitoring.js +1 -294
- package/dist/utils/monitoring.js.map +1 -1
- package/dist/utils/performance.cjs +5 -352
- package/dist/utils/performance.cjs.map +1 -1
- package/dist/utils/performance.d.ts +2 -246
- package/dist/utils/performance.js +1 -354
- package/dist/utils/performance.js.map +1 -1
- package/dist/utils/resourceLoader.cjs +5 -303
- package/dist/utils/resourceLoader.cjs.map +1 -1
- package/dist/utils/resourceLoader.d.ts +2 -130
- package/dist/utils/resourceLoader.js +1 -305
- package/dist/utils/resourceLoader.js.map +1 -1
- package/dist/utils/runtimeSecurity.cjs +2 -140
- package/dist/utils/runtimeSecurity.cjs.map +1 -1
- package/dist/utils/runtimeSecurity.d.ts +2 -104
- package/dist/utils/runtimeSecurity.js +1 -141
- package/dist/utils/runtimeSecurity.js.map +1 -1
- package/dist/utils/security.cjs +3 -314
- package/dist/utils/security.cjs.map +1 -1
- package/dist/utils/security.d.ts +2 -80
- package/dist/utils/security.js +1 -311
- package/dist/utils/security.js.map +1 -1
- package/dist/utils/traceId.cjs +10 -111
- package/dist/utils/traceId.cjs.map +1 -1
- package/dist/utils/traceId.d.ts +1 -63
- package/dist/utils/traceId.js +1 -116
- package/dist/utils/traceId.js.map +1 -1
- package/dist/utils/validation.cjs +3 -173
- package/dist/utils/validation.cjs.map +1 -1
- package/dist/utils/validation.d.ts +2 -110
- package/dist/utils/validation.js +1 -175
- package/dist/utils/validation.js.map +1 -1
- package/package.json +98 -13
- package/dist/core/ui-adapter/adapters.cjs +0 -45
- package/dist/core/ui-adapter/adapters.cjs.map +0 -1
- package/dist/core/ui-adapter/adapters.d.ts +0 -4
- package/dist/core/ui-adapter/adapters.js +0 -27
- package/dist/core/ui-adapter/adapters.js.map +0 -1
- package/dist/core/ui-adapter/index.cjs +0 -21
- package/dist/core/ui-adapter/index.cjs.map +0 -1
- package/dist/core/ui-adapter/index.d.ts +0 -2
- package/dist/core/ui-adapter/index.js +0 -3
- package/dist/core/ui-adapter/index.js.map +0 -1
- package/dist/core/ui-adapter/types.cjs.map +0 -1
- package/dist/core/ui-adapter/types.d.ts +0 -24
- package/dist/core/ui-adapter/types.js.map +0 -1
- package/dist/request/adapter/RequestAdapter.cjs +0 -78
- package/dist/request/adapter/RequestAdapter.cjs.map +0 -1
- package/dist/request/adapter/axiosAdapter.cjs +0 -164
- package/dist/request/adapter/axiosAdapter.cjs.map +0 -1
- package/dist/request/adapter/fetchAdapter.cjs +0 -134
- package/dist/request/adapter/fetchAdapter.cjs.map +0 -1
- package/dist/request/adapter/index.cjs +0 -80
- package/dist/request/adapter/index.cjs.map +0 -1
- package/dist/request/adapter/kyAdapter.cjs +0 -191
- package/dist/request/adapter/kyAdapter.cjs.map +0 -1
- package/dist/request/adapter/undiciAdapter.cjs +0 -213
- package/dist/request/adapter/undiciAdapter.cjs.map +0 -1
- package/dist/request/core/RequestClient.cjs +0 -558
- package/dist/request/core/RequestClient.cjs.map +0 -1
- package/dist/request/core/index.cjs +0 -15
- package/dist/request/core/index.cjs.map +0 -1
- package/dist/request/index.cjs +0 -149
- package/dist/request/index.cjs.map +0 -1
- package/dist/request/plugin/RequestPlugin.cjs +0 -218
- package/dist/request/plugin/RequestPlugin.cjs.map +0 -1
- package/dist/request/plugin/cache.cjs +0 -269
- package/dist/request/plugin/cache.cjs.map +0 -1
- package/dist/request/plugin/csrfPlugin.cjs +0 -40
- package/dist/request/plugin/csrfPlugin.cjs.map +0 -1
- package/dist/request/plugin/index.cjs +0 -53
- package/dist/request/plugin/index.cjs.map +0 -1
- package/dist/request/plugin/monitoring.cjs +0 -216
- package/dist/request/plugin/monitoring.cjs.map +0 -1
- package/dist/request/plugin/queue.cjs +0 -140
- package/dist/request/plugin/queue.cjs.map +0 -1
- package/dist/request/plugin/retry.cjs +0 -98
- package/dist/request/plugin/retry.cjs.map +0 -1
- package/dist/request/plugin/validation.cjs +0 -121
- package/dist/request/plugin/validation.cjs.map +0 -1
- package/dist/request/runtime/RequestContext.cjs +0 -77
- package/dist/request/runtime/RequestContext.cjs.map +0 -1
- package/dist/request/runtime/index.cjs +0 -32
- package/dist/request/runtime/index.cjs.map +0 -1
- package/dist/request/types.cjs +0 -112
- package/dist/request/types.cjs.map +0 -1
- package/dist/request/utils/RequestQueueManager.cjs +0 -168
- package/dist/request/utils/RequestQueueManager.cjs.map +0 -1
- package/dist/request/utils/dependencyCheck.cjs +0 -237
- package/dist/request/utils/dependencyCheck.cjs.map +0 -1
- package/dist/request/utils/index.cjs +0 -30
- package/dist/request/utils/index.cjs.map +0 -1
- package/dist/request.umd.js +0 -5392
- package/dist/request.umd.js.map +0 -1
- /package/dist/{core/ui-adapter → kernel}/types.cjs +0 -0
- /package/dist/{core/ui-adapter → kernel}/types.js +0 -0
|
@@ -1,237 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* 依赖检查工具
|
|
3
|
-
*
|
|
4
|
-
* 用于检查可选依赖是否已安装,并提供友好的安装提示
|
|
5
|
-
*/ /**
|
|
6
|
-
* 依赖包信息
|
|
7
|
-
*/ "use strict";
|
|
8
|
-
Object.defineProperty(exports, "__esModule", {
|
|
9
|
-
value: true
|
|
10
|
-
});
|
|
11
|
-
function _export(target, all) {
|
|
12
|
-
for(var name in all)Object.defineProperty(target, name, {
|
|
13
|
-
enumerable: true,
|
|
14
|
-
get: Object.getOwnPropertyDescriptor(all, name).get
|
|
15
|
-
});
|
|
16
|
-
}
|
|
17
|
-
_export(exports, {
|
|
18
|
-
get checkDependency () {
|
|
19
|
-
return checkDependency;
|
|
20
|
-
},
|
|
21
|
-
get createDependencyError () {
|
|
22
|
-
return createDependencyError;
|
|
23
|
-
},
|
|
24
|
-
get requireDependency () {
|
|
25
|
-
return requireDependency;
|
|
26
|
-
}
|
|
27
|
-
});
|
|
28
|
-
function _getRequireWildcardCache(nodeInterop) {
|
|
29
|
-
if (typeof WeakMap !== "function") return null;
|
|
30
|
-
var cacheBabelInterop = new WeakMap();
|
|
31
|
-
var cacheNodeInterop = new WeakMap();
|
|
32
|
-
return (_getRequireWildcardCache = function(nodeInterop) {
|
|
33
|
-
return nodeInterop ? cacheNodeInterop : cacheBabelInterop;
|
|
34
|
-
})(nodeInterop);
|
|
35
|
-
}
|
|
36
|
-
function _interop_require_wildcard(obj, nodeInterop) {
|
|
37
|
-
if (!nodeInterop && obj && obj.__esModule) {
|
|
38
|
-
return obj;
|
|
39
|
-
}
|
|
40
|
-
if (obj === null || typeof obj !== "object" && typeof obj !== "function") {
|
|
41
|
-
return {
|
|
42
|
-
default: obj
|
|
43
|
-
};
|
|
44
|
-
}
|
|
45
|
-
var cache = _getRequireWildcardCache(nodeInterop);
|
|
46
|
-
if (cache && cache.has(obj)) {
|
|
47
|
-
return cache.get(obj);
|
|
48
|
-
}
|
|
49
|
-
var newObj = {
|
|
50
|
-
__proto__: null
|
|
51
|
-
};
|
|
52
|
-
var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor;
|
|
53
|
-
for(var key in obj){
|
|
54
|
-
if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) {
|
|
55
|
-
var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null;
|
|
56
|
-
if (desc && (desc.get || desc.set)) {
|
|
57
|
-
Object.defineProperty(newObj, key, desc);
|
|
58
|
-
} else {
|
|
59
|
-
newObj[key] = obj[key];
|
|
60
|
-
}
|
|
61
|
-
}
|
|
62
|
-
}
|
|
63
|
-
newObj.default = obj;
|
|
64
|
-
if (cache) {
|
|
65
|
-
cache.set(obj, newObj);
|
|
66
|
-
}
|
|
67
|
-
return newObj;
|
|
68
|
-
}
|
|
69
|
-
/**
|
|
70
|
-
* 已知依赖包信息
|
|
71
|
-
*/ const KNOWN_DEPENDENCIES = {
|
|
72
|
-
ky: {
|
|
73
|
-
name: 'ky',
|
|
74
|
-
description: '一个轻量级的 HTTP 客户端库,基于 fetch API',
|
|
75
|
-
installCommand: 'pnpm add ky',
|
|
76
|
-
installCommandNpm: 'npm install ky',
|
|
77
|
-
installCommandYarn: 'yarn add ky',
|
|
78
|
-
documentationUrl: 'https://github.com/sindresorhus/ky'
|
|
79
|
-
},
|
|
80
|
-
axios: {
|
|
81
|
-
name: 'axios',
|
|
82
|
-
description: '一个基于 Promise 的 HTTP 客户端,用于浏览器和 Node.js',
|
|
83
|
-
installCommand: 'pnpm add axios',
|
|
84
|
-
installCommandNpm: 'npm install axios',
|
|
85
|
-
installCommandYarn: 'yarn add axios',
|
|
86
|
-
documentationUrl: 'https://axios-http.com/'
|
|
87
|
-
},
|
|
88
|
-
undici: {
|
|
89
|
-
name: 'undici',
|
|
90
|
-
description: '一个高性能的 HTTP/1.1 客户端,Node.js 官方推荐',
|
|
91
|
-
installCommand: 'pnpm add undici',
|
|
92
|
-
installCommandNpm: 'npm install undici',
|
|
93
|
-
installCommandYarn: 'yarn add undici',
|
|
94
|
-
documentationUrl: 'https://undici.nodejs.org/'
|
|
95
|
-
}
|
|
96
|
-
};
|
|
97
|
-
/**
|
|
98
|
-
* 检测包管理器类型
|
|
99
|
-
*
|
|
100
|
-
* @returns 包管理器类型('pnpm' | 'npm' | 'yarn' | 'unknown')
|
|
101
|
-
*/ function detectPackageManager() {
|
|
102
|
-
// 检查环境变量
|
|
103
|
-
if (typeof process !== 'undefined') {
|
|
104
|
-
// 检查 pnpm
|
|
105
|
-
if (process.env.npm_config_user_agent?.includes('pnpm')) {
|
|
106
|
-
return 'pnpm';
|
|
107
|
-
}
|
|
108
|
-
// 检查 yarn
|
|
109
|
-
if (process.env.npm_config_user_agent?.includes('yarn')) {
|
|
110
|
-
return 'yarn';
|
|
111
|
-
}
|
|
112
|
-
// 检查 npm
|
|
113
|
-
if (process.env.npm_config_user_agent?.includes('npm')) {
|
|
114
|
-
return 'npm';
|
|
115
|
-
}
|
|
116
|
-
}
|
|
117
|
-
// 检查是否存在 lock 文件(仅在 Node.js 环境中)
|
|
118
|
-
if (typeof process !== 'undefined' && typeof require !== 'undefined' && process.cwd) {
|
|
119
|
-
try {
|
|
120
|
-
// 动态导入 Node.js 模块(避免浏览器环境报错)
|
|
121
|
-
const fs = require('fs');
|
|
122
|
-
const path = require('path');
|
|
123
|
-
const cwd = process.cwd();
|
|
124
|
-
if (fs.existsSync(path.join(cwd, 'pnpm-lock.yaml'))) {
|
|
125
|
-
return 'pnpm';
|
|
126
|
-
}
|
|
127
|
-
if (fs.existsSync(path.join(cwd, 'yarn.lock'))) {
|
|
128
|
-
return 'yarn';
|
|
129
|
-
}
|
|
130
|
-
if (fs.existsSync(path.join(cwd, 'package-lock.json'))) {
|
|
131
|
-
return 'npm';
|
|
132
|
-
}
|
|
133
|
-
} catch {
|
|
134
|
-
// 忽略错误(可能是浏览器环境)
|
|
135
|
-
}
|
|
136
|
-
}
|
|
137
|
-
return 'unknown';
|
|
138
|
-
}
|
|
139
|
-
async function checkDependency(packageName) {
|
|
140
|
-
try {
|
|
141
|
-
// 在浏览器环境中,使用 Function 构造函数避免构建时解析
|
|
142
|
-
// 这样可以确保动态导入在运行时执行
|
|
143
|
-
if (typeof window !== 'undefined') {
|
|
144
|
-
// 浏览器环境:使用 Function 构造函数
|
|
145
|
-
const importFn = new Function('packageName', 'return import(packageName)');
|
|
146
|
-
await importFn(packageName);
|
|
147
|
-
} else {
|
|
148
|
-
// Node.js 环境:直接导入
|
|
149
|
-
await Promise.resolve(packageName).then((p)=>/*#__PURE__*/ _interop_require_wildcard(require(p)));
|
|
150
|
-
}
|
|
151
|
-
return true;
|
|
152
|
-
} catch (error) {
|
|
153
|
-
// 如果导入失败,检查是否是模块未找到错误
|
|
154
|
-
if (error instanceof Error) {
|
|
155
|
-
const errorMessage = error.message.toLowerCase();
|
|
156
|
-
// 检查各种模块未找到的错误信息
|
|
157
|
-
if (errorMessage.includes('cannot find module') || errorMessage.includes('cannot resolve') || errorMessage.includes('module not found') || errorMessage.includes('failed to resolve') || errorMessage.includes('does not exist') || errorMessage.includes('resolve') && errorMessage.includes(packageName)) {
|
|
158
|
-
return false;
|
|
159
|
-
}
|
|
160
|
-
// 在浏览器环境中,某些构建工具的错误信息可能不同
|
|
161
|
-
// 如果错误包含包名,也可能是未找到
|
|
162
|
-
if (errorMessage.includes(packageName) && (errorMessage.includes('resolve') || errorMessage.includes('find') || errorMessage.includes('not found'))) {
|
|
163
|
-
return false;
|
|
164
|
-
}
|
|
165
|
-
}
|
|
166
|
-
// 其他错误(如语法错误、运行时错误等)不应该认为是未安装
|
|
167
|
-
// 返回 true,让实际导入时再处理这些错误
|
|
168
|
-
return true;
|
|
169
|
-
}
|
|
170
|
-
}
|
|
171
|
-
function createDependencyError(packageName, context) {
|
|
172
|
-
const depInfo = KNOWN_DEPENDENCIES[packageName];
|
|
173
|
-
const packageManager = detectPackageManager();
|
|
174
|
-
// 构建基础错误消息
|
|
175
|
-
let message = `\n❌ 依赖包 "${packageName}" 未安装\n\n`;
|
|
176
|
-
// 添加上下文信息
|
|
177
|
-
if (context?.adapterName) {
|
|
178
|
-
message += `适配器 "${context.adapterName}" 需要安装 "${packageName}" 依赖包。\n\n`;
|
|
179
|
-
}
|
|
180
|
-
if (depInfo) {
|
|
181
|
-
message += `📦 包信息:${depInfo.description}\n\n`;
|
|
182
|
-
}
|
|
183
|
-
// 添加安装命令
|
|
184
|
-
message += `📥 安装命令:\n`;
|
|
185
|
-
if (depInfo) {
|
|
186
|
-
switch(packageManager){
|
|
187
|
-
case 'pnpm':
|
|
188
|
-
message += ` ${depInfo.installCommand}\n`;
|
|
189
|
-
break;
|
|
190
|
-
case 'npm':
|
|
191
|
-
message += ` ${depInfo.installCommandNpm}\n`;
|
|
192
|
-
break;
|
|
193
|
-
case 'yarn':
|
|
194
|
-
message += ` ${depInfo.installCommandYarn}\n`;
|
|
195
|
-
break;
|
|
196
|
-
default:
|
|
197
|
-
// 显示所有包管理器的命令
|
|
198
|
-
message += ` ${depInfo.installCommand}\n`;
|
|
199
|
-
message += ` ${depInfo.installCommandNpm}\n`;
|
|
200
|
-
message += ` ${depInfo.installCommandYarn}\n`;
|
|
201
|
-
}
|
|
202
|
-
} else {
|
|
203
|
-
// 未知包,使用通用命令
|
|
204
|
-
switch(packageManager){
|
|
205
|
-
case 'pnpm':
|
|
206
|
-
message += ` pnpm add ${packageName}\n`;
|
|
207
|
-
break;
|
|
208
|
-
case 'npm':
|
|
209
|
-
message += ` npm install ${packageName}\n`;
|
|
210
|
-
break;
|
|
211
|
-
case 'yarn':
|
|
212
|
-
message += ` yarn add ${packageName}\n`;
|
|
213
|
-
break;
|
|
214
|
-
default:
|
|
215
|
-
message += ` pnpm add ${packageName}\n`;
|
|
216
|
-
message += ` npm install ${packageName}\n`;
|
|
217
|
-
message += ` yarn add ${packageName}\n`;
|
|
218
|
-
}
|
|
219
|
-
}
|
|
220
|
-
// 添加文档链接
|
|
221
|
-
if (depInfo?.documentationUrl) {
|
|
222
|
-
message += `\n📚 文档:${depInfo.documentationUrl}\n`;
|
|
223
|
-
}
|
|
224
|
-
// 添加说明
|
|
225
|
-
message += `\n💡 提示:这些依赖包是可选依赖,框架不会自动安装。\n`;
|
|
226
|
-
message += ` 请根据你的项目需求,在项目根目录安装对应的依赖包。\n`;
|
|
227
|
-
return message;
|
|
228
|
-
}
|
|
229
|
-
async function requireDependency(packageName, context) {
|
|
230
|
-
const isInstalled = await checkDependency(packageName);
|
|
231
|
-
if (!isInstalled) {
|
|
232
|
-
const errorMessage = createDependencyError(packageName, context);
|
|
233
|
-
throw new Error(errorMessage);
|
|
234
|
-
}
|
|
235
|
-
}
|
|
236
|
-
|
|
237
|
-
//# sourceMappingURL=dependencyCheck.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/request/utils/dependencyCheck.ts"],"sourcesContent":["/**\n * 依赖检查工具\n * \n * 用于检查可选依赖是否已安装,并提供友好的安装提示\n */\n\n/**\n * 依赖包信息\n */\nexport interface DependencyInfo {\n /**\n * 包名\n */\n name: string;\n\n /**\n * 包描述\n */\n description: string;\n\n /**\n * 安装命令(pnpm)\n */\n installCommand: string;\n\n /**\n * 安装命令(npm)\n */\n installCommandNpm: string;\n\n /**\n * 安装命令(yarn)\n */\n installCommandYarn: string;\n\n /**\n * 文档链接\n */\n documentationUrl?: string;\n}\n\n/**\n * 已知依赖包信息\n */\nconst KNOWN_DEPENDENCIES: Record<string, DependencyInfo> = {\n ky: {\n name: 'ky',\n description: '一个轻量级的 HTTP 客户端库,基于 fetch API',\n installCommand: 'pnpm add ky',\n installCommandNpm: 'npm install ky',\n installCommandYarn: 'yarn add ky',\n documentationUrl: 'https://github.com/sindresorhus/ky',\n },\n axios: {\n name: 'axios',\n description: '一个基于 Promise 的 HTTP 客户端,用于浏览器和 Node.js',\n installCommand: 'pnpm add axios',\n installCommandNpm: 'npm install axios',\n installCommandYarn: 'yarn add axios',\n documentationUrl: 'https://axios-http.com/',\n },\n undici: {\n name: 'undici',\n description: '一个高性能的 HTTP/1.1 客户端,Node.js 官方推荐',\n installCommand: 'pnpm add undici',\n installCommandNpm: 'npm install undici',\n installCommandYarn: 'yarn add undici',\n documentationUrl: 'https://undici.nodejs.org/',\n },\n};\n\n/**\n * 检测包管理器类型\n * \n * @returns 包管理器类型('pnpm' | 'npm' | 'yarn' | 'unknown')\n */\nfunction detectPackageManager(): 'pnpm' | 'npm' | 'yarn' | 'unknown' {\n // 检查环境变量\n if (typeof process !== 'undefined') {\n // 检查 pnpm\n if (process.env.npm_config_user_agent?.includes('pnpm')) {\n return 'pnpm';\n }\n // 检查 yarn\n if (process.env.npm_config_user_agent?.includes('yarn')) {\n return 'yarn';\n }\n // 检查 npm\n if (process.env.npm_config_user_agent?.includes('npm')) {\n return 'npm';\n }\n }\n\n // 检查是否存在 lock 文件(仅在 Node.js 环境中)\n if (typeof process !== 'undefined' && typeof require !== 'undefined' && process.cwd) {\n try {\n // 动态导入 Node.js 模块(避免浏览器环境报错)\n const fs = require('fs');\n const path = require('path');\n const cwd = process.cwd();\n\n if (fs.existsSync(path.join(cwd, 'pnpm-lock.yaml'))) {\n return 'pnpm';\n }\n if (fs.existsSync(path.join(cwd, 'yarn.lock'))) {\n return 'yarn';\n }\n if (fs.existsSync(path.join(cwd, 'package-lock.json'))) {\n return 'npm';\n }\n } catch {\n // 忽略错误(可能是浏览器环境)\n }\n }\n\n return 'unknown';\n}\n\n/**\n * 检查依赖是否已安装\n * \n * @param packageName - 包名\n * @returns 如果已安装返回 true,否则返回 false\n */\nexport async function checkDependency(packageName: string): Promise<boolean> {\n try {\n // 在浏览器环境中,使用 Function 构造函数避免构建时解析\n // 这样可以确保动态导入在运行时执行\n if (typeof window !== 'undefined') {\n // 浏览器环境:使用 Function 构造函数\n const importFn = new Function('packageName', 'return import(packageName)');\n await importFn(packageName);\n } else {\n // Node.js 环境:直接导入\n await import(packageName);\n }\n return true;\n } catch (error: unknown) {\n // 如果导入失败,检查是否是模块未找到错误\n if (error instanceof Error) {\n const errorMessage = error.message.toLowerCase();\n // 检查各种模块未找到的错误信息\n if (\n errorMessage.includes('cannot find module') ||\n errorMessage.includes('cannot resolve') ||\n errorMessage.includes('module not found') ||\n errorMessage.includes('failed to resolve') ||\n errorMessage.includes('does not exist') ||\n (errorMessage.includes('resolve') && errorMessage.includes(packageName))\n ) {\n return false;\n }\n // 在浏览器环境中,某些构建工具的错误信息可能不同\n // 如果错误包含包名,也可能是未找到\n if (errorMessage.includes(packageName) && (\n errorMessage.includes('resolve') ||\n errorMessage.includes('find') ||\n errorMessage.includes('not found')\n )) {\n return false;\n }\n }\n // 其他错误(如语法错误、运行时错误等)不应该认为是未安装\n // 返回 true,让实际导入时再处理这些错误\n return true;\n }\n}\n\n/**\n * 创建友好的依赖缺失错误消息\n * \n * @param packageName - 包名\n * @param context - 上下文信息(可选)\n * @returns 错误消息字符串\n */\nexport function createDependencyError(\n packageName: string,\n context?: {\n adapterName?: string;\n environment?: string;\n }\n): string {\n const depInfo = KNOWN_DEPENDENCIES[packageName];\n const packageManager = detectPackageManager();\n\n // 构建基础错误消息\n let message = `\\n❌ 依赖包 \"${packageName}\" 未安装\\n\\n`;\n\n // 添加上下文信息\n if (context?.adapterName) {\n message += `适配器 \"${context.adapterName}\" 需要安装 \"${packageName}\" 依赖包。\\n\\n`;\n }\n\n if (depInfo) {\n message += `📦 包信息:${depInfo.description}\\n\\n`;\n }\n\n // 添加安装命令\n message += `📥 安装命令:\\n`;\n if (depInfo) {\n switch (packageManager) {\n case 'pnpm':\n message += ` ${depInfo.installCommand}\\n`;\n break;\n case 'npm':\n message += ` ${depInfo.installCommandNpm}\\n`;\n break;\n case 'yarn':\n message += ` ${depInfo.installCommandYarn}\\n`;\n break;\n default:\n // 显示所有包管理器的命令\n message += ` ${depInfo.installCommand}\\n`;\n message += ` ${depInfo.installCommandNpm}\\n`;\n message += ` ${depInfo.installCommandYarn}\\n`;\n }\n } else {\n // 未知包,使用通用命令\n switch (packageManager) {\n case 'pnpm':\n message += ` pnpm add ${packageName}\\n`;\n break;\n case 'npm':\n message += ` npm install ${packageName}\\n`;\n break;\n case 'yarn':\n message += ` yarn add ${packageName}\\n`;\n break;\n default:\n message += ` pnpm add ${packageName}\\n`;\n message += ` npm install ${packageName}\\n`;\n message += ` yarn add ${packageName}\\n`;\n }\n }\n\n // 添加文档链接\n if (depInfo?.documentationUrl) {\n message += `\\n📚 文档:${depInfo.documentationUrl}\\n`;\n }\n\n // 添加说明\n message += `\\n💡 提示:这些依赖包是可选依赖,框架不会自动安装。\\n`;\n message += ` 请根据你的项目需求,在项目根目录安装对应的依赖包。\\n`;\n\n return message;\n}\n\n/**\n * 检查依赖并抛出友好的错误(如果未安装)\n * \n * @param packageName - 包名\n * @param context - 上下文信息(可选)\n * @throws 如果依赖未安装,抛出包含友好提示的错误\n */\nexport async function requireDependency(\n packageName: string,\n context?: {\n adapterName?: string;\n environment?: string;\n }\n): Promise<void> {\n const isInstalled = await checkDependency(packageName);\n if (!isInstalled) {\n const errorMessage = createDependencyError(packageName, context);\n throw new Error(errorMessage);\n }\n}\n"],"names":["checkDependency","createDependencyError","requireDependency","KNOWN_DEPENDENCIES","ky","name","description","installCommand","installCommandNpm","installCommandYarn","documentationUrl","axios","undici","detectPackageManager","process","env","npm_config_user_agent","includes","require","cwd","fs","path","existsSync","join","packageName","window","importFn","Function","error","Error","errorMessage","message","toLowerCase","context","depInfo","packageManager","adapterName","isInstalled"],"mappings":"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"}
|
|
@@ -1,30 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* 请求库工具函数
|
|
3
|
-
*/ "use strict";
|
|
4
|
-
Object.defineProperty(exports, "__esModule", {
|
|
5
|
-
value: true
|
|
6
|
-
});
|
|
7
|
-
function _export(target, all) {
|
|
8
|
-
for(var name in all)Object.defineProperty(target, name, {
|
|
9
|
-
enumerable: true,
|
|
10
|
-
get: Object.getOwnPropertyDescriptor(all, name).get
|
|
11
|
-
});
|
|
12
|
-
}
|
|
13
|
-
_export(exports, {
|
|
14
|
-
get checkDependency () {
|
|
15
|
-
return _dependencyCheck.checkDependency;
|
|
16
|
-
},
|
|
17
|
-
get createDependencyError () {
|
|
18
|
-
return _dependencyCheck.createDependencyError;
|
|
19
|
-
},
|
|
20
|
-
get getRequestQueueManager () {
|
|
21
|
-
return _RequestQueueManager.getRequestQueueManager;
|
|
22
|
-
},
|
|
23
|
-
get requireDependency () {
|
|
24
|
-
return _dependencyCheck.requireDependency;
|
|
25
|
-
}
|
|
26
|
-
});
|
|
27
|
-
const _dependencyCheck = require("./dependencyCheck");
|
|
28
|
-
const _RequestQueueManager = require("./RequestQueueManager");
|
|
29
|
-
|
|
30
|
-
//# sourceMappingURL=index.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/request/utils/index.ts"],"sourcesContent":["/**\n * 请求库工具函数\n */\n\nexport {\n checkDependency,\n createDependencyError,\n requireDependency,\n type DependencyInfo,\n} from './dependencyCheck';\n\nexport { getRequestQueueManager } from './RequestQueueManager';\n"],"names":["checkDependency","createDependencyError","getRequestQueueManager","requireDependency"],"mappings":"AAAA;;CAEC;;;;;;;;;;;QAGCA;eAAAA,gCAAe;;QACfC;eAAAA,sCAAqB;;QAKdC;eAAAA,2CAAsB;;QAJ7BC;eAAAA,kCAAiB;;;iCAEZ;qCAEgC"}
|