nest-scramble 1.2.0 → 1.4.0

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
@@ -344,19 +344,107 @@ jobs:
344
344
  path: openapi.json
345
345
  ```
346
346
 
347
- ## šŸŽØ Documentation UI
347
+ ## šŸŽØ Documentation UI - World-Class Design
348
348
 
349
- ### Built-in Scalar UI
349
+ ### ✨ Futuristic Theme (NEW!)
350
350
 
351
- Nest-Scramble comes with **Scalar UI** built-in via CDN. No additional packages needed!
351
+ Nest-Scramble now features a **bespoke, futuristic dashboard** that rivals high-end SaaS products like Stripe, Vercel, and Linear!
352
352
 
353
- When you visit `http://localhost:3000/docs`, you'll see a beautiful, interactive API documentation interface with:
353
+ **šŸš€ Key Features:**
354
+ - **Deep Space Dark Mode** - Ultra-premium `#050505` background
355
+ - **Glassmorphism Design** - Backdrop blur effects on all cards
356
+ - **Cyber Gradients** - Cyan-to-purple button animations
357
+ - **Animated Grid Background** - Subtle pulsing effect
358
+ - **Night Owl Code Theme** - Beautiful syntax highlighting
359
+ - **Custom Scrollbar** - Gradient styling throughout
360
+ - **Spotlight Search** - Cmd+K style search experience
361
+ - **Easter Egg Console** - Hidden developer messages ✨
362
+
363
+ ### šŸŽØ Theme Customization
364
+
365
+ **Futuristic Theme (Default):**
366
+ ```typescript
367
+ NestScrambleModule.forRoot({
368
+ theme: 'futuristic', // Modern, dark, glassmorphic
369
+ primaryColor: '#00f2ff', // Cyber-Cyan (default)
370
+ customDomainIcon: '/logo.png', // Your brand favicon
371
+ apiTitle: 'My Awesome API',
372
+ })
373
+ ```
374
+
375
+ **Classic Theme:**
376
+ ```typescript
377
+ NestScrambleModule.forRoot({
378
+ theme: 'classic', // Clean, light, professional
379
+ primaryColor: '#0066cc', // Corporate blue
380
+ apiTitle: 'Enterprise API',
381
+ })
382
+ ```
383
+
384
+ **Custom Color Branding:**
385
+ ```typescript
386
+ // One line changes the entire UI color scheme!
387
+ NestScrambleModule.forRoot({
388
+ primaryColor: '#a855f7', // Electric Purple
389
+ // or '#10b981' for Emerald Green
390
+ // or '#f59e0b' for Amber Orange
391
+ // or any hex color you want!
392
+ })
393
+ ```
394
+
395
+ ### šŸŽ­ UI Configuration Options
396
+
397
+ | Option | Type | Default | Description |
398
+ |--------|------|---------|-------------|
399
+ | `theme` | `'classic' \| 'futuristic'` | `'futuristic'` | UI theme selection |
400
+ | `primaryColor` | `string` | `'#00f2ff'` | Primary accent color (hex) |
401
+ | `customDomainIcon` | `string` | `''` | Custom favicon URL |
402
+ | `apiTitle` | `string` | Auto-detected | API documentation title |
403
+ | `apiVersion` | `string` | Auto-detected | API version number |
404
+
405
+ ### 🌟 Interactive Features
406
+
407
+ When you visit `http://localhost:3000/docs`, you'll experience:
354
408
 
355
409
  - šŸŽÆ **Interactive API Explorer** - Test endpoints directly from the browser
356
410
  - šŸ“ **Auto-generated Examples** - Request/response samples for all endpoints
