nest-scramble 1.4.5 → 1.4.6

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.
@@ -6,9 +6,7 @@ export declare class DocsController {
6
6
  private options;
7
7
  constructor(openApiSpec: any, options: NestScrambleOptions);
8
8
  getDocs(res: any): void;
9
- private getFuturisticCSS;
10
- private getClassicCSS;
11
- private getEasterEggScript;
9
+ private getProfessionalCSS;
12
10
  getOpenApiJson(res: any): void;
13
11
  getOpenApiJsonLegacy(res: any): void;
14
12
  getOpenApiSpec(): any;
@@ -1 +1 @@
1
- {"version":3,"file":"DocsController.d.ts","sourceRoot":"","sources":["../../src/controllers/DocsController.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAE5D,eAAO,MAAM,aAAa,aAAa,CAAC;AACxC,eAAO,MAAM,MAAM,wDAAyC,CAAC;AAE7D,qBAEa,cAAc;IAEU,OAAO,CAAC,WAAW;IACnB,OAAO,CAAC,OAAO;gBADP,WAAW,EAAE,GAAG,EAChB,OAAO,EAAE,mBAAmB;IAIvE,OAAO,CAAQ,GAAG,EAAE,GAAG;IAwEvB,OAAO,CAAC,gBAAgB;IAs3BxB,OAAO,CAAC,aAAa;IA8CrB,OAAO,CAAC,kBAAkB;IAsB1B,cAAc,CAAQ,GAAG,EAAE,GAAG;IAa9B,oBAAoB,CAAQ,GAAG,EAAE,GAAG;IAKpC,cAAc;CAGf"}
1
+ {"version":3,"file":"DocsController.d.ts","sourceRoot":"","sources":["../../src/controllers/DocsController.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAE5D,eAAO,MAAM,aAAa,aAAa,CAAC;AACxC,eAAO,MAAM,MAAM,wDAAyC,CAAC;AAE7D,qBAEa,cAAc;IAEU,OAAO,CAAC,WAAW;IACnB,OAAO,CAAC,OAAO;gBADP,WAAW,EAAE,GAAG,EAChB,OAAO,EAAE,mBAAmB;IAIvE,OAAO,CAAQ,GAAG,EAAE,GAAG;IA+DvB,OAAO,CAAC,kBAAkB;IAsQ1B,cAAc,CAAQ,GAAG,EAAE,GAAG;IAa9B,oBAAoB,CAAQ,GAAG,EAAE,GAAG;IAKpC,cAAc;CAGf"}
@@ -24,7 +24,6 @@ let DocsController = class DocsController {
24
24
  this.options = options;
25
25
  }
26
26
  getDocs(res) {
27
- const isFuturistic = this.options.theme === 'futuristic';
28
27
  const primaryColor = this.options.primaryColor || '#00f2ff';
29
28
  const customIcon = this.options.customDomainIcon || '';
30
29
  const html = `<!DOCTYPE html>
@@ -35,1011 +34,312 @@ let DocsController = class DocsController {
35
34
  <meta name="viewport" content="width=device-width, initial-scale=1" />
36
35
  <link rel="preconnect" href="https://fonts.googleapis.com">
37
36
  <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
38
- <link href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&family=Plus+Jakarta+Sans:wght@300;400;500;600;700;800&display=swap" rel="stylesheet">
37
+ <link href="https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=Plus+Jakarta+Sans:wght@500;600;700;800&display=swap" rel="stylesheet">
39
38
  ${customIcon ? `<link rel="icon" href="${customIcon}" type="image/x-icon">` : ''}
40
- <style>
41
- ${isFuturistic ? this.getFuturisticCSS(primaryColor) : this.getClassicCSS(primaryColor)}
42
- </style>
39
+ <style>${this.getProfessionalCSS(primaryColor)}</style>
43
40
  </head>
44
41
  <body>
45
42
  <div id="api-reference"></div>
46
43
  <script src="https://cdn.jsdelivr.net/npm/@scalar/api-reference"></script>
47
44
  <script>
48
- // Professional Dashboard Configuration - Single Request Per Page
49
- const configuration = {
50
- spec: {
51
- url: '/docs-json'
52
- },
53
- layout: 'modern',
54
- theme: 'none',
55
- darkMode: true,
56
- showSidebar: true,
57
- hideModels: false,
58
- hideDownloadButton: false,
59
- defaultOpenAllTags: true,
60
- searchHotKey: 'k',
61
- servers: [
62
- {
63
- url: '${this.options.baseUrl || 'http://localhost:3000'}',
64
- description: 'Development Server'
65
- }
66
- ]
67
- };
45
+ console.log('%cšŸš€ Nest-Scramble by Mohamed Mustafa', 'color: #00f2ff; font-weight: bold; font-size: 16px;');
68
46
 
69
- // Initialize Scalar with error handling
70
- const apiReference = document.getElementById('api-reference');
71
- if (apiReference) {
72
- // Wait for Scalar to load
73
- const initScalar = () => {
74
- if (window.ScalarApiReference) {
75
- try {
76
- window.ScalarApiReference.mount(apiReference, configuration);
77
- console.log('%cāœ… Nest-Scramble Dashboard Loaded', 'color: #00f2ff; font-weight: bold;');
78
- } catch (error) {
79
- console.error('Scalar initialization error:', error);
80
- }
81
- } else {
82
- setTimeout(initScalar, 100);
47
+ fetch('/docs-json')
48
+ .then(res => {
49
+ if (!res.ok) throw new Error('HTTP ' + res.status);
50
+ return res.json();
51
+ })
52
+ .then(spec => {
53
+ console.log('%cāœ… Spec Loaded:', 'color: #10B981; font-weight: bold;', Object.keys(spec.paths || {}).length, 'endpoints');
54
+
55
+ if (!spec.paths || Object.keys(spec.paths).length === 0) {
56
+ throw new Error('No endpoints found in OpenAPI spec');
83
57
  }
84
- };
85
- initScalar();
86
- }
87
-
88
- ${this.getEasterEggScript()}
58
+
59
+ const config = {
60
+ spec: { content: spec },
61
+ darkMode: true,
62
+ layout: 'modern',
63
+ showSidebar: true,
64
+ hideModels: false,
65
+ defaultOpenAllTags: true,
66
+ searchHotKey: 'k'
67
+ };
68
+
69
+ const container = document.getElementById('api-reference');
70
+ if (container && window.ScalarApiReference) {
71
+ window.ScalarApiReference.mount(container, config);
72
+ console.log('%cāœ… Dashboard Ready', 'color: #00f2ff; font-weight: bold;');
73
+ }
74
+ })
75
+ .catch(err => {
76
+ console.error('%cāŒ Error:', 'color: #EF4444; font-weight: bold;', err);
77
+ document.getElementById('api-reference').innerHTML =
78
+ '<div style="display:flex;align-items:center;justify-content:center;height:100vh;background:#0a0a0a;color:#fff;font-family:Inter,sans-serif"><div style="text-align:center;padding:40px"><h1 style="font-size:64px;margin:0">āš ļø</h1><h2 style="margin:20px 0;color:#00f2ff">Failed to Load</h2><p style="color:#999;margin:20px 0">' + err.message + '</p><button onclick="location.reload()" style="padding:12px 32px;background:#00f2ff;border:none;border-radius:8px;color:#000;font-weight:600;cursor:pointer;font-size:14px">Retry</button></div></div>';
79
+ });
89
80
  </script>
90
81
  </body>
91
82
  </html>`;
92
83
  res.setHeader('Content-Type', 'text/html; charset=utf-8');
93
84
  res.send(html);
94
85
  }
95
- getFuturisticCSS(primaryColor) {
86
+ getProfessionalCSS(primaryColor) {
96
87
  return `
97
- /* šŸš€ Professional API Dashboard by Mohamed Mustafa - Stripe/Postman Inspired */
88
+ /* šŸŽØ Professional Three-Column Dashboard by Mohamed Mustafa */
89
+ * { margin: 0; padding: 0; box-sizing: border-box; }
90
+
98
91
  :root {
99
- --primary-cyber: ${primaryColor};
100
- --primary-glow: ${primaryColor}60;
101
- --primary-soft: ${primaryColor}15;
102
- --purple-electric: #8B5CF6;
103
-
104
- /* Deep Black Background */
105
- --deep-black: #000000;
106
- --deep-charcoal: #0B0E14;
107
- --sidebar-dark: #13161C;
108
- --content-dark: #0B0E14;
109
- --card-bg: #1A1D24;
110
- --border-subtle: #2A2D35;
111
-
112
- /* Text Colors - High Contrast */
113
- --text-primary: #FFFFFF;
114
- --text-secondary: #D1D5DB;
115
- --text-muted: #9CA3AF;
116
-
117
- /* HTTP Method Colors */
118
- --get-blue: #3B82F6;
119
- --post-green: #10B981;
120
- --put-orange: #F59E0B;
121
- --patch-purple: #8B5CF6;
122
- --delete-red: #EF4444;
123
-
124
- /* Danger & Info */
125
- --danger-red: #F85149;
126
- --info-blue: #58A6FF;
127
-
128
- /* Glow Effects */
129
- --glow-shadow: 0 0 30px var(--primary-glow), 0 8px 24px rgba(0, 242, 255, 0.3);
130
- }
131
-
132
- /* ============================================
133
- GLOBAL RESET & TYPOGRAPHY
134
- ============================================ */
135
- * {
136
- margin: 0;
137
- padding: 0;
138
- box-sizing: border-box;
139
- font-family: 'Plus Jakarta Sans', 'Inter', -apple-system, BlinkMacSystemFont, sans-serif !important;
92
+ --primary: ${primaryColor};
93
+ --bg-dark: #0a0a0a;
94
+ --bg-card: #141414;
95
+ --border: #2a2a2a;
96
+ --text: #ffffff;
97
+ --text-dim: #999999;
98
+ --green: #10B981;
99
+ --blue: #3B82F6;
100
+ --orange: #F59E0B;
101
+ --purple: #8B5CF6;
102
+ --red: #EF4444;
140
103
  }
141
-
142
- html,
104
+
143
105
  body {
144
- background: var(--deep-charcoal) !important;
145
- color: var(--text-primary) !important;
146
- overflow-x: hidden;
106
+ font-family: 'Plus Jakarta Sans', 'Inter', -apple-system, sans-serif;
107
+ background: var(--bg-dark);
108
+ color: var(--text);
147
109
  line-height: 1.6;
148
- height: 100%;
149
- }
150
-
151
- /* Force single-request per page layout */
152
- .scalar-api-reference,
153
- [class*="api-reference"] {
154
- display: flex !important;
155
- flex-direction: row !important;
156
- height: 100vh !important;
157
- overflow: hidden !important;
158
- }
159
-
160
- /* Hide all-in-one scroll view */
161
- [class*="scroll-view"],
162
- [class*="all-endpoints-view"],
163
- [class*="endpoint-list-container"] {
164
- display: none !important;
165
110
  }
166
-
167
- /* ============================================
168
- SIDEBAR ARCHITECTURE (Single-Request Navigation)
169
- ============================================ */
170
111
 
171
- /* Sidebar Container */
172
- .sidebar,
173
- [class*="sidebar"],
174
- nav[class*="navigation"],
175
- nav[class*="nav"],
176
- aside {
112
+ /* Sidebar - Fixed Navigation */
113
+ aside, nav, [class*="sidebar"] {
177
114
  position: fixed !important;
178
- left: 0 !important;
179
- top: 0 !important;
180
- width: 320px !important;
181
- height: 100vh !important;
182
- background: var(--sidebar-dark) !important;
183
- border-right: 1px solid var(--border-subtle) !important;
184
- overflow-y: auto !important;
185
- z-index: 1000 !important;
115
+ left: 0;
116
+ top: 0;
117
+ width: 280px !important;
118
+ height: 100vh;
119
+ background: var(--bg-card) !important;
120
+ border-right: 1px solid var(--border) !important;
121
+ overflow-y: auto;
122
+ z-index: 1000;
186
123
  padding: 0 !important;
187
- backdrop-filter: none !important;
188
- box-shadow: 4px 0 24px rgba(0, 0, 0, 0.3) !important;
189
124
  }
190
-
191
- /* Mohamed Mustafa Dashboard Logo */
192
- .sidebar::before,
193
- [class*="sidebar"]::before {
194
- content: 'šŸ‘Øā€šŸ’» Mohamed Mustafa Dashboard';
125
+
126
+ /* Sidebar Header */
127
+ aside::before, [class*="sidebar"]::before {
128
+ content: 'šŸ‘Øā€šŸ’» API Dashboard';
195
129
  display: block;
196
- padding: 32px 24px;
197
- font-size: 18px;
198
- font-weight: 800;
199
- color: var(--text-primary);
200
- background: linear-gradient(135deg, var(--primary-cyber), var(--purple-electric));
201
- -webkit-background-clip: text;
202
- -webkit-text-fill-color: transparent;
203
- background-clip: text;
204
- border-bottom: 1px solid var(--border-subtle);
205
- letter-spacing: -0.5px;
206
- }
207
-
208
- /* Sidebar Scrollbar */
209
- .sidebar::-webkit-scrollbar,
210
- [class*="sidebar"]::-webkit-scrollbar {
211
- width: 6px;
212
- }
213
-
214
- .sidebar::-webkit-scrollbar-track,
215
- [class*="sidebar"]::-webkit-scrollbar-track {
216
- background: transparent;
217
- }
218
-
219
- .sidebar::-webkit-scrollbar-thumb,
220
- [class*="sidebar"]::-webkit-scrollbar-thumb {
221
- background: var(--border-subtle);
222
- border-radius: 3px;
223
- }
224
-
225
- .sidebar::-webkit-scrollbar-thumb:hover,
226
- [class*="sidebar"]::-webkit-scrollbar-thumb:hover {
227
- background: var(--text-muted);
228
- }
229
-
230
- /* Controller Group Headers (with elegant dividers) */
231
- .sidebar h2,
232
- .sidebar h3,
233
- [class*="sidebar"] h2,
234
- [class*="sidebar"] h3,
235
- [class*="group-title"],
236
- [class*="section-title"],
237
- [class*="tag-title"] {
238
- font-size: 11px !important;
239
- font-weight: 700 !important;
240
- text-transform: uppercase !important;
241
- letter-spacing: 1.5px !important;
242
- color: var(--text-muted) !important;
243
- padding: 24px 24px 12px 24px !important;
244
- margin: 0 !important;
245
- background: transparent !important;
246
- border-top: 1px solid var(--border-subtle) !important;
247
- margin-top: 16px !important;
248
- }
249
-
250
- .sidebar h2:first-of-type,
251
- [class*="sidebar"] h2:first-of-type {
252
- border-top: none !important;
253
- margin-top: 0 !important;
130
+ padding: 24px 20px;
131
+ font-size: 16px;
132
+ font-weight: 700;
133
+ color: var(--primary);
134
+ border-bottom: 1px solid var(--border);
254
135
  }
255
-
256
- /* Sidebar Navigation Items (Standalone Routes) */
257
- .sidebar a,
258
- .sidebar button,
259
- [class*="sidebar"] a,
260
- [class*="sidebar"] button,
261
- [class*="nav-item"],
262
- [class*="endpoint-item"],
263
- [class*="operation-item"] {
264
- display: flex !important;
265
- align-items: center !important;
266
- gap: 12px !important;
267
- padding: 14px 24px !important;
268
- margin: 4px 16px !important;
269
- border-radius: 10px !important;
270
- color: var(--text-secondary) !important;
136
+
137
+ /* Sidebar Links */
138
+ aside a, [class*="sidebar"] a,
139
+ aside button, [class*="sidebar"] button {
140
+ display: block !important;
141
+ padding: 12px 20px !important;
142
+ color: var(--text-dim) !important;
271
143
  text-decoration: none !important;
272
144
  font-size: 14px !important;
273
145
  font-weight: 500 !important;
274
- transition: all 0.25s cubic-bezier(0.4, 0, 0.2, 1) !important;
275
- border: none !important;
276
- background: transparent !important;
277
- position: relative !important;
278
146
  border-left: 3px solid transparent !important;
279
- cursor: pointer !important;
280
- }
281
-
282
- /* Sidebar Item Hover */
283
- .sidebar a:hover,
284
- .sidebar button:hover,
285
- [class*="sidebar"] a:hover,
286
- [class*="sidebar"] button:hover,
287
- [class*="nav-item"]:hover,
288
- [class*="endpoint-item"]:hover {
289
- background: rgba(255, 255, 255, 0.05) !important;
290
- color: var(--text-primary) !important;
291
- transform: translateX(2px) !important;
147
+ transition: all 0.2s !important;
292
148
  }
293
-
294
- /* Active/Selected Sidebar Item (Current Route) */
295
- .sidebar a.active,
296
- .sidebar button.active,
297
- [class*="sidebar"] a.active,
298
- [class*="sidebar"] button.active,
299
- [class*="nav-item"].active,
300
- [class*="endpoint-item"].active,
301
- [class*="operation-item"].active,
302
- [class*="selected"],
303
- [aria-selected="true"],
304
- [aria-current="page"] {
305
- background: var(--primary-soft) !important;
306
- color: var(--primary-cyber) !important;
307
- border-left-color: var(--primary-cyber) !important;
308
- font-weight: 700 !important;
309
- box-shadow:
310
- 0 0 20px var(--primary-glow),
311
- inset 0 0 0 1px rgba(0, 242, 255, 0.2) !important;
312
- }
313
-
314
- /* ============================================
315
- SINGLE-FOCUS PAGE LAYOUT
316
- ============================================ */
317
149
 
318
- /* Main Content Area (Single Endpoint View) */
319
- main,
320
- [class*="content"],
321
- [class*="main"],
322
- [class*="endpoint-view"] {
323
- margin-left: 320px !important;
324
- min-height: 100vh !important;
325
- background: var(--content-dark) !important;
326
- padding: 48px 64px !important;
327
- overflow-y: auto !important;
328
- }
329
-
330
- /* Endpoint Container */
331
- [class*="endpoint"],
332
- [class*="operation"],
333
- article {
334
- max-width: 1400px !important;
335
- margin: 0 auto !important;
336
- background: transparent !important;
150
+ aside a:hover, [class*="sidebar"] a:hover {
151
+ background: rgba(255,255,255,0.05) !important;
152
+ color: var(--text) !important;
153
+ border-left-color: var(--primary) !important;
337
154
  }
338
-
339
- /* ============================================
340
- METHOD BADGES (Large & Vibrant)
341
- ============================================ /* GLOW BADGES (HTTP Methods) */
342
155
 
343
- [class*="method"],
344
- [class*="badge"],
345
- [class*="http-method"],
346
- [data-method] {
347
- display: inline-flex !important;
348
- align-items: center !important;
349
- justify-content: center !important;
350
- padding: 10px 24px !important;
351
- border-radius: 12px !important;
352
- font-size: 13px !important;
353
- font-weight: 800 !important;
354
- letter-spacing: 1px !important;
355
- text-transform: uppercase !important;
356
- border: none !important;
357
- min-width: 90px !important;
358
- position: relative !important;
359
- overflow: hidden !important;
360
- transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1) !important;
361
- }
362
-
363
- /* GET - Royal Blue */
364
- [class*="method-get"],
365
- [class*="badge-get"],
366
- [data-method="get"],
367
- [data-method="GET"],
368
- .http-method-get {
369
- background: var(--get-blue) !important;
370
- color: #ffffff !important;
371
- box-shadow:
372
- 0 0 20px rgba(59, 130, 246, 0.5),
373
- 0 4px 16px rgba(59, 130, 246, 0.4) !important;
374
- }
375
-
376
- [class*="method-get"]:hover,
377
- [data-method="get"]:hover {
378
- box-shadow:
379
- 0 0 30px rgba(59, 130, 246, 0.6),
380
- 0 6px 20px rgba(59, 130, 246, 0.5) !important;
381
- transform: translateY(-2px) !important;
382
- }
383
-
384
- /* POST - Emerald Green */
385
- [class*="method-post"],
386
- [class*="badge-post"],
387
- [data-method="post"],
388
- [data-method="POST"],
389
- .http-method-post {
390
- background: var(--post-green) !important;
391
- color: #ffffff !important;
392
- box-shadow:
393
- 0 0 20px rgba(16, 185, 129, 0.5),
394
- 0 4px 16px rgba(16, 185, 129, 0.4) !important;
395
- }
396
-
397
- [class*="method-post"]:hover,
398
- [data-method="post"]:hover {
399
- box-shadow:
400
- 0 0 30px rgba(16, 185, 129, 0.6),
401
- 0 6px 20px rgba(16, 185, 129, 0.5) !important;
402
- transform: translateY(-2px) !important;
403
- }
404
-
405
- /* PUT - Amber Orange */
406
- [class*="method-put"],
407
- [class*="badge-put"],
408
- [data-method="put"],
409
- [data-method="PUT"],
410
- .http-method-put {
411
- background: var(--put-orange) !important;
412
- color: #ffffff !important;
413
- box-shadow:
414
- 0 0 20px rgba(245, 158, 11, 0.5),
415
- 0 4px 16px rgba(245, 158, 11, 0.4) !important;
416
- }
417
-
418
- [class*="method-put"]:hover,
419
- [data-method="put"]:hover {
420
- box-shadow:
421
- 0 0 30px rgba(245, 158, 11, 0.6),
422
- 0 6px 20px rgba(245, 158, 11, 0.5) !important;
423
- transform: translateY(-2px) !important;
424
- }
425
-
426
- /* PATCH - Violet Purple */
427
- [class*="method-patch"],
428
- [class*="badge-patch"],
429
- [data-method="patch"],
430
- [data-method="PATCH"],
431
- .http-method-patch {
432
- background: var(--patch-purple) !important;
433
- color: #ffffff !important;
434
- box-shadow:
435
- 0 0 20px rgba(139, 92, 246, 0.5),
436
- 0 4px 16px rgba(139, 92, 246, 0.4) !important;
437
- }
438
-
439
- [class*="method-patch"]:hover,
440
- [data-method="patch"]:hover {
441
- box-shadow:
442
- 0 0 30px rgba(139, 92, 246, 0.6),
443
- 0 6px 20px rgba(139, 92, 246, 0.5) !important;
444
- transform: translateY(-2px) !important;
445
- }
446
-
447
- /* DELETE - Vibrant Red */
448
- [class*="method-delete"],
449
- [class*="badge-delete"],
450
- [data-method="delete"],
451
- [data-method="DELETE"],
452
- .http-method-delete {
453
- background: var(--delete-red) !important;
454
- color: #ffffff !important;
455
- box-shadow:
456
- 0 0 20px rgba(239, 68, 68, 0.5),
457
- 0 4px 16px rgba(239, 68, 68, 0.4) !important;
458
- }
459
-
460
- [class*="method-delete"]:hover,
461
- [data-method="delete"]:hover {
462
- box-shadow:
463
- 0 0 30px rgba(239, 68, 68, 0.6),
464
- 0 6px 20px rgba(239, 68, 68, 0.5) !important;
465
- transform: translateY(-2px) !important;
156
+ aside a.active, [class*="sidebar"] a.active,
157
+ [aria-selected="true"], [aria-current="page"] {
158
+ background: rgba(0,242,255,0.1) !important;
159
+ color: var(--primary) !important;
160
+ border-left-color: var(--primary) !important;
161
+ font-weight: 600 !important;
466
162
  }
467
-
468
- /* ============================================
469
- INFORMATION HIERARCHY
470
- ============================================ */
471
163
 
472
- /* Endpoint Title (Big & Bold) */
473
- h1,
474
- [class*="title"],
475
- [class*="heading"],
476
- [class*="operation-title"] {
477
- font-size: 32px !important;
478
- font-weight: 800 !important;
479
- color: var(--text-primary) !important;
480
- margin: 24px 0 16px 0 !important;
481
- line-height: 1.2 !important;
482
- letter-spacing: -0.5px !important;
483
- font-family: 'Plus Jakarta Sans', sans-serif !important;
164
+ /* Main Content Area */
165
+ main, [class*="content"] {
166
+ margin-left: 280px !important;
167
+ padding: 40px !important;
168
+ min-height: 100vh;
484
169
  }
485
-
486
- /* Description */
487
- p,
488
- [class*="description"] {
489
- font-size: 16px !important;
490
- color: var(--text-secondary) !important;
491
- margin: 16px 0 !important;
492
- line-height: 1.7 !important;
493
- }
494
-
495
- /* Path Display */
496
- [class*="path"],
497
- [class*="url"],
498
- code {
499
- background: var(--card-bg) !important;
500
- border: 1px solid var(--border-subtle) !important;
501
- border-radius: 8px !important;
502
- padding: 12px 16px !important;
503
- font-family: 'JetBrains Mono', 'Fira Code', 'Consolas', monospace !important;
504
- font-size: 14px !important;
505
- color: var(--primary-cyber) !important;
506
- display: inline-block !important;
507
- margin: 8px 0 !important;
508
- }
509
-
510
- /* ============================================
511
- THREE-COLUMN POWER-USER PANELS
512
- ============================================ */
513
170
 
514
- /* THREE-COLUMN MASTERPIECE LAYOUT */
515
- [class*="panels"],
516
- [class*="columns"],
517
- [class*="grid"],
518
- [class*="endpoint-body"] {
171
+ /* Three-Column Grid Layout */
172
+ [class*="endpoint"], article {
519
173
  display: grid !important;
520
174
  grid-template-columns: 1fr 1fr 1fr !important;
521
- gap: 32px !important;
522
- margin: 48px 0 !important;
523
- align-items: start !important;
524
- }
525
-
526
- /* Panel A (Left) - Documentation */
527
- [class*="panel-docs"],
528
- [class*="documentation"],
529
- [class*="parameters"] {
530
- background: var(--card-bg) !important;
531
- border: 1px solid var(--border-subtle) !important;
532
- border-radius: 12px !important;
533
- padding: 32px !important;
175
+ gap: 24px !important;
176
+ max-width: 1600px;
177
+ margin: 0 auto;
534
178
  }
535
-
536
- /* Panel B (Middle) - Request Body Editor with Glassmorphism */
537
- [class*="panel-request"],
538
- [class*="request-body"],
539
- [class*="request-editor"],
540
- [class*="editor"] {
541
- background: rgba(26, 29, 36, 0.7) !important;
542
- backdrop-filter: blur(16px) !important;
543
- -webkit-backdrop-filter: blur(16px) !important;
544
- border: 1px solid rgba(255, 255, 255, 0.1) !important;
545
- border-radius: 16px !important;
546
- padding: 32px !important;
547
- box-shadow:
548
- 0 8px 32px rgba(0, 0, 0, 0.4),
549
- inset 0 1px 0 rgba(255, 255, 255, 0.05) !important;
550
- }
551
-
552
- /* Panel C (Right) - Test Request with Enhanced Glassmorphism */
553
- [class*="panel-test"],
554
- [class*="test-request"],
555
- [class*="try-it"],
556
- [class*="playground"] {
557
- background: rgba(26, 29, 36, 0.6) !important;
558
- backdrop-filter: blur(24px) !important;
559
- -webkit-backdrop-filter: blur(24px) !important;
560
- border: 1px solid rgba(0, 242, 255, 0.3) !important;
561
- border-radius: 16px !important;
562
- padding: 32px !important;
563
- box-shadow:
564
- 0 8px 32px rgba(0, 0, 0, 0.5),
565
- 0 0 40px rgba(0, 242, 255, 0.1),
566
- inset 0 1px 0 rgba(255, 255, 255, 0.08) !important;
567
- position: relative !important;
568
- }
569
-
570
- /* Copy Code Button */
571
- [class*="copy-button"],
572
- button[class*="copy"] {
573
- position: absolute !important;
574
- top: 16px !important;
575
- right: 16px !important;
576
- padding: 8px 16px !important;
577
- background: rgba(255, 255, 255, 0.1) !important;
578
- border: 1px solid rgba(255, 255, 255, 0.2) !important;
579
- border-radius: 8px !important;
580
- color: var(--text-primary) !important;
581
- font-size: 12px !important;
582
- font-weight: 600 !important;
583
- cursor: pointer !important;
584
- transition: all 0.2s ease !important;
179
+
180
+ /* Column 1: Info & Parameters */
181
+ [class*="description"], [class*="parameters"] {
182
+ background: var(--bg-card);
183
+ border: 1px solid var(--border);
184
+ border-radius: 12px;
185
+ padding: 24px;
585
186
  }
586
-
587
- [class*="copy-button"]:hover,
588
- button[class*="copy"]:hover {
589
- background: rgba(255, 255, 255, 0.15) !important;
590
- border-color: var(--primary-cyber) !important;
591
- box-shadow: 0 0 12px var(--primary-glow) !important;
187
+
188
+ /* Column 2: Request Body Editor */
189
+ [class*="request"], [class*="body"], [class*="editor"] {
190
+ background: var(--bg-card);
191
+ border: 1px solid var(--border);
192
+ border-radius: 12px;
193
+ padding: 24px;
592
194
  }
593
-
594
- /* ============================================
595
- GENEROUS SPACING & WHITE SPACE
596
- ============================================ */
597
195
 
598
- section,
599
- [class*="section"] {
600
- margin: 48px 0 !important;
196
+ /* Column 3: Test Panel & Response */
197
+ [class*="test"], [class*="try"], [class*="playground"] {
198
+ background: var(--bg-card);
199
+ border: 1px solid var(--primary);
200
+ border-radius: 12px;
201
+ padding: 24px;
202
+ box-shadow: 0 0 20px rgba(0,242,255,0.1);
601
203
  }
602
-
603
- h2 {
604
- font-size: 24px !important;
204
+
205
+ /* HTTP Method Badges */
206
+ [data-method="get"], [class*="method-get"] {
207
+ background: var(--blue) !important;
208
+ color: #fff !important;
209
+ padding: 6px 16px !important;
210
+ border-radius: 6px !important;
605
211
  font-weight: 700 !important;
606
- color: var(--text-primary) !important;
607
- margin: 32px 0 16px 0 !important;
608
- }
609
-
610
- h3 {
611
- font-size: 18px !important;
612
- font-weight: 600 !important;
613
- color: var(--text-primary) !important;
614
- margin: 24px 0 12px 0 !important;
615
- }
616
-
617
- /* Tables with Generous Padding */
618
- table {
619
- width: 100% !important;
620
- border-collapse: separate !important;
621
- border-spacing: 0 8px !important;
622
- margin: 24px 0 !important;
623
- }
624
-
625
- th {
626
- background: var(--card-bg) !important;
627
- color: var(--text-muted) !important;
628
212
  font-size: 12px !important;
629
- font-weight: 700 !important;
630
213
  text-transform: uppercase !important;
631
- letter-spacing: 1px !important;
632
- padding: 16px 20px !important;
633
- text-align: left !important;
634
- border: none !important;
635
214
  }
636
-
637
- td {
638
- background: var(--card-bg) !important;
639
- color: var(--text-secondary) !important;
640
- padding: 20px !important;
641
- border: 1px solid var(--border-subtle) !important;
642
- font-size: 14px !important;
643
- }
644
-
645
- tr {
646
- transition: all 0.2s ease !important;
647
- }
648
-
649
- tr:hover td {
650
- background: rgba(255, 255, 255, 0.03) !important;
651
- border-color: var(--primary-cyber) !important;
652
- }
653
-
654
- /* ============================================
655
- TEST REQUEST BUTTON (Large & Glowing)
656
- ============================================ */
657
215
 
658
- button[class*="send"],
659
- button[class*="test"],
660
- button[class*="execute"],
661
- [class*="test-button"] {
662
- width: 100% !important;
663
- padding: 18px 32px !important;
664
- background: linear-gradient(135deg, var(--primary-cyber), var(--purple-electric)) !important;
665
- border: none !important;
666
- border-radius: 12px !important;
667
- color: #ffffff !important;
668
- font-size: 16px !important;
216
+ [data-method="post"], [class*="method-post"] {
217
+ background: var(--green) !important;
218
+ color: #fff !important;
219
+ padding: 6px 16px !important;
220
+ border-radius: 6px !important;
669
221
  font-weight: 700 !important;
670
- letter-spacing: 0.5px !important;
222
+ font-size: 12px !important;
671
223
  text-transform: uppercase !important;
672
- cursor: pointer !important;
673
- transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1) !important;
674
- box-shadow: 0 4px 16px var(--primary-glow) !important;
675
- position: relative !important;
676
- overflow: hidden !important;
677
- }
678
-
679
- button[class*="send"]:hover,
680
- button[class*="test"]:hover,
681
- button[class*="execute"]:hover {
682
- transform: translateY(-3px) !important;
683
- box-shadow: var(--glow-shadow) !important;
684
224
  }
685
-
686
- button[class*="send"]::before,
687
- button[class*="test"]::before,
688
- button[class*="execute"]::before {
689
- content: '';
690
- position: absolute;
691
- top: 0;
692
- left: -100%;
693
- width: 100%;
694
- height: 100%;
695
- background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.3), transparent);
696
- transition: left 0.5s;
697
- }
698
-
699
- button[class*="send"]:hover::before,
700
- button[class*="test"]:hover::before,
701
- button[class*="execute"]:hover::before {
702
- left: 100%;
703
- }
704
-
705
- /* ============================================
706
- RESPONSE PANEL (Terminal-Style Black Box)
707
- ============================================ */
708
225
 
709
- [class*="response"],
710
- [class*="result"],
711
- [class*="output"] {
712
- background: #000000 !important;
713
- border: 1px solid var(--primary-cyber) !important;
714
- border-radius: 12px !important;
715
- padding: 24px !important;
716
- margin-top: 24px !important;
717
- font-family: 'JetBrains Mono', 'Fira Code', 'Consolas', monospace !important;
718
- font-size: 13px !important;
719
- color: #00ff00 !important;
720
- box-shadow:
721
- 0 8px 32px rgba(0, 0, 0, 0.6),
722
- inset 0 0 20px rgba(0, 242, 255, 0.1) !important;
723
- backdrop-filter: blur(10px) !important;
724
- -webkit-backdrop-filter: blur(10px) !important;
725
- max-height: 500px !important;
726
- overflow-y: auto !important;
727
- }
728
-
729
- [class*="response"]::-webkit-scrollbar,
730
- [class*="result"]::-webkit-scrollbar {
731
- width: 8px;
732
- }
733
-
734
- [class*="response"]::-webkit-scrollbar-track,
735
- [class*="result"]::-webkit-scrollbar-track {
736
- background: rgba(0, 0, 0, 0.3);
737
- }
738
-
739
- [class*="response"]::-webkit-scrollbar-thumb,
740
- [class*="result"]::-webkit-scrollbar-thumb {
741
- background: var(--primary-cyber);
742
- border-radius: 4px;
743
- }
744
-
745
- /* ============================================
746
- HIGH-CONTRAST LABELS & VISIBILITY
747
- ============================================ */
748
-
749
- label,
750
- [class*="label"] {
751
- font-size: 13px !important;
752
- font-weight: 600 !important;
753
- color: var(--text-primary) !important;
754
- margin-bottom: 8px !important;
755
- display: block !important;
756
- }
757
-
758
- /* Required Badge */
759
- [class*="required"],
760
- .required {
761
- color: var(--danger-red) !important;
226
+ [data-method="put"], [class*="method-put"] {
227
+ background: var(--orange) !important;
228
+ color: #fff !important;
229
+ padding: 6px 16px !important;
230
+ border-radius: 6px !important;
762
231
  font-weight: 700 !important;
763
- font-size: 11px !important;
232
+ font-size: 12px !important;
764
233
  text-transform: uppercase !important;
765
- letter-spacing: 0.5px !important;
766
- background: rgba(248, 81, 73, 0.1) !important;
767
- padding: 2px 8px !important;
768
- border-radius: 4px !important;
769
- margin-left: 8px !important;
770
234
  }
771
-
772
- /* Type Badge */
773
- [class*="type"],
774
- .type {
775
- color: var(--info-blue) !important;
776
- font-weight: 600 !important;
235
+
236
+ [data-method="patch"], [class*="method-patch"] {
237
+ background: var(--purple) !important;
238
+ color: #fff !important;
239
+ padding: 6px 16px !important;
240
+ border-radius: 6px !important;
241
+ font-weight: 700 !important;
777
242
  font-size: 12px !important;
778
- font-family: 'JetBrains Mono', monospace !important;
779
- background: rgba(88, 166, 255, 0.1) !important;
780
- padding: 2px 8px !important;
781
- border-radius: 4px !important;
243
+ text-transform: uppercase !important;
782
244
  }
783
-
784
- /* Default Value */
785
- [class*="default"],
786
- .default {
787
- color: var(--text-muted) !important;
245
+
246
+ [data-method="delete"], [class*="method-delete"] {
247
+ background: var(--red) !important;
248
+ color: #fff !important;
249
+ padding: 6px 16px !important;
250
+ border-radius: 6px !important;
251
+ font-weight: 700 !important;
788
252
  font-size: 12px !important;
789
- font-style: italic !important;
253
+ text-transform: uppercase !important;
790
254
  }
791
-
792
- /* ============================================
793
- INPUT FIELDS & FORMS
794
- ============================================ */
795
255
 
796
- input,
797
- textarea,
798
- select {
256
+ /* Send Button */
257
+ button[class*="send"], button[class*="execute"] {
799
258
  width: 100% !important;
800
- background: var(--deep-black) !important;
801
- border: 1px solid var(--border-subtle) !important;
259
+ padding: 14px 24px !important;
260
+ background: var(--primary) !important;
261
+ color: #000 !important;
262
+ border: none !important;
802
263
  border-radius: 8px !important;
803
- padding: 12px 16px !important;
804
- color: var(--text-primary) !important;
264
+ font-weight: 700 !important;
805
265
  font-size: 14px !important;
806
- transition: all 0.2s ease !important;
807
- }
808
-
809
- input:focus,
810
- textarea:focus,
811
- select:focus {
812
- outline: none !important;
813
- border-color: var(--primary-cyber) !important;
814
- box-shadow: 0 0 0 3px var(--primary-glow) !important;
266
+ cursor: pointer !important;
267
+ transition: all 0.2s !important;
815
268
  }
816
-
817
- /* ============================================
818
- CODE BLOCKS & SYNTAX HIGHLIGHTING
819
- ============================================ */
820
269
 
821
- pre {
822
- background: #011627 !important;
823
- border: 1px solid rgba(0, 242, 255, 0.2) !important;
824
- border-radius: 12px !important;
825
- padding: 24px !important;
826
- overflow-x: auto !important;
827
- margin: 16px 0 !important;
270
+ button[class*="send"]:hover {
271
+ transform: translateY(-2px) !important;
272
+ box-shadow: 0 8px 20px rgba(0,242,255,0.3) !important;
828
273
  }
829
-
830
- pre code {
831
- background: transparent !important;
832
- border: none !important;
833
- padding: 0 !important;
834
- color: #d6deeb !important;
274
+
275
+ /* Response Terminal */
276
+ [class*="response"], [class*="output"] {
277
+ background: #000 !important;
278
+ border: 1px solid var(--primary) !important;
279
+ border-radius: 8px !important;
280
+ padding: 20px !important;
281
+ font-family: 'JetBrains Mono', monospace !important;
282
+ color: #00ff00 !important;
835
283
  font-size: 13px !important;
836
- line-height: 1.7 !important;
284
+ max-height: 400px;
285
+ overflow-y: auto;
837
286
  }
838
-
839
- /* ============================================
840
- SCROLLBAR STYLING
841
- ============================================ */
842
287
 
843
- ::-webkit-scrollbar {
844
- width: 10px;
845
- height: 10px;
846
- }
847
-
848
- ::-webkit-scrollbar-track {
849
- background: var(--deep-black);
850
- }
851
-
852
- ::-webkit-scrollbar-thumb {
853
- background: linear-gradient(180deg, var(--primary-cyber), var(--purple-electric));
854
- border-radius: 5px;
855
- }
856
-
857
- ::-webkit-scrollbar-thumb:hover {
858
- background: var(--primary-cyber);
859
- }
860
-
861
- /* ============================================
862
- Z-INDEX MANAGEMENT
863
- ============================================ */
288
+ /* Typography */
289
+ h1 { font-size: 28px; font-weight: 800; margin-bottom: 16px; }
290
+ h2 { font-size: 20px; font-weight: 700; margin: 24px 0 12px; }
291
+ h3 { font-size: 16px; font-weight: 600; margin: 16px 0 8px; }
292
+ p { color: var(--text-dim); line-height: 1.7; }
864
293
 
865
- .sidebar,
866
- [class*="sidebar"] {
867
- z-index: 1000 !important;
868
- }
869
-
870
- [class*="modal"],
871
- [class*="overlay"] {
872
- z-index: 2000 !important;
873
- }
874
-
875
- [class*="tooltip"],
876
- [class*="popover"] {
877
- z-index: 3000 !important;
878
- }
879
-
880
- /* ============================================
881
- RESPONSIVE ADJUSTMENTS
882
- ============================================ */
294
+ /* Tables */
295
+ table { width: 100%; border-collapse: collapse; margin: 16px 0; }
296
+ th { text-align: left; padding: 12px; background: var(--bg-dark); font-weight: 600; font-size: 12px; text-transform: uppercase; color: var(--text-dim); }
297
+ td { padding: 12px; border-top: 1px solid var(--border); }
883
298
 
884
- @media (max-width: 1200px) {
885
- [class*="panels"],
886
- [class*="columns"],
887
- [class*="grid"] {
888
- grid-template-columns: 1fr !important;
889
- }
890
-
891
- main,
892
- [class*="content"] {
893
- padding: 32px 24px !important;
894
- }
895
- }
896
-
897
- @media (max-width: 768px) {
898
- .sidebar,
899
- [class*="sidebar"] {
900
- width: 100% !important;
901
- position: relative !important;
902
- height: auto !important;
903
- }
904
-
905
- main,
906
- [class*="content"] {
907
- margin-left: 0 !important;
908
- }
299
+ /* Inputs */
300
+ input, textarea, select {
301
+ width: 100%;
302
+ background: var(--bg-dark);
303
+ border: 1px solid var(--border);
304
+ border-radius: 6px;
305
+ padding: 10px 14px;
306
+ color: var(--text);
307
+ font-size: 14px;
909
308
  }
910
-
911
- /* ============================================
912
- BRANDING BADGES
913
- ============================================ */
914
309
 
915
- /* Powered by Nest-Scramble Badge (Bottom of Sidebar) */
916
- .sidebar::after,
917
- [class*="sidebar"]::after {
918
- content: '✨ Powered by Nest-Scramble';
919
- display: block;
920
- position: absolute;
921
- bottom: 0;
922
- left: 0;
923
- right: 0;
924
- padding: 20px 24px;
925
- background: linear-gradient(135deg, var(--primary-cyber), var(--purple-electric));
926
- border-top: 1px solid var(--border-subtle);
927
- font-size: 12px;
928
- font-weight: 700;
929
- text-align: center;
930
- letter-spacing: 0.5px;
931
- color: #ffffff;
932
- animation: badgePulse 3s ease-in-out infinite;
933
- cursor: pointer;
934
- }
935
-
936
- @keyframes badgePulse {
937
- 0%, 100% {
938
- box-shadow: 0 -4px 20px ${primaryColor}20;
939
- }
940
- 50% {
941
- box-shadow: 0 -4px 30px ${primaryColor}40;
942
- }
310
+ input:focus, textarea:focus {
311
+ outline: none;
312
+ border-color: var(--primary);
313
+ box-shadow: 0 0 0 3px rgba(0,242,255,0.1);
943
314
  }
944
315
 
945
- /* Ensure sidebar has padding for the badge */
946
- .sidebar,
947
- [class*="sidebar"] {
948
- padding-bottom: 80px !important;
949
- }
950
-
951
- /* Smooth Transitions */
952
- * {
953
- transition: background 0.3s ease, border 0.3s ease, box-shadow 0.3s ease !important;
954
- }
955
-
956
- /* Theme Toggle Button */
957
- .theme-toggle {
316
+ /* Scrollbar */
317
+ ::-webkit-scrollbar { width: 8px; height: 8px; }
318
+ ::-webkit-scrollbar-track { background: var(--bg-dark); }
319
+ ::-webkit-scrollbar-thumb { background: var(--border); border-radius: 4px; }
320
+ ::-webkit-scrollbar-thumb:hover { background: var(--primary); }
321
+
322
+ /* Branding */
323
+ body::after {
324
+ content: '✨ Powered by Nest-Scramble';
958
325
  position: fixed;
959
- top: 20px;
326
+ bottom: 20px;
960
327
  right: 20px;
961
- background: rgba(17, 17, 17, 0.8) !important;
962
- backdrop-filter: blur(10px);
963
- border: 1px solid rgba(255, 255, 255, 0.1);
964
- border-radius: 12px;
965
328
  padding: 8px 16px;
966
- color: var(--text-primary);
967
- font-size: 12px;
329
+ background: linear-gradient(135deg, var(--primary), var(--purple));
330
+ border-radius: 8px;
331
+ font-size: 11px;
968
332
  font-weight: 600;
969
- cursor: pointer;
970
- z-index: 9998;
971
- transition: all 0.3s ease;
972
- }
973
-
974
- .theme-toggle:hover {
975
- border-color: var(--primary-cyber);
976
- box-shadow: 0 0 15px var(--primary-glow);
333
+ z-index: 9999;
334
+ box-shadow: 0 4px 12px rgba(0,0,0,0.5);
977
335
  }
978
- `;
979
- }
980
- getClassicCSS(primaryColor) {
981
- return `
982
- /* Classic Theme */
983
- body {
984
- margin: 0;
985
- padding: 0;
986
- font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
987
- background: #ffffff;
988
- color: #1a1a1a;
989
- }
990
-
991
- button,
992
- [role="button"] {
993
- background: ${primaryColor} !important;
994
- color: white !important;
995
- border: none !important;
996
- border-radius: 8px !important;
997
- padding: 10px 20px !important;
998
- font-weight: 600 !important;
999
- transition: all 0.3s ease !important;
1000
- }
1001
-
1002
- button:hover {
1003
- opacity: 0.9 !important;
1004
- transform: translateY(-1px) !important;
1005
- }
1006
-
1007
- input[type="search"],
1008
- input[type="text"] {
1009
- border: 2px solid #e5e5e5 !important;
1010
- border-radius: 8px !important;
1011
- padding: 10px 16px !important;
1012
- transition: all 0.3s ease !important;
1013
- }
1014
-
1015
- input:focus {
1016
- border-color: ${primaryColor} !important;
1017
- outline: none !important;
1018
- }
1019
-
1020
- a {
1021
- color: ${primaryColor} !important;
1022
- }
1023
- `;
1024
- }
1025
- getEasterEggScript() {
1026
- return `
1027
- // Easter Egg Console Message
1028
- console.log('%c✨ Engineered with passion by Mohamed Mustafa', 'color: #00f2ff; font-size: 16px; font-weight: bold; text-shadow: 0 0 10px #00f2ff;');
1029
- console.log('%cNest-Scramble is active.', 'color: #a855f7; font-size: 14px; font-weight: 600;');
1030
- console.log('%cšŸš€ GitHub: https://github.com/Eng-MMustafa/nest-scramble', 'color: #ffffff; font-size: 12px;');
1031
336
 
1032
- // Theme Toggle Functionality
1033
- const themeToggle = document.createElement('div');
1034
- themeToggle.className = 'theme-toggle';
1035
- themeToggle.textContent = 'šŸŽØ Theme';
1036
- themeToggle.onclick = () => {
1037
- const currentTheme = localStorage.getItem('nest-scramble-theme') || 'futuristic';
1038
- const newTheme = currentTheme === 'futuristic' ? 'classic' : 'futuristic';
1039
- localStorage.setItem('nest-scramble-theme', newTheme);
1040
- window.location.reload();
1041
- };
1042
- document.body.appendChild(themeToggle);
337
+ /* Responsive */
338
+ @media (max-width: 1200px) {
339
+ [class*="endpoint"], article {
340
+ grid-template-columns: 1fr !important;
341
+ }
342
+ }
1043
343
  `;
1044
344
  }
1045
345
  getOpenApiJson(res) {
@@ -1 +1 @@
1
- {"version":3,"file":"DocsController.js","sourceRoot":"","sources":["../../src/controllers/DocsController.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"DocsController.js","sourceRoot":"","sources":["../../src/controllers/DocsController.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "nest-scramble",
3
- "version": "1.4.5",
3
+ "version": "1.4.6",
4
4
  "description": "A next-generation, decorator-free API documentation engine and intelligent mock server for NestJS, engineered by Mohamed Mustafa",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",