errorhub-cli 1.1.0 → 1.1.3

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 CHANGED
@@ -5,12 +5,14 @@ import express from 'express';
5
5
  import fs from 'fs';
6
6
  import os from 'os';
7
7
  import path from 'path';
8
+ import net from 'net';
8
9
  import { fileURLToPath } from 'url';
9
10
  import clc from 'cli-color';
10
11
  const program = new Command();
11
12
  const __filename = fileURLToPath(import.meta.url);
12
13
  const __dirname = path.dirname(__filename);
13
- const CONFIG_PATH = path.join(os.homedir(), '.my-cli-config.json');
14
+ const CONFIG_PATH = path.join(os.homedir(), '.token.json');
15
+ const PROJECTS = path.join(os.homedir(), 'projectId.json');
14
16
  // ─── Color Palette ────────────────────────────────────────────────────────────
15
17
  const c = {
16
18
  cyan: clc.xterm(51).bold,
@@ -28,13 +30,15 @@ const c = {
28
30
  bgGreen: clc.bgXterm(28),
29
31
  bgOrange: clc.bgXterm(208),
30
32
  };
33
+ const FRONTENDBASE = "https://errorhub.vercel.app";
34
+ const BACKENDBASE = "https://errorhub.onrender.com";
31
35
  // ─── Layout Helpers ───────────────────────────────────────────────────────────
32
- const W = 62; // box width
36
+ const W = 62;
33
37
  const line = (char = '─') => c.teal('─'.repeat(W));
34
38
  const dLine = () => c.teal('═'.repeat(W));
35
39
  const blank = () => console.log(c.teal('│') + ' '.repeat(W - 2) + c.teal('│'));
36
40
  const boxRow = (text, color = c.white) => {
37
- const inner = W - 4; // 2 border chars + 2 padding chars
41
+ const inner = W - 4;
38
42
  const stripped = text.replace(/\x1B\[[0-9;]*m/g, '');
39
43
  const pad = Math.max(0, inner - stripped.length);
40
44
  const left = Math.floor(pad / 2);
@@ -67,7 +71,6 @@ const LOGO = [
67
71
  const printLogo = () => {
68
72
  console.log('');
69
73
  LOGO.forEach((row, i) => {
70
- // Gradient: cyan → teal → green
71
74
  const color = i < 3 ? c.cyan : i < 6 ? c.teal : c.green;
72
75
  console.log(color(row));
73
76
  });
@@ -96,7 +99,7 @@ const badge = {
96
99
  warn: (msg) => console.log(c.bgOrange(' ⚠ WARN') + ' ' + c.orange(msg)),
97
100
  loading: (msg) => console.log(c.cyan(' ⟳ ') + c.cyanDim(msg)),
98
101
  };
99
- // ─── Spinner (simple dot progress) ───────────────────────────────────────────
102
+ // ─── Spinner ──────────────────────────────────────────────────────────────────
100
103
  const spinner = (label) => {
101
104
  const frames = ['⠋', '⠙', '⠸', '⠴', '⠦', '⠇'];
102
105
  let i = 0;
@@ -111,23 +114,36 @@ const spinner = (label) => {
111
114
  // ─── Section Divider ──────────────────────────────────────────────────────────
112
115
  const section = (title) => {
113
116
  console.log('');
114
- const line = '─'.repeat(4);
115
- console.log(c.teal(line) + ' ' + c.yellow(title.toUpperCase()) + ' ' + c.teal(line));
117
+ const l = '─'.repeat(4);
118
+ console.log(c.teal(l) + ' ' + c.yellow(title.toUpperCase()) + ' ' + c.teal(l));
116
119
  };
120
+ // ─── Free Port Helper ─────────────────────────────────────────────────────────
121
+ function getFreePort(startPort = 4000) {
122
+ return new Promise((resolve) => {
123
+ const server = net.createServer();
124
+ server.listen(startPort, () => {
125
+ const port = server.address().port;
126
+ server.close(() => resolve(port));
127
+ });
128
+ server.on('error', () => {
129
+ resolve(getFreePort(startPort + 1));
130
+ });
131
+ });
132
+ }
117
133
  // ─────────────────────────────────────────────────────────────────────────────
118
134
  // CLI Setup
119
135
  // ─────────────────────────────────────────────────────────────────────────────
120
136
  program
121
- .name('LOGIN-CLI')
137
+ .name('errorhub-cli')
122
138
  .description('CLI with JWT login')
123
- .version('1.0.0');
139
+ .version('1.0.1');
124
140
  // ─────────────────────────────────────────────────────────────────────────────
125
141
  // INIT
126
142
  // ─────────────────────────────────────────────────────────────────────────────
127
143
  program
128
144
  .command('init')
129
145
  .description('Initialize project')
130
- .action(() => {
146
+ .action(async () => {
131
147
  printLogo();
132
148
  printBanner('PROJECT INITIALIZER', 'Setting up your workspace...');
133
149
  console.log(c.teal('│'));
@@ -140,12 +156,12 @@ program
140
156
  section('Launching Auth Server');
141
157
  console.log('');
142
158
  const app = express();
143
- const port = 4000;
144
- const stop = spinner('Starting local server on port 4000...');
159
+ const port = await getFreePort();
160
+ const stop = spinner(`Starting local server on port ${port}...`);
145
161
  const server = app.listen(port, () => {
146
162
  stop();
147
163
  badge.ok(`Server listening on ${c.cyan(`http://localhost:${port}`)}`);
148
- const loginUrl = `http://localhost:3000/login?callback=http://localhost:${port}/callback`;
164
+ const loginUrl = `${FRONTENDBASE}/login?callback=http://localhost:${port}/callback`;
149
165
  badge.info(`Opening: ${c.cyanDim(loginUrl)}`);
150
166
  console.log('');
151
167
  open(loginUrl);
@@ -164,20 +180,19 @@ program
164
180
  .action(async () => {
165
181
  printLogo();
166
182
  printBanner('AUTHENTICATION', 'Secure JWT login flow');
167
- labelRow('Callback Port:', '4000');
168
- labelRow('Auth Server:', 'http://localhost:3000');
183
+ labelRow('Auth Server:', FRONTENDBASE);
169
184
  labelRow('Config Path:', CONFIG_PATH.replace(os.homedir(), '~'));
170
185
  console.log(c.teal('│'));
171
186
  closeBanner();
172
187
  section('Starting OAuth Flow');
173
188
  console.log('');
174
189
  const app = express();
175
- const port = 4000;
176
- const stop = spinner('Binding to port 4000...');
190
+ const port = await getFreePort();
191
+ const stop = spinner(`Binding to port ${port}...`);
177
192
  const server = app.listen(port, () => {
178
193
  stop();
179
- const loginUrl = `http://localhost:3000/login?callback=http://localhost:${port}/callback`;
180
- badge.ok('Local callback server ready');
194
+ const loginUrl = `${FRONTENDBASE}/login?callback=http://localhost:${port}/callback`;
195
+ badge.ok(`Local callback server ready on port ${c.cyan(String(port))}`);
181
196
  badge.loading('Opening browser for login...');
182
197
  console.log('');
183
198
  open(loginUrl);
@@ -189,7 +204,6 @@ program
189
204
  badge.error('Callback hit but no token was received.');
190
205
  return;
191
206
  }
192
- // Save token
193
207
  fs.writeFileSync(CONFIG_PATH, JSON.stringify({ token }, null, 2));
194
208
  res.send(renderHtmlPage('Success!', '✔ Login successful — you may close this tab.', '#00e5a0'));
195
209
  section('Login Complete');
@@ -223,18 +237,17 @@ program
223
237
  closeBanner();
224
238
  if (!fs.existsSync(CONFIG_PATH)) {
225
239
  console.log('');
226
- badge.error('No credentials found. Run ' + c.cyan('login-cli login') + ' first.');
240
+ badge.error('No credentials found. Run ' + c.cyan('errorhub login') + ' first.');
227
241
  console.log('');
228
242
  console.log(c.teal('┌' + '─'.repeat(W - 2) + '┐'));
229
243
  boxRow('NOT AUTHENTICATED', c.red);
230
- boxRow('Use: login-cli login', c.dim);
244
+ boxRow('Use: errorhub login', c.dim);
231
245
  console.log(c.teal('└' + '─'.repeat(W - 2) + '┘'));
232
246
  console.log('');
233
247
  return;
234
248
  }
235
249
  const data = JSON.parse(fs.readFileSync(CONFIG_PATH, 'utf-8'));
236
250
  const { token } = data;
237
- // Decode JWT header/payload for display (no verification)
238
251
  let jwtInfo = {};
239
252
  try {
240
253
  const [h, p] = token.split('.');
@@ -242,14 +255,13 @@ program
242
255
  jwtInfo.payload = JSON.parse(Buffer.from(p, 'base64').toString());
243
256
  }
244
257
  catch {
245
- // not a valid JWT, just show raw
258
+ // not a valid JWT
246
259
  }
247
260
  section('Stored Token');
248
261
  console.log('');
249
262
  console.log(c.teal('┌' + '─'.repeat(W - 2) + '┐'));
250
263
  if (jwtInfo.payload) {
251
264
  const p = jwtInfo.payload;
252
- // Header meta
253
265
  boxRow('JWT DECODED', c.yellow);
254
266
  console.log(c.teal('├' + '─'.repeat(W - 2) + '┤'));
255
267
  const fields = Object.entries({
@@ -264,7 +276,6 @@ program
264
276
  for (const [k, v] of fields) {
265
277
  labelRow(`${k}:`, String(v));
266
278
  }
267
- // Expiry warning
268
279
  if (jwtInfo.payload.exp) {
269
280
  const expired = Date.now() / 1000 > jwtInfo.payload.exp;
270
281
  console.log(c.teal('├' + '─'.repeat(W - 2) + '┤'));
@@ -273,7 +284,6 @@ program
273
284
  }
274
285
  console.log(c.teal('├' + '─'.repeat(W - 2) + '┤'));
275
286
  boxRow('RAW TOKEN', c.yellow);
276
- // Print token split at 58 chars per line
277
287
  const chunks = token.match(/.{1,54}/g) ?? [token];
278
288
  for (const chunk of chunks) {
279
289
  boxRow(chunk, c.cyanDim);
@@ -282,7 +292,40 @@ program
282
292
  console.log('');
283
293
  });
284
294
  // ─────────────────────────────────────────────────────────────────────────────
285
- // HTML response page helper
295
+ // PROJECT
296
+ // ─────────────────────────────────────────────────────────────────────────────
297
+ program
298
+ .command('project <apiKey>')
299
+ .description('Find and store project by API key')
300
+ .action(async (apiKey) => {
301
+ if (!fs.existsSync(CONFIG_PATH)) {
302
+ badge.error('Not logged in. Run errorhub login first.');
303
+ return;
304
+ }
305
+ const data = JSON.parse(fs.readFileSync(CONFIG_PATH, 'utf-8'));
306
+ const token = data.token;
307
+ const stop = spinner('Fetching projects...');
308
+ try {
309
+ const response = await fetch(`${BACKENDBASE}/api/projects`, {
310
+ headers: { Authorization: `Bearer ${token}` }
311
+ });
312
+ const projects = await response.json();
313
+ stop();
314
+ const match = projects.find((p) => p.api_key === apiKey);
315
+ if (!match) {
316
+ badge.error('No project found with that API key.');
317
+ return;
318
+ }
319
+ fs.writeFileSync(PROJECTS, JSON.stringify({ projectId: match.id }, null, 2));
320
+ badge.ok(`Project found and saved: ${c.cyan(match.id)}`);
321
+ }
322
+ catch (e) {
323
+ stop();
324
+ badge.error('Failed to fetch projects. Check your connection.');
325
+ }
326
+ });
327
+ // ─────────────────────────────────────────────────────────────────────────────
328
+ // HTML Helper
286
329
  // ─────────────────────────────────────────────────────────────────────────────
287
330
  function renderHtmlPage(title, message, color) {
288
331
  return `<!DOCTYPE html>
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "errorhub-cli",
3
- "version": "1.1.0",
3
+ "version": "1.1.3",
4
4
  "description": "",
5
5
  "main": "index.js",
6
6
  "type": "module",
@@ -8,7 +8,8 @@
8
8
  "errorhub": "./dist/index.js"
9
9
  },
10
10
  "scripts": {
11
- "prepublishOnly": "echo 'publishing...'"
11
+ "build": "tsc && javascript-obfuscator src --output dist --compact true --string-array true --self-defending true --string-array-encoding base64",
12
+ "prepublishOnly": "npm run build"
12
13
  },
13
14
  "keywords": [],
14
15
  "author": "",
@@ -18,6 +19,7 @@
18
19
  "@types/commander": "^2.12.0",
19
20
  "@types/express": "^5.0.6",
20
21
  "@types/node": "^25.2.3",
22
+ "javascript-obfuscator": "^5.3.0",
21
23
  "ts-node": "^10.9.2",
22
24
  "typescript": "^5.9.3"
23
25
  },
package/src/index.ts CHANGED
@@ -35,6 +35,7 @@ const c = {
35
35
  };
36
36
 
37
37
  const FRONTENDBASE = "https://errorhub.vercel.app";
38
+ const BACKENDBASE = "https://errorhub.onrender.com"
38
39
 
39
40
  // ─── Layout Helpers ───────────────────────────────────────────────────────────
40
41
  const W = 62;
@@ -355,7 +356,7 @@ program
355
356
  const stop = spinner('Fetching projects...');
356
357
 
357
358
  try {
358
- const response = await fetch(`${FRONTENDBASE}/api/projects`, {
359
+ const response = await fetch(`${BACKENDBASE}/api/projects`, {
359
360
  headers: { Authorization: `Bearer ${token}` }
360
361
  });
361
362
  const projects = await response.json();