357
- - šŸ” **Search Functionality** - Quickly find endpoints
358
- - šŸŒ™ **Dark Mode Support** - Easy on the eyes
359
- - šŸ“± **Mobile Responsive** - Works on all devices
411
+ - šŸ” **Spotlight Search** - Quickly find endpoints with glowing focus states
412
+ - šŸŒ™ **Futuristic Dark Mode** - Deep space theme with glassmorphism
413
+ - šŸ“± **Mobile Responsive** - Works beautifully on all devices
414
+ - šŸŽØ **Theme Toggle** - Switch between Futuristic and Classic (top-right button)
415
+ - ✨ **Powered by Badge** - Glowing brand badge with pulse animation
416
+ - šŸŽ­ **Easter Eggs** - Check your browser console for surprises!
417
+
418
+ ### šŸ–„ļø Terminal Dashboard
419
+
420
+ The startup dashboard now features **gradient styling** with ANSI colors:
421
+
422
+ ```
423
+ ╔═══════════════════════════════════════════════════════════════╗
424
+ ā•‘ ✨ NEST-SCRAMBLE by Mohamed Mustafa ā•‘
425
+ ā•‘ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ā•‘
426
+ ā•‘ ā•‘
427
+ ā•‘ ā— Documentation ā•‘
428
+ ā•‘ → http://localhost:3000/docs ā•‘
429
+ ā•‘ ā•‘
430
+ ā•‘ ā— OpenAPI Spec ā•‘
431
+ ā•‘ → http://localhost:3000/docs-json ā•‘
432
+ ā•‘ ā•‘
433
+ ā•‘ ā— Mock Server ā•‘
434
+ ā•‘ → http://localhost:3000/scramble-mock ā•‘
435
+ ā•‘ ā•‘
436
+ ā•‘ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ā•‘
437
+ ā•‘ šŸ“¦ Source Path: src ā•‘
438
+ ā•‘ šŸŽÆ Controllers: 5 ā•‘
439
+ ā•‘ šŸŽØ Theme: Futuristic ā•‘
440
+ ā•šā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•
441
+ ```
442
+
443
+ ### šŸ“š More UI Documentation
444
+
445
+ For complete UI customization guide, see:
446
+ - **[UI_FEATURES.md](./UI_FEATURES.md)** - Comprehensive feature documentation
447
+ - **[examples/futuristic-ui-example.ts](./examples/futuristic-ui-example.ts)** - Usage examples
360
448
 
361
449
  ### Available Endpoints
362
450
 
@@ -609,7 +697,6 @@ If you're still experiencing issues:
609
697
  1. **Check the logs** - Nest-Scramble provides detailed diagnostic output on startup
610
698
  2. **Verify your version** - Run `npm list nest-scramble` (should be 1.1.0+)
