itismyskillmarket 1.1.5 → 1.1.7
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/index.js +12 -2
- package/package.json +1 -1
- package/src/commands/npm.ts +14 -2
package/dist/index.js
CHANGED
|
@@ -98,7 +98,9 @@ async function fetchNpmPackage(packageName) {
|
|
|
98
98
|
return new Promise((resolve, reject) => {
|
|
99
99
|
const encodedName = packageName.replace("@", "");
|
|
100
100
|
const url = new URL(`https://registry.npmjs.org/${encodedName}`);
|
|
101
|
+
console.error("Fetching URL:", url.toString());
|
|
101
102
|
const req = https.get(url.toString(), { timeout: 1e4 }, (res) => {
|
|
103
|
+
console.error("Response status:", res.statusCode);
|
|
102
104
|
let data = "";
|
|
103
105
|
res.on("data", (chunk) => {
|
|
104
106
|
data += chunk;
|
|
@@ -107,16 +109,24 @@ async function fetchNpmPackage(packageName) {
|
|
|
107
109
|
try {
|
|
108
110
|
const parsed = JSON.parse(data);
|
|
109
111
|
if (parsed.error) {
|
|
112
|
+
console.error("NPM error:", parsed.error);
|
|
110
113
|
resolve(null);
|
|
111
114
|
return;
|
|
112
115
|
}
|
|
116
|
+
console.error("Parsed keys:", Object.keys(parsed).slice(0, 10));
|
|
117
|
+
console.error("Has name:", "name" in parsed);
|
|
118
|
+
console.error("Name value:", parsed.name);
|
|
113
119
|
resolve(parsed);
|
|
114
|
-
} catch {
|
|
120
|
+
} catch (e) {
|
|
121
|
+
console.error("JSON parse error:", e.message, "Data:", data.slice(0, 200));
|
|
115
122
|
resolve(null);
|
|
116
123
|
}
|
|
117
124
|
});
|
|
118
125
|
});
|
|
119
|
-
req.on("error",
|
|
126
|
+
req.on("error", (e) => {
|
|
127
|
+
console.error("Request error:", e.code, e.message);
|
|
128
|
+
reject(e);
|
|
129
|
+
});
|
|
120
130
|
req.on("timeout", () => {
|
|
121
131
|
req.destroy();
|
|
122
132
|
reject(new Error("Request timeout"));
|
package/package.json
CHANGED
package/src/commands/npm.ts
CHANGED
|
@@ -122,8 +122,11 @@ export async function fetchNpmPackage(packageName: string): Promise<NpmRegistryR
|
|
|
122
122
|
const encodedName = packageName.replace('@', '');
|
|
123
123
|
const url = new URL(`https://registry.npmjs.org/${encodedName}`);
|
|
124
124
|
|
|
125
|
+
console.error('Fetching URL:', url.toString());
|
|
126
|
+
|
|
125
127
|
// 发送 HTTPS GET 请求
|
|
126
128
|
const req = https.get(url.toString(), { timeout: 10000 }, (res) => {
|
|
129
|
+
console.error('Response status:', res.statusCode);
|
|
127
130
|
let data = '';
|
|
128
131
|
|
|
129
132
|
// 收集响应数据
|
|
@@ -137,21 +140,30 @@ export async function fetchNpmPackage(packageName: string): Promise<NpmRegistryR
|
|
|
137
140
|
// 检查 npm 返回的错误
|
|
138
141
|
// npm 对于不存在的包也返回 200,但 body 中有 error 字段
|
|
139
142
|
if (parsed.error) {
|
|
143
|
+
console.error('NPM error:', parsed.error);
|
|
140
144
|
resolve(null);
|
|
141
145
|
return;
|
|
142
146
|
}
|
|
143
147
|
|
|
148
|
+
console.error('Parsed keys:', Object.keys(parsed).slice(0, 10));
|
|
149
|
+
console.error('Has name:', 'name' in parsed);
|
|
150
|
+
console.error('Name value:', parsed.name);
|
|
151
|
+
|
|
144
152
|
// 成功解析,返回包信息
|
|
145
153
|
resolve(parsed);
|
|
146
|
-
} catch {
|
|
154
|
+
} catch (e) {
|
|
147
155
|
// JSON 解析失败,返回 null
|
|
156
|
+
console.error('JSON parse error:', e.message, 'Data:', data.slice(0, 200));
|
|
148
157
|
resolve(null);
|
|
149
158
|
}
|
|
150
159
|
});
|
|
151
160
|
});
|
|
152
161
|
|
|
153
162
|
// 处理网络错误
|
|
154
|
-
req.on('error',
|
|
163
|
+
req.on('error', (e) => {
|
|
164
|
+
console.error('Request error:', e.code, e.message);
|
|
165
|
+
reject(e);
|
|
166
|
+
});
|
|
155
167
|
|
|
156
168
|
// 处理请求超时(10秒)
|
|
157
169
|
req.on('timeout', () => {
|