@umeshindu222/apisnap 1.1.7 → 1.2.1

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/README.md CHANGED
@@ -1,5 +1,26 @@
1
1
  # 📸 APISnap
2
2
 
3
+ ## Quick start
4
+
5
+ ```bash
6
+ npm install -g @umeshindu222/apisnap
7
+ cd your-project
8
+ apisnap init # ← guided setup, takes 30 seconds
9
+ apisnap # ← run your first health check
10
+ ```
11
+
12
+ That's it. APISnap discovers all your Express routes automatically.
13
+
14
+ ## Add to your server (one line)
15
+
16
+ ```js
17
+ const apisnap = require('@umeshindu222/apisnap');
18
+
19
+ // ... your routes ...
20
+
21
+ apisnap.init(app); // ← must be AFTER your routes
22
+ ```
23
+
3
24
  > Instant API auto-discovery and health-check CLI for Express.js
4
25
 
5
26
  [![npm version](https://img.shields.io/npm/v/@umeshindu222/apisnap.svg)](https://www.npmjs.com/package/@umeshindu222/apisnap)
@@ -13,33 +34,36 @@ Every time you change your Express backend, manually testing all your routes in
13
34
 
14
35
  One command. Every route. Instant results.
15
36
 
37
+ <img width="700" height="500" alt="image" src="https://github.com/user-attachments/assets/325c7b40-37d5-47e1-830f-db1424956fee" />
38
+
39
+
16
40
  ---
17
41
 
18
42
  ## Features
19
43
 
20
- - **Auto Route Discovery** finds every route including nested sub-routers
21
- - **Full Auth Support** JWT, API Keys, Cookies, multiple headers at once
22
- - **Auth Hints** tells you exactly how to fix 401/403 errors
23
- - **Slow Route Detection** flags endpoints that are too slow
24
- - **Retry Logic** auto-retries failed requests
25
- - **HTML Reports** beautiful visual reports you can share
26
- - **JSON Export** structured output for CI/CD pipelines
27
- - **Config File** save your settings so you don't retype every time
28
- - **Method Filter** test only GET, POST, DELETE etc.
29
- - **Smart Path Params** auto-replaces `:id`, `:slug`, `:uuid` with safe defaults
30
- - **Express v4 & v5** works with both versions
44
+ - **Auto Route Discovery** - finds every route including nested sub-routers
45
+ - **Full Auth Support** - JWT, API Keys, Cookies, multiple headers at once
46
+ - **Auth Hints** - tells you exactly how to fix 401/403 errors
47
+ - **Slow Route Detection** - flags endpoints that are too slow
48
+ - **Retry Logic** - auto-retries failed requests
49
+ - **HTML Reports** - beautiful visual reports you can share
50
+ - **JSON Export** - structured output for CI/CD pipelines
51
+ - **Config File** - save your settings so you don't retype every time
52
+ - **Method Filter** - test only GET, POST, DELETE etc.
53
+ - **Smart Path Params** - auto-replaces `:id`, `:slug`, `:uuid` with safe defaults
54
+ - **Express v4 & v5** - works with both versions
31
55
 
32
56
  ---
33
57
 
34
- ## Quick Start
58
+ ## Detailed Setup
35
59
 
36
- ### Step 1 Install
60
+ ### Step 1 - Install
37
61
 
38
62
  ```bash
39
63
  npm install @umeshindu222/apisnap
40
64
  ```
41
65
 
42
- ### Step 2 Add to your server file
66
+ ### Step 2 - Add to your server file
43
67
 
44
68
  Open your main server file (`server.js`, `app.js`, `app.ts`) and add **2 lines**:
45
69
 
@@ -51,7 +75,7 @@ const apisnap = require('@umeshindu222/apisnap'); // ADD THIS at the top
51
75
  apisnap.init(app); // ADD THIS — after your routes
52
76
  ```
53
77
 
54
- ### Step 3 Start your server
78
+ ### Step 3 - Start your server
55
79
 
56
80
  ```bash
57
81
  node server.js
@@ -103,7 +127,7 @@ app.listen(3000, () => console.log('Server running on port 3000'));
103
127
 
104
128
  ### TypeScript
105
129
 
106
- > ⚠️ **TypeScript users — import must be written exactly like this:**
130
+ > **TypeScript users — import must be written exactly like this:**
107
131
 
108
132
  ```typescript
109
133
  // ✅ CORRECT — use import * as
@@ -180,7 +204,7 @@ app.listen(3000);
180
204
 
181
205
  ### With Global Auth Middleware
182
206
 
183
- > ⚠️ **Important:** If you use global auth middleware (`app.use(authMiddleware)`), you must place `apisnap.init(app)` **before** it. Otherwise auth will block the discovery endpoint.
207
+ > **Important:** If you use global auth middleware (`app.use(authMiddleware)`), you must place `apisnap.init(app)` **before** it. Otherwise auth will block the discovery endpoint.
184
208
 
185
209
  ```javascript
186
210
  const express = require('express');
@@ -217,7 +241,7 @@ apisnap.init(app, {
217
241
 
218
242
  ---
219
243
 
220
- ## 🔐 Fixing 401 / 403 Errors
244
+ ## Fixing 401 / 403 Errors
221
245
 
222
246
  401 and 403 errors are **completely normal** — it just means your routes are protected and APISnap needs credentials, exactly like any real client would.
223
247
 
@@ -1,4 +1,37 @@
1
1
  "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
2
35
  var __importDefault = (this && this.__importDefault) || function (mod) {
3
36
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
37
  };
@@ -12,7 +45,7 @@ const commander_1 = require("commander");
12
45
  const program = new commander_1.Command();
13
46
  const { version } = require('../../package.json');
14
47
  // ─── Config File Loader ───────────────────────────────────────────────────────
15
- function loadConfigFile() {
48
+ function loadConfigFile(env) {
16
49
  const configNames = ['.apisnaprc', '.apisnaprc.json', 'apisnap.config.json'];
17
50
  for (const name of configNames) {
18
51
  const filePath = path_1.default.resolve(process.cwd(), name);
@@ -22,8 +55,12 @@ function loadConfigFile() {
22
55
  let raw = fs_1.default.readFileSync(filePath, 'utf-8');
23
56
  raw = raw.replace(/^\uFEFF/, '');
24
57
  raw = raw.trim();
25
- console.log(chalk_1.default.gray(` Config: ${name}\n`));
26
- return JSON.parse(raw);
58
+ const config = JSON.parse(raw);
59
+ console.log(chalk_1.default.gray(` Config: ${name}${env ? ` (env: ${env})` : ''}\n`));
60
+ if (env && config.envs?.[env]) {
61
+ return { ...config, ...config.envs[env] };
62
+ }
63
+ return config;
27
64
  }
28
65
  catch (e) {
29
66
  console.warn(chalk_1.default.yellow(`⚠️ Could not parse config file: ${name}`));
@@ -32,6 +69,48 @@ function loadConfigFile() {
32
69
  }
33
70
  return {};
34
71
  }
72
+ function validateConfig(config) {
73
+ const errors = [];
74
+ if (config.port !== undefined && !Number.isInteger(Number(config.port))) {
75
+ errors.push({ field: 'port', message: '"port" must be a whole number', fix: '"port": 3000' });
76
+ }
77
+ if (config.slow !== undefined && !Number.isInteger(Number(config.slow))) {
78
+ errors.push({ field: 'slow', message: '"slow" must be a whole number', fix: '"slow": 200' });
79
+ }
80
+ if (config.concurrency !== undefined && Number(config.concurrency) < 1) {
81
+ errors.push({ field: 'concurrency', message: '"concurrency" must be ≥ 1', fix: '"concurrency": 3' });
82
+ }
83
+ if (config.headers && !Array.isArray(config.headers)) {
84
+ errors.push({ field: 'headers', message: '"headers" must be an array', fix: '"headers": ["Authorization: Bearer TOKEN"]' });
85
+ }
86
+ if (config.params && (typeof config.params !== 'object' || Array.isArray(config.params) || config.params === null)) {
87
+ errors.push({ field: 'params', message: '"params" must be an object', fix: '"params": {"id": "1"}' });
88
+ }
89
+ if (config.envs && (typeof config.envs !== 'object' || Array.isArray(config.envs) || config.envs === null)) {
90
+ errors.push({ field: 'envs', message: '"envs" must be an object', fix: '"envs": {"staging": {"baseUrl": "https://staging.example.com"}}' });
91
+ }
92
+ return errors;
93
+ }
94
+ function parseIntOption(value, name, defaultValue, options = {}) {
95
+ if (value === undefined || value === null || value === '') {
96
+ return defaultValue;
97
+ }
98
+ const numericValue = typeof value === 'number' ? value : Number(String(value));
99
+ if (!Number.isFinite(numericValue) || !Number.isInteger(numericValue)) {
100
+ console.error(chalk_1.default.red(`\n ✖ Invalid value for --${name}: "${value}" must be a whole number.`));
101
+ console.error(chalk_1.default.gray(` Example: --${name} ${defaultValue}\n`));
102
+ process.exit(1);
103
+ }
104
+ if (options.min !== undefined && numericValue < options.min) {
105
+ console.error(chalk_1.default.red(`\n ✖ Invalid value for --${name}: ${numericValue} is below minimum (${options.min}).\n`));
106
+ process.exit(1);
107
+ }
108
+ if (options.max !== undefined && numericValue > options.max) {
109
+ console.error(chalk_1.default.red(`\n ✖ Invalid value for --${name}: ${numericValue} exceeds maximum (${options.max}).\n`));
110
+ process.exit(1);
111
+ }
112
+ return numericValue;
113
+ }
35
114
  // ─── Header Parser ─────────────────────────────────────────────────────────
36
115
  function parseHeaders(headerArgs) {
37
116
  const headers = {};
@@ -73,12 +152,17 @@ function replacePath(rawPath, paramMap = {}) {
73
152
  }
74
153
  // ─── Concurrency Limiter ──────────────────────────────────────────────────────
75
154
  async function runWithConcurrency(tasks, limit) {
76
- const results = [];
155
+ const results = Array.from({ length: tasks.length }, () => new Error('Task never executed'));
77
156
  let index = 0;
78
157
  async function worker() {
79
158
  while (index < tasks.length) {
80
159
  const i = index++;
81
- results[i] = await tasks[i]();
160
+ try {
161
+ results[i] = await tasks[i]();
162
+ }
163
+ catch (err) {
164
+ results[i] = err instanceof Error ? err : new Error(String(err));
165
+ }
82
166
  }
83
167
  }
84
168
  // Spin up `limit` workers — each pulls the next task when free
@@ -165,6 +249,47 @@ function generateHTMLReport(data) {
165
249
  </html>`;
166
250
  }
167
251
  // ─── Main CLI ─────────────────────────────────────────────────────────────────
252
+ program
253
+ .command('init')
254
+ .description('Set up APISnap interactively')
255
+ .action(async () => {
256
+ const { createInterface } = await Promise.resolve().then(() => __importStar(require('readline')));
257
+ const rl = createInterface({ input: process.stdin, output: process.stdout });
258
+ const q = (prompt) => new Promise(resolve => rl.question(prompt, resolve));
259
+ console.log(chalk_1.default.bold.cyan('\n📸 APISnap — project setup\n'));
260
+ console.log(chalk_1.default.gray(' This creates a .apisnaprc.json in your project root.\n'));
261
+ const port = (await q(chalk_1.default.white(' Server port? ') + chalk_1.default.gray('[3000]: '))).trim() || '3000';
262
+ const slowInput = (await q(chalk_1.default.white(' Slow threshold (ms)? ') + chalk_1.default.gray('[200]: '))).trim() || '200';
263
+ const authRaw = await q(chalk_1.default.white(' Auth token? ') + chalk_1.default.gray('(leave blank to skip): '));
264
+ const skipRaw = await q(chalk_1.default.white(' Paths to skip? ') + chalk_1.default.gray('e.g. /admin,/internal (or blank): '));
265
+ const configPath = path_1.default.resolve(process.cwd(), '.apisnaprc.json');
266
+ const alreadyExists = fs_1.default.existsSync(configPath);
267
+ if (alreadyExists) {
268
+ const overwrite = (await q(chalk_1.default.yellow('\n .apisnaprc.json already exists. Overwrite? [y/N]: '))).trim().toLowerCase();
269
+ if (overwrite !== 'y') {
270
+ rl.close();
271
+ console.log(chalk_1.default.gray('\n Cancelled. No changes made.\n'));
272
+ return;
273
+ }
274
+ }
275
+ rl.close();
276
+ const parsedSlow = parseInt(slowInput, 10);
277
+ const config = {
278
+ port,
279
+ slow: Number.isNaN(parsedSlow) ? 200 : parsedSlow,
280
+ };
281
+ if (authRaw.trim()) {
282
+ config.headers = [`Authorization: Bearer ${authRaw.trim()}`];
283
+ }
284
+ if (skipRaw.trim()) {
285
+ config.skip = skipRaw.split(',').map(s => s.trim()).filter(Boolean);
286
+ }
287
+ fs_1.default.writeFileSync(configPath, JSON.stringify(config, null, 2));
288
+ console.log(chalk_1.default.green('\n ✅ Created .apisnaprc.json\n'));
289
+ console.log(chalk_1.default.gray(' Next steps:'));
290
+ console.log(chalk_1.default.cyan(' 1. Start your server'));
291
+ console.log(chalk_1.default.cyan(' 2. Run: apisnap\n'));
292
+ });
168
293
  program
169
294
  .name('apisnap')
170
295
  .description('Instant API health-check CLI for Express.js')
@@ -178,6 +303,7 @@ program
178
303
  .option('-e, --export <filename>', 'Export JSON report (e.g. report)')
179
304
  .option('--html <filename>', 'Export HTML report (e.g. report)')
180
305
  .option('--only <methods>', 'Only test specific methods (e.g. "GET,POST")')
306
+ .option('--env <name>', 'Use environment profile from config (e.g. staging, prod)')
181
307
  .option('--base-url <url>', 'Override base URL (e.g. https://staging.myapp.com)')
182
308
  .option('--params <json>', 'JSON map of param overrides (e.g. \'{"id":"42"}\')')
183
309
  .option('--fail-on-slow', 'Exit with code 1 if any slow routes are found')
@@ -185,12 +311,21 @@ program
185
311
  .option('--body <json>', 'Default JSON body for POST/PUT/PATCH requests (e.g. \'{"name":"test"}\')')
186
312
  .action(async (options) => {
187
313
  // Merge config file with CLI options (CLI takes precedence)
188
- const fileConfig = loadConfigFile();
314
+ const fileConfig = loadConfigFile(options.env);
315
+ const configErrors = validateConfig(fileConfig);
316
+ if (configErrors.length > 0) {
317
+ console.log(chalk_1.default.red.bold('\n Config errors in .apisnaprc.json:\n'));
318
+ configErrors.forEach(e => {
319
+ console.log(chalk_1.default.red(` ✖ ${e.message}`));
320
+ console.log(chalk_1.default.gray(` Fix: ${e.fix}\n`));
321
+ });
322
+ process.exit(1);
323
+ }
189
324
  const mergedOptions = { ...fileConfig, ...options };
190
325
  const port = mergedOptions.port || '3000';
191
- const slowThreshold = parseInt(mergedOptions.slow || '200');
192
- const timeout = parseInt(mergedOptions.timeout || '5000');
193
- const retryCount = parseInt(mergedOptions.retry || '0');
326
+ const slowThreshold = parseIntOption(mergedOptions.slow, 'slow', 200, { min: 1 });
327
+ const timeout = parseIntOption(mergedOptions.timeout, 'timeout', 5000, { min: 100 });
328
+ const retryCount = parseIntOption(mergedOptions.retry, 'retry', 0, { min: 0, max: 10 });
194
329
  const onlyMethods = mergedOptions.only
195
330
  ? mergedOptions.only.split(',').map((m) => m.trim().toUpperCase())
196
331
  : null;
@@ -199,7 +334,7 @@ program
199
334
  ? JSON.parse(mergedOptions.params) // from CLI flag — parse it
200
335
  : mergedOptions.params) // from config file — already an object
201
336
  : (fileConfig.params || {});
202
- const concurrency = parseInt(mergedOptions.concurrency || '1');
337
+ const concurrency = parseIntOption(mergedOptions.concurrency, 'concurrency', 1, { min: 1, max: 50 });
203
338
  const defaultBody = mergedOptions.body
204
339
  ? (typeof mergedOptions.body === 'string'
205
340
  ? JSON.parse(mergedOptions.body)
@@ -312,14 +447,25 @@ program
312
447
  else {
313
448
  testSpinner.fail(`${chalk_1.default.bold(method.padEnd(7))} ${chalk_1.default.white(rawPath.padEnd(35))} ` +
314
449
  `${chalk_1.default.red(`[${res.status} ${res.statusText}]`)} ${chalk_1.default.gray(`${duration}ms`)}`);
315
- if (res.status === 401)
316
- console.log(chalk_1.default.yellow(` 💡 Hint: 401 try -H "Authorization: Bearer TOKEN"`));
317
- else if (res.status === 403)
318
- console.log(chalk_1.default.yellow(` 💡 Hint: 403 token may lack permission`));
319
- else if (res.status === 404)
320
- console.log(chalk_1.default.yellow(` 💡 Hint: 404 try --params '{"id":"YOUR_ID"}'`));
321
- else if (res.status === 400 || res.status === 422)
322
- console.log(chalk_1.default.yellow(` 💡 Hint: ${res.status} — try --body '{"field":"value"}' or add a routes[].body in .apisnaprc`));
450
+ const paramNames = [...rawPath.matchAll(/:([a-zA-Z0-9_]+)/g)].map(match => match[1]);
451
+ const exampleParams = paramNames.reduce((acc, paramName) => ({ ...acc, [paramName]: '1' }), {});
452
+ if (res.status === 401 || res.status === 403) {
453
+ const hint = res.status === 401
454
+ ? 'No credentials sent — add to .apisnaprc: "headers": ["Authorization: Bearer TOKEN"]'
455
+ : 'Token lacks permission for this route';
456
+ console.log(chalk_1.default.yellow(` hint: ${hint}`));
457
+ }
458
+ else if (res.status === 404 && paramNames.length > 0) {
459
+ console.log(chalk_1.default.yellow(' hint: path needs params — add to .apisnaprc:'));
460
+ console.log(chalk_1.default.gray(` "params": ${JSON.stringify(exampleParams)}`));
461
+ }
462
+ else if (res.status === 404) {
463
+ console.log(chalk_1.default.yellow(' hint: route not found — is the server fully started?'));
464
+ }
465
+ else if (res.status === 400 || res.status === 422) {
466
+ console.log(chalk_1.default.yellow(' hint: add a request body to .apisnaprc under "routes":'));
467
+ console.log(chalk_1.default.gray(` { "path": "${rawPath}", "body": {"field": "value"} }`));
468
+ }
323
469
  failed++;
324
470
  }
325
471
  lastError = null;
@@ -344,7 +490,33 @@ program
344
490
  });
345
491
  // ── Run with concurrency limit ────────────────────────────────────────────
346
492
  const allResults = await runWithConcurrency(tasks, concurrency);
347
- results.push(...allResults);
493
+ for (let i = 0; i < allResults.length; i++) {
494
+ const result = allResults[i];
495
+ if (result instanceof Error) {
496
+ const endpoint = endpoints[i];
497
+ const method = endpoint?.methods?.[0] || 'UNKNOWN';
498
+ const rawPath = endpoint?.path || '(unknown route)';
499
+ const resolvedPath = replacePath(rawPath, paramOverrides);
500
+ const fullUrl = `${baseUrl}${resolvedPath}`;
501
+ console.error(chalk_1.default.red(` Internal error on task ${i}: ${result.message}`));
502
+ results.push({
503
+ method,
504
+ path: rawPath,
505
+ fullUrl,
506
+ status: 0,
507
+ statusText: 'Internal Error',
508
+ duration: 0,
509
+ success: false,
510
+ slow: false,
511
+ error: `Internal task failure: ${result.message}`,
512
+ retries: 0,
513
+ });
514
+ failed++;
515
+ }
516
+ else {
517
+ results.push(result);
518
+ }
519
+ }
348
520
  // ── Summary ──────────────────────────────────────────────────────────
349
521
  const avgDuration = allDurations.length > 0
350
522
  ? Math.round(allDurations.reduce((a, b) => a + b, 0) / allDurations.length)
@@ -401,12 +573,30 @@ program
401
573
  process.exit(shouldFail ? 1 : 0);
402
574
  }
403
575
  catch (error) {
404
- spinner.fail(chalk_1.default.red(`Cannot reach discovery endpoint: ${discoveryUrl}`));
405
- console.log(chalk_1.default.yellow('\n Checklist:'));
406
- console.log(chalk_1.default.gray(' 1. Is your server running? (e.g. node server.js)'));
407
- console.log(chalk_1.default.gray(' 2. Did you call apisnap.init(app) in your server?'));
408
- console.log(chalk_1.default.gray(' 3. Is the port correct? (default 3000, use -p PORT)'));
409
- console.log(chalk_1.default.gray(' 4. Is apisnap.init(app) placed AFTER your routes?\n'));
576
+ spinner.fail(chalk_1.default.red('Could not connect to your server.'));
577
+ const isRefused = error?.code === 'ECONNREFUSED';
578
+ const isTimeout = error?.code === 'ECONNABORTED' || error?.code === 'ETIMEDOUT';
579
+ const isNoInit = error?.response?.status === 404;
580
+ if (isRefused) {
581
+ console.log(chalk_1.default.yellow(`\n Your server is not running on port ${port}.`));
582
+ console.log(chalk_1.default.gray(' → Start it first, then run apisnap again.\n'));
583
+ }
584
+ else if (isTimeout) {
585
+ console.log(chalk_1.default.yellow('\n Connection timed out.'));
586
+ console.log(chalk_1.default.gray(' → Is the port right? Try: apisnap -p YOUR_PORT\n'));
587
+ }
588
+ else if (isNoInit) {
589
+ console.log(chalk_1.default.yellow('\n Server is running but APISnap middleware not found.'));
590
+ console.log(chalk_1.default.gray(' → Add this to your server AFTER your routes:\n'));
591
+ console.log(chalk_1.default.cyan(' const apisnap = require(\'@umeshindu222/apisnap\');'));
592
+ console.log(chalk_1.default.cyan(' apisnap.init(app);\n'));
593
+ }
594
+ else {
595
+ console.log(chalk_1.default.gray('\n Checklist:'));
596
+ console.log(chalk_1.default.gray(' 1. Server running? → node server.js'));
597
+ console.log(chalk_1.default.gray(' 2. Middleware added? → apisnap.init(app) after your routes'));
598
+ console.log(chalk_1.default.gray(' 3. Port correct? → apisnap -p YOUR_PORT\n'));
599
+ }
410
600
  process.exit(1);
411
601
  }
412
602
  });
@@ -1 +1 @@
1
- {"version":3,"file":"runner.js","sourceRoot":"","sources":["../../src/core/runner.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"runner.js","sourceRoot":"","sources":["../../src/core/runner.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@umeshindu222/apisnap",
3
- "version": "1.1.7",
3
+ "version": "1.2.1",
4
4
  "description": "Instant API auto-discovery and health-check CLI for Express.js",
5
5
  "main": "dist/middleware/index.js",
6
6
  "types": "dist/middleware/index.d.ts",