611
699
  3. **Open an issue** - [GitHub Issues](https://github.com/Eng-MMustafa/nest-scramble/issues)
612
- 4. **Join discussions** - [GitHub Discussions](https://github.com/Eng-MMustafa/nest-scramble/discussions)
613
700
 
614
701
  When reporting issues, please include:
615
702
  - Nest-Scramble version
package/UI_FEATURES.md ADDED
@@ -0,0 +1,289 @@
1
+ # šŸš€ Nest-Scramble UI - World-Class Design Features
2
+
3
+ **Engineered by Mohamed Mustafa (@Eng-MMustafa)**
4
+
5
+ ## ✨ Overview
6
+
7
+ The Nest-Scramble documentation UI has been elevated to a **bespoke, futuristic dashboard** that rivals high-end SaaS products. This document outlines all the advanced UI features and customization options.
8
+
9
+ ---
10
+
11
+ ## šŸŽØ Futuristic Theme Features
12
+
13
+ ### **Deep Space Dark Mode**
14
+ - **Background**: `#050505` - Ultra-deep space black
15
+ - **Animated Grid**: Pulsing background grid with subtle opacity animation
16
+ - **Color Palette**:
17
+ - **Cyber-Cyan**: `#00f2ff` (Primary accent)
18
+ - **Electric Purple**: `#a855f7` (Secondary accent)
19
+ - **Gradient Buttons**: Smooth cyan-to-purple gradients
20
+
21
+ ### **Glassmorphism Design**
22
+ - Backdrop blur effects on all cards and panels
23
+ - Semi-transparent borders with subtle glow
24
+ - Layered depth with shadow insets
25
+ - Modern, frosted-glass aesthetic
26
+
27
+ ### **Typography**
28
+ - **Fonts**: 'Inter' and 'Plus Jakarta Sans' via Google Fonts
29
+ - **Headers**: Gradient text with cyan-to-purple color fill
30
+ - **Code Blocks**: 'JetBrains Mono' and 'Fira Code' for optimal readability
31
+
32
+ ### **Interactive Elements**
33
+ - **Buttons**:
34
+ - Gradient backgrounds with hover animations
35
+ - Shimmer effect on hover
36
+ - Glow shadows with primary color
37
+ - Smooth lift animation (translateY)
38
+
39
+ - **Search Bar**:
40
+ - Spotlight-style UI (Cmd+K feel)
41
+ - Focus state with glowing border
42
+ - Dark glassmorphic background
43
+
44
+ - **Code Snippets**:
45
+ - Night Owl syntax theme
46
+ - Rounded corners with subtle borders
47
+ - Enhanced readability with proper spacing
48
+
49
+ ### **Custom Branding**
50
+ - **Powered by Badge**: Fixed position badge with:
51
+ - Gradient background
52
+ - Pulsing glow animation
53
+ - "✨ Powered by Nest-Scramble" text
54
+ - Bottom-right placement
55
+
56
+ ### **Scrollbar Styling**
57
+ - Custom gradient scrollbar thumb
58
+ - Smooth hover effects
59
+ - Matches the overall theme aesthetic
60
+
61
+ ---
62
+
63
+ ## šŸŽÆ Configuration Options
64
+
65
+ ### **Basic Setup**
66
+
67
+ ```typescript
68
+ import { NestScrambleModule } from 'nest-scramble';
69
+
70
+ @Module({
71
+ imports: [
72
+ NestScrambleModule.forRoot({
73
+ // Theme selection
74
+ theme: 'futuristic', // or 'classic'
75
+
76
+ // Primary brand color
77
+ primaryColor: '#00f2ff',
78
+
79
+ // Custom favicon
80
+ customDomainIcon: 'https://your-domain.com/favicon.ico',
81
+
82
+ // API metadata
83
+ apiTitle: 'My Awesome API',
84
+ apiVersion: '2.0.0',
85
+ }),
86
+ ],
87
+ })
88
+ export class AppModule {}
89
+ ```
90
+
91
+ ### **Available Options**
92
+
93
+ | Option | Type | Default | Description |
94
+ |--------|------|---------|-------------|
95
+ | `theme` | `'classic' \| 'futuristic'` | `'futuristic'` | UI theme selection |
96
+ | `primaryColor` | `string` | `'#00f2ff'` | Primary accent color (hex) |
97
+ | `customDomainIcon` | `string` | `''` | Custom favicon URL |
98
+ | `apiTitle` | `string` | Auto-detected | API documentation title |
99
+ | `apiVersion` | `string` | Auto-detected | API version number |
100
+ | `path` | `string` | `'/docs'` | Documentation route path |
101
+ | `enableMock` | `boolean` | `true` | Enable mock server |
102
+
103
+ ---
104
+
105
+ ## šŸŽ­ Easter Egg Features
106
+
107
+ ### **Console Messages**
108
+ When users access the documentation, they'll see beautiful console messages:
109
+
110
+ ```
111
+ ✨ Engineered with passion by Mohamed Mustafa
112
+ Nest-Scramble is active.
113
+ šŸš€ GitHub: https://github.com/Eng-MMustafa/nest-scramble
114
+ ```
115
+
116
+ ### **Theme Toggle**
117
+ - Live theme switcher button (top-right)
118
+ - Persists preference in localStorage
119
+ - Smooth transitions between themes
120
+
121
+ ---
122
+
123
+ ## šŸ–„ļø Terminal UI Enhancement
124
+
125
+ ### **Gradient Dashboard**
126
+ The startup dashboard now features:
127
+ - **Cyan & Purple** gradient borders
128
+ - **Bold emojis** for visual hierarchy
129
+ - **Color-coded sections**:
130
+ - 🟢 Green bullets for endpoints
131
+ - šŸ”µ Cyan arrows for URLs
132
+ - 🟔 Yellow icons for metadata
133
+ - 🟣 Purple for theme indicator
134
+
135
+ ### **Example Output**
136
+
137
+ ```
138
+ ╔═══════════════════════════════════════════════════════════════╗
139
+ ā•‘ ✨ NEST-SCRAMBLE by Mohamed Mustafa ā•‘
140
+ ā•‘ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ā•‘
141
+ ā•‘ ā•‘
142
+ ā•‘ ā— Documentation ā•‘
143
+ ā•‘ → http://localhost:3000/docs ā•‘
144
+ ā•‘ ā•‘
145
+ ā•‘ ā— OpenAPI Spec ā•‘
146
+ ā•‘ → http://localhost:3000/docs-json ā•‘
147
+ ā•‘ ā•‘
148
+ ā•‘ ā— Mock Server ā•‘
149
+ ā•‘ → http://localhost:3000/scramble-mock ā•‘
150
+ ā•‘ ā•‘
151
+ ā•‘ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ā•‘
152
+ ā•‘ šŸ“¦ Source Path: src ā•‘
153
+ ā•‘ šŸŽÆ Controllers: 5 ā•‘
154
+ ā•‘ šŸŽØ Theme: Futuristic ā•‘
155
+ ā•šā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•
156
+ ```
157
+
158
+ ---
159
+
160
+ ## šŸŽØ CSS Architecture
161
+
162
+ ### **Futuristic Theme**
163
+ - **Root Variables**: CSS custom properties for easy theming
164
+ - **Animations**:
165
+ - `gridPulse`: Background grid animation (10s)
166
+ - `badgePulse`: Branding badge glow (3s)
167
+ - **Transitions**: Smooth 0.3s cubic-bezier for all interactions
168
+ - **Responsive**: Mobile-optimized with proper viewport settings
169
+
170
+ ### **Classic Theme**
171
+ - Clean, minimal design
172
+ - Light background with dark text
173
+ - Simplified color scheme
174
+ - Professional appearance for conservative environments
175
+
176
+ ---
177
+
178
+ ## šŸš€ Advanced Features
179
+
180
+ ### **1. Dynamic Color Branding**
181
+ Set your brand color once, and it propagates throughout:
182
+ - Button gradients
183
+ - Focus states
184
+ - Glow effects
185
+ - Scrollbar styling
186
+ - Link colors
187
+
188
+ ### **2. Glassmorphism Effects**
189
+ - `backdrop-filter: blur(20px)` on cards
190
+ - Semi-transparent backgrounds
191
+ - Layered shadows for depth
192
+ - Modern, premium feel
193
+
194
+ ### **3. Code Block Theming**
195
+ - Night Owl color scheme
196
+ - Syntax highlighting support
197
+ - Monospace font optimization
198
+ - Enhanced readability
199
+
200
+ ### **4. Responsive Design**
201
+ - Mobile-first approach
202
+ - Flexible layouts
203
+ - Touch-optimized interactions
204
+ - Adaptive spacing
205
+
206
+ ---
207
+
208
+ ## šŸ“Š Performance Optimizations
209
+
210
+ - **Font Preloading**: Google Fonts with `preconnect`
211
+ - **CSS-only Animations**: No JavaScript overhead
212
+ - **Minimal DOM Manipulation**: Efficient rendering
213
+ - **Optimized Selectors**: Fast CSS matching
214
+
215
+ ---
216
+
217
+ ## šŸŽÆ Use Cases
218
+
219
+ ### **Startup/SaaS Products**
220
+ ```typescript
221
+ NestScrambleModule.forRoot({
222
+ theme: 'futuristic',
223
+ primaryColor: '#00f2ff',
224
+ apiTitle: 'StartupX API',
225
+ })
226
+ ```
227
+
228
+ ### **Enterprise/Corporate**
229
+ ```typescript
230
+ NestScrambleModule.forRoot({
231
+ theme: 'classic',
232
+ primaryColor: '#0066cc',
233
+ apiTitle: 'Enterprise API Gateway',
234
+ })
235
+ ```
236
+
237
+ ### **Personal Projects**
238
+ ```typescript
239
+ NestScrambleModule.forRoot({
240
+ theme: 'futuristic',
241
+ primaryColor: '#a855f7',
242
+ customDomainIcon: '/my-logo.png',
243
+ })
244
+ ```
245
+
246
+ ---
247
+
248
+ ## šŸ”„ What Makes This "Dala3" (High-End)?
249
+
250
+ 1. **✨ Attention to Detail**: Every pixel is crafted with care
251
+ 2. **šŸŽØ Modern Design Language**: Glassmorphism, gradients, animations
252
+ 3. **⚔ Smooth Interactions**: Buttery 60fps animations
253
+ 4. **šŸŽÆ User Experience**: Intuitive, delightful, professional
254
+ 5. **šŸš€ Performance**: Optimized for speed and efficiency
255
+ 6. **šŸ’Ž Premium Feel**: Rivals products like Stripe, Vercel, Linear
256
+
257
+ ---
258
+
259
+ ## šŸ› ļø Technical Implementation
260
+
261
+ ### **DocsController.ts**
262
+ - Dynamic CSS injection based on theme
263
+ - Separate methods for futuristic and classic themes
264
+ - Easter egg console script injection
265
+ - Theme toggle functionality
266
+
267
+ ### **NestScrambleModule.ts**
268
+ - Enhanced options interface
269
+ - Smart defaults with auto-detection
270
+ - Gradient terminal dashboard
271
+ - Configuration validation
272
+
273
+ ---
274
+
275
+ ## šŸ“ License
276
+
277
+ MIT License - Developed by **Mohamed Mustafa** (@Eng-MMustafa)
278
+
279
+ ---
280
+
281
+ ## 🌟 Credits
282
+
283
+ **Lead Architect**: Mohamed Mustafa
284
+ **GitHub**: [@Eng-MMustafa](https://github.com/Eng-MMustafa)
285
+ **Project**: [nest-scramble](https://github.com/Eng-MMustafa/nest-scramble)
286
+
287
+ ---
288
+
289
+ **Made with ✨ and passion for beautiful developer experiences.**
@@ -9,6 +9,9 @@ export interface NestScrambleOptions {
9
9
  sourcePath?: string;
10
10
  apiTitle?: string;
11
11
  apiVersion?: string;
12
+ customDomainIcon?: string;
13
+ primaryColor?: string;
14
+ theme?: 'classic' | 'futuristic';
12
15
  }
13
16
  export declare class NestScrambleModule implements OnModuleInit {
14
17
  private static moduleOptions;
@@ -1 +1 @@
1
- {"version":3,"file":"NestScrambleModule.d.ts","sourceRoot":"","sources":["../src/NestScrambleModule.ts"],"names":[],"mappings":"AAAA,kEAAkE;AAClE,OAAO,EAAE,aAAa,EAAE,kBAAkB,EAAU,YAAY,EAAiB,MAAM,gBAAgB,CAAC;AASxG,MAAM,WAAW,mBAAmB;IAClC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,qBACa,kBAAmB,YAAW,YAAY;IACrD,OAAO,CAAC,MAAM,CAAC,aAAa,CAA2B;IACvD,OAAO,CAAC,MAAM,CAAC,YAAY,CAAgB;IAE3C,YAAY;IAIZ,OAAO,CAAC,gBAAgB;IAkBxB,MAAM,CAAC,OAAO,CAAC,OAAO,GAAE,mBAAwB,GAAG,aAAa;IA4EhE,MAAM,CAAC,YAAY,CAAC,OAAO,GAAE,mBAAwB,GAAG,aAAa;IAKrE,SAAS,CAAC,QAAQ,EAAE,kBAAkB;CAMvC"}
1
+ {"version":3,"file":"NestScrambleModule.d.ts","sourceRoot":"","sources":["../src/NestScrambleModule.ts"],"names":[],"mappings":"AAAA,kEAAkE;AAClE,OAAO,EAAE,aAAa,EAAE,kBAAkB,EAAU,YAAY,EAAiB,MAAM,gBAAgB,CAAC;AASxG,MAAM,WAAW,mBAAmB;IAClC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,KAAK,CAAC,EAAE,SAAS,GAAG,YAAY,CAAC;CAClC;AAED,qBACa,kBAAmB,YAAW,YAAY;IACrD,OAAO,CAAC,MAAM,CAAC,aAAa,CAA2B;IACvD,OAAO,CAAC,MAAM,CAAC,YAAY,CAAgB;IAE3C,YAAY;IAIZ,OAAO,CAAC,gBAAgB;IAsCxB,MAAM,CAAC,OAAO,CAAC,OAAO,GAAE,mBAAwB,GAAG,aAAa;IA+EhE,MAAM,CAAC,YAAY,CAAC,OAAO,GAAE,mBAAwB,GAAG,aAAa;IAKrE,SAAS,CAAC,QAAQ,EAAE,kBAAkB;CAMvC"}
@@ -25,17 +25,36 @@ let NestScrambleModule = NestScrambleModule_1 = class NestScrambleModule {
25
25
  const port = NestScrambleModule_1.detectedPort;
26
26
  const options = NestScrambleModule_1.moduleOptions;
27
27
  const projectStructure = AutoDetector_1.AutoDetector.detectProjectStructure();
28
- console.log('\nā”Œā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”');
29
- console.log('│ šŸš€ Nest-Scramble by Mohamed Mustafa is Active! │');
30
- console.log('ā”œā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”¤');
31
- console.log(`│ šŸ“– Docs: http://localhost:${port}/docs${' '.repeat(Math.max(0, 26 - port.toString().length))}│`);
32
- console.log(`│ šŸ“„ JSON: http://localhost:${port}/docs-json${' '.repeat(Math.max(0, 21 - port.toString().length))}│`);
28
+ const cyan = '\x1b[36m';
29
+ const purple = '\x1b[35m';
30
+ const green = '\x1b[32m';
31
+ const yellow = '\x1b[33m';
32
+ const bold = '\x1b[1m';
33
+ const reset = '\x1b[0m';
34
+ const dim = '\x1b[2m';
35
+ const gradient = `${cyan}${bold}`;
36
+ console.log('\n');
37
+ console.log(`${gradient}╔═══════════════════════════════════════════════════════════════╗${reset}`);
38
+ console.log(`${gradient}ā•‘${reset} ${cyan}${bold}✨ NEST-SCRAMBLE${reset} ${dim}by Mohamed Mustafa${reset} ${gradient}ā•‘${reset}`);
39
+ console.log(`${gradient}ā•‘${reset} ${purple}━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━${reset} ${gradient}ā•‘${reset}`);
40
+ console.log(`${gradient}ā•‘${reset} ${gradient}ā•‘${reset}`);
41
+ console.log(`${gradient}ā•‘${reset} ${green}ā—${reset} ${bold}Documentation${reset} ${gradient}ā•‘${reset}`);
42
+ console.log(`${gradient}ā•‘${reset} ${cyan}→${reset} http://localhost:${port}/docs ${gradient}ā•‘${reset}`);
43
+ console.log(`${gradient}ā•‘${reset} ${gradient}ā•‘${reset}`);
44
+ console.log(`${gradient}ā•‘${reset} ${green}ā—${reset} ${bold}OpenAPI Spec${reset} ${gradient}ā•‘${reset}`);
45
+ console.log(`${gradient}ā•‘${reset} ${cyan}→${reset} http://localhost:${port}/docs-json ${gradient}ā•‘${reset}`);
33
46
  if (options.enableMock !== false) {
34
- console.log(`│ šŸŽ­ Mock: http://localhost:${port}/scramble-mock${' '.repeat(Math.max(0, 16 - port.toString().length))}│`);
47
+ console.log(`${gradient}ā•‘${reset} ${gradient}ā•‘${reset}`);
48
+ console.log(`${gradient}ā•‘${reset} ${green}ā—${reset} ${bold}Mock Server${reset} ${gradient}ā•‘${reset}`);
49
+ console.log(`${gradient}ā•‘${reset} ${cyan}→${reset} http://localhost:${port}/scramble-mock ${gradient}ā•‘${reset}`);
35
50
  }
36
- console.log(`│ ✨ Scanning: ${projectStructure.sourcePath}${' '.repeat(Math.max(0, 43 - projectStructure.sourcePath.length))}│`);
37
- console.log(`│ šŸŽÆ Controllers: ${projectStructure.controllerPaths.length}${' '.repeat(Math.max(0, 40 - projectStructure.controllerPaths.length.toString().length))}│`);
38
- console.log('ā””ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”˜\n');
51
+ console.log(`${gradient}ā•‘${reset} ${gradient}ā•‘${reset}`);
52
+ console.log(`${gradient}ā•‘${reset} ${purple}━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━${reset} ${gradient}ā•‘${reset}`);
53
+ console.log(`${gradient}ā•‘${reset} ${yellow}šŸ“¦${reset} Source Path: ${dim}${projectStructure.sourcePath}${reset} ${gradient}ā•‘${reset}`);
54
+ console.log(`${gradient}ā•‘${reset} ${yellow}šŸŽÆ${reset} Controllers: ${green}${bold}${projectStructure.controllerPaths.length}${reset} ${gradient}ā•‘${reset}`);
55
+ console.log(`${gradient}ā•‘${reset} ${yellow}šŸŽØ${reset} Theme: ${options.theme === 'futuristic' ? `${purple}${bold}Futuristic${reset}` : `${dim}Classic${reset}`} ${gradient}ā•‘${reset}`);
56
+ console.log(`${gradient}ā•šā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•${reset}`);
57
+ console.log(`\n ${dim}Press Ctrl+C to stop the server${reset}\n`);
39
58
  }
40
59
  static forRoot(options = {}) {
41
60
  // Auto-detect project structure
@@ -50,6 +69,9 @@ let NestScrambleModule = NestScrambleModule_1 = class NestScrambleModule {
50
69
  sourcePath: options.sourcePath || projectStructure.sourcePath,
51
70
  apiTitle: options.apiTitle || AutoDetector_1.AutoDetector.getAppName(),
52
71
  apiVersion: options.apiVersion || AutoDetector_1.AutoDetector.getAppVersion(),
72
+ customDomainIcon: options.customDomainIcon || '',
73
+ primaryColor: options.primaryColor || '#00f2ff',
74
+ theme: options.theme || 'futuristic',
53
75
  };
54
76
  // Store for dashboard display
55
77
  NestScrambleModule_1.moduleOptions = config;
@@ -1 +1 @@
1
- {"version":3,"file":"NestScrambleModule.js","sourceRoot":"","sources":["../src/NestScrambleModule.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"NestScrambleModule.js","sourceRoot":"","sources":["../src/NestScrambleModule.ts"],"names":[],"mappings":"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"}
@@ -1,9 +1,14 @@
1
+ import { NestScrambleOptions } from '../NestScrambleModule';
1
2
  export declare const IS_PUBLIC_KEY = "isPublic";
2
3
  export declare const Public: () => import("@nestjs/common").CustomDecorator<string>;
3
4
  export declare class DocsController {
4
5
  private openApiSpec;
5
- constructor(openApiSpec: any);
6
+ private options;
7
+ constructor(openApiSpec: any, options: NestScrambleOptions);
6
8
  getDocs(res: any): void;
9
+ private getFuturisticCSS;
10
+ private getClassicCSS;
11
+ private getEasterEggScript;
7
12
  getOpenApiJson(res: any): void;
8
13
  getOpenApiJsonLegacy(res: any): void;
9
14
  getOpenApiSpec(): any;
@@ -1 +1 @@
1
- {"version":3,"file":"DocsController.d.ts","sourceRoot":"","sources":["../../src/controllers/DocsController.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,aAAa,aAAa,CAAC;AACxC,eAAO,MAAM,MAAM,wDAAyC,CAAC;AAE7D,qBAEa,cAAc;IAEU,OAAO,CAAC,WAAW;gBAAX,WAAW,EAAE,GAAG;IAI3D,OAAO,CAAQ,GAAG,EAAE,GAAG;IA0BvB,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;IAgCvB,OAAO,CAAC,gBAAgB;IAkRxB,OAAO,CAAC,aAAa;IA8CrB,OAAO,CAAC,kBAAkB;IAsB1B,cAAc,CAAQ,GAAG,EAAE,GAAG;IAa9B,oBAAoB,CAAQ,GAAG,EAAE,GAAG;IAKpC,cAAc;CAGf"}