nest-scramble 2.1.3 → 3.0.2
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 +34 -15
- package/dist/NestScrambleModule.d.ts +6 -2
- package/dist/NestScrambleModule.d.ts.map +1 -1
- package/dist/NestScrambleModule.js +30 -19
- package/dist/NestScrambleModule.js.map +1 -1
- package/dist/controllers/DocsController.d.ts.map +1 -1
- package/dist/controllers/DocsController.js +14 -1
- package/dist/controllers/DocsController.js.map +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/nest-scramble.module-definition.d.ts +9 -0
- package/dist/nest-scramble.module-definition.d.ts.map +1 -0
- package/dist/nest-scramble.module-definition.js +17 -0
- package/dist/nest-scramble.module-definition.js.map +1 -0
- package/dist/scanner/IncrementalScannerService.d.ts +9 -0
- package/dist/scanner/IncrementalScannerService.d.ts.map +1 -1
- package/dist/scanner/IncrementalScannerService.js +104 -14
- package/dist/scanner/IncrementalScannerService.js.map +1 -1
- package/dist/scanner/ScannerService.d.ts +9 -0
- package/dist/scanner/ScannerService.d.ts.map +1 -1
- package/dist/scanner/ScannerService.js +104 -16
- package/dist/scanner/ScannerService.js.map +1 -1
- package/dist/utils/OpenApiTransformer.d.ts +8 -0
- package/dist/utils/OpenApiTransformer.d.ts.map +1 -1
- package/dist/utils/OpenApiTransformer.js +81 -13
- package/dist/utils/OpenApiTransformer.js.map +1 -1
- package/examples/nestjs-10-11-example.ts +323 -0
- package/package.json +8 -4
package/README.md
CHANGED
|
@@ -6,15 +6,19 @@
|
|
|
6
6
|
[](https://opensource.org/licenses/MIT)
|
|
7
7
|
[](https://github.com/Eng-MMustafa/nest-scramble)
|
|
8
8
|
[](https://github.com/Eng-MMustafa)
|
|
9
|
-
[](https://docs.nestjs.com)
|
|
10
|
+
[](https://nodejs.org)
|
|
11
|
+
[](https://www.typescriptlang.org)
|
|
10
12
|
|
|
11
|
-
## 📋 What's New in
|
|
13
|
+
## 📋 What's New in v3.0.0
|
|
12
14
|
|
|
13
|
-
###
|
|
14
|
-
-
|
|
15
|
-
-
|
|
16
|
-
-
|
|
17
|
-
-
|
|
15
|
+
### 🚀 Major Version Update - NestJS 10 & 11 Focus
|
|
16
|
+
- **⚡ Breaking**: Dropped NestJS 9 support - now requires NestJS 10.x or 11.x
|
|
17
|
+
- **⚡ Breaking**: Minimum Node.js version is now 18.10.0
|
|
18
|
+
- **⚡ Breaking**: Minimum TypeScript version is now 5.0.0
|
|
19
|
+
- **🔧 Enhanced**: Optimized for modern NestJS metadata patterns
|
|
20
|
+
- **🔧 Improved**: Better TypeScript 5.x type inference and AST analysis
|
|
21
|
+
- **🎯 Feature**: Full compatibility with NestJS 11's latest features
|
|
18
22
|
|
|
19
23
|
**Dashboard URLs now respect your configuration:**
|
|
20
24
|
```typescript
|
|
@@ -184,11 +188,18 @@ Then open your browser:
|
|
|
184
188
|
## 🔧 Compatibility & Requirements
|
|
185
189
|
|
|
186
190
|
### Supported Versions
|
|
187
|
-
- **NestJS**:
|
|
188
|
-
- **Node.js**: `>=
|
|
189
|
-
- **TypeScript**: `>=
|
|
191
|
+
- **NestJS**: `^10.0.0 || ^11.0.0` (v10.x and v11.x only)
|
|
192
|
+
- **Node.js**: `>=18.10.0` (required for NestJS 11)
|
|
193
|
+
- **TypeScript**: `>=5.0.0` (modern features and better type inference)
|
|
190
194
|
- **reflect-metadata**: `>=0.1.13` (optional)
|
|
191
195
|
|
|
196
|
+
### Migration from v2.x
|
|
197
|
+
If you're upgrading from nest-scramble v2.x with NestJS 9:
|
|
198
|
+
1. Upgrade NestJS to v10 or v11: `npm install @nestjs/common@^10.0.0 @nestjs/core@^10.0.0`
|
|
199
|
+
2. Upgrade Node.js to v18.10.0 or higher
|
|
200
|
+
3. Upgrade TypeScript to v5.0.0 or higher
|
|
201
|
+
4. Then upgrade nest-scramble: `npm install nest-scramble@^3.0.0`
|
|
202
|
+
|
|
192
203
|
### Package Managers
|
|
193
204
|
```bash
|
|
194
205
|
# npm
|
|
@@ -909,7 +920,10 @@ NestScrambleModule.forRoot({
|
|
|
909
920
|
- Clear your browser cache and hard refresh (Ctrl+Shift+R / Cmd+Shift+R)
|
|
910
921
|
- Check browser console for errors
|
|
911
922
|
- Verify the `/docs-json` endpoint returns valid JSON
|
|
912
|
-
- Ensure you're using version
|
|
923
|
+
- Ensure you're using version 3.0.0 or higher: `npm list nest-scramble`
|
|
924
|
+
- Verify NestJS version compatibility (v10.x or v11.x required)
|
|
925
|
+
- Check Node.js version: `node --version` (must be >=18.10.0)
|
|
926
|
+
- Check TypeScript version: `npx tsc --version` (must be >=5.0.0)
|
|
913
927
|
|
|
914
928
|
#### 3. **TypeScript Compilation Errors**
|
|
915
929
|
|
|
@@ -1051,12 +1065,17 @@ getUser(@Param('id') id: string) {
|
|
|
1051
1065
|
If you're still experiencing issues:
|
|
1052
1066
|
|
|
1053
1067
|
1. **Check the logs** - Nest-Scramble provides detailed diagnostic output on startup
|
|
1054
|
-
2. **Verify your version** - Run `npm list nest-scramble` (should be
|
|
1055
|
-
3. **
|
|
1068
|
+
2. **Verify your version** - Run `npm list nest-scramble` (should be 3.0.0+)
|
|
1069
|
+
3. **Check NestJS compatibility** - Verify you're using NestJS v10.x or v11.x (v9 is no longer supported)
|
|
1070
|
+
4. **Check Node.js version** - Run `node --version` (must be >=18.10.0)
|
|
1071
|
+
5. **Check TypeScript version** - Run `npx tsc --version` (must be >=5.0.0)
|
|
1072
|
+
6. **Open an issue** - [GitHub Issues](https://github.com/Eng-MMustafa/nest-scramble/issues)
|
|
1056
1073
|
|
|
1057
1074
|
When reporting issues, please include:
|
|
1058
|
-
- Nest-Scramble version
|
|
1059
|
-
- NestJS version
|
|
1075
|
+
- Nest-Scramble version (3.0.0+)
|
|
1076
|
+
- NestJS version (v10.x or v11.x)
|
|
1077
|
+
- Node.js version (>=18.10.0)
|
|
1078
|
+
- TypeScript version (>=5.0.0)
|
|
1060
1079
|
- Package manager (npm/yarn/pnpm)
|
|
1061
1080
|
- Startup logs
|
|
1062
1081
|
- Sample controller code
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
/** Nest-Scramble | Developed by Mohamed Mustafa | MIT License **/
|
|
2
2
|
import { DynamicModule, MiddlewareConsumer, OnModuleInit } from '@nestjs/common';
|
|
3
|
+
import { ConfigurableModuleClass } from './nest-scramble.module-definition';
|
|
3
4
|
export interface NestScrambleOptions {
|
|
4
5
|
path?: string;
|
|
5
6
|
enableMock?: boolean;
|
|
@@ -20,13 +21,16 @@ export interface NestScrambleOptions {
|
|
|
20
21
|
watchDebounce?: number;
|
|
21
22
|
skipDependencyTracking?: boolean;
|
|
22
23
|
enableHashCollisionDetection?: boolean;
|
|
24
|
+
defaultAuthType?: 'bearer' | 'apiKey' | 'none';
|
|
25
|
+
enableApiVersioning?: boolean;
|
|
23
26
|
}
|
|
24
|
-
export declare class NestScrambleModule implements OnModuleInit {
|
|
27
|
+
export declare class NestScrambleModule extends ConfigurableModuleClass implements OnModuleInit {
|
|
28
|
+
private readonly options;
|
|
25
29
|
private static moduleOptions;
|
|
30
|
+
constructor(options: NestScrambleOptions);
|
|
26
31
|
onModuleInit(): void;
|
|
27
32
|
private displayDashboard;
|
|
28
33
|
static forRoot(options?: NestScrambleOptions): DynamicModule;
|
|
29
|
-
static forRootAsync(options?: NestScrambleOptions): DynamicModule;
|
|
30
34
|
configure(consumer: MiddlewareConsumer): void;
|
|
31
35
|
}
|
|
32
36
|
//# sourceMappingURL=NestScrambleModule.d.ts.map
|
|
@@ -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,
|
|
1
|
+
{"version":3,"file":"NestScrambleModule.d.ts","sourceRoot":"","sources":["../src/NestScrambleModule.ts"],"names":[],"mappings":"AAAA,kEAAkE;AAClE,OAAO,EAAE,aAAa,EAAE,kBAAkB,EAAU,YAAY,EAAyB,MAAM,gBAAgB,CAAC;AAChH,OAAO,EAAE,uBAAuB,EAAwB,MAAM,mCAAmC,CAAC;AAUlG,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;IACjC,sBAAsB,CAAC,EAAE,OAAO,CAAC;IACjC,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,aAAa,CAAC,EAAE,KAAK,GAAG,QAAQ,CAAC;IACjC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,sBAAsB,CAAC,EAAE,OAAO,CAAC;IACjC,4BAA4B,CAAC,EAAE,OAAO,CAAC;IACvC,eAAe,CAAC,EAAE,QAAQ,GAAG,QAAQ,GAAG,MAAM,CAAC;IAC/C,mBAAmB,CAAC,EAAE,OAAO,CAAC;CAC/B;AAED,qBACa,kBAAmB,SAAQ,uBAAwB,YAAW,YAAY;IAKnF,OAAO,CAAC,QAAQ,CAAC,OAAO;IAJ1B,OAAO,CAAC,MAAM,CAAC,aAAa,CAA2B;gBAIpC,OAAO,EAAE,mBAAmB;IAM/C,YAAY;IAIZ,OAAO,CAAC,gBAAgB;IAsCxB,MAAM,CAAC,OAAO,CAAC,OAAO,GAAE,mBAAwB,GAAG,aAAa;IAqHhE,SAAS,CAAC,QAAQ,EAAE,kBAAkB;CAKvC"}
|
|
@@ -5,11 +5,18 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
|
|
|
5
5
|
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
6
6
|
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
7
|
};
|
|
8
|
+
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
9
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
10
|
+
};
|
|
11
|
+
var __param = (this && this.__param) || function (paramIndex, decorator) {
|
|
12
|
+
return function (target, key) { decorator(target, key, paramIndex); }
|
|
13
|
+
};
|
|
8
14
|
var NestScrambleModule_1;
|
|
9
15
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
10
16
|
exports.NestScrambleModule = void 0;
|
|
11
17
|
/** Nest-Scramble | Developed by Mohamed Mustafa | MIT License **/
|
|
12
18
|
const common_1 = require("@nestjs/common");
|
|
19
|
+
const nest_scramble_module_definition_1 = require("./nest-scramble.module-definition");
|
|
13
20
|
const PostmanCollectionGenerator_1 = require("./generators/PostmanCollectionGenerator");
|
|
14
21
|
const MockMiddleware_1 = require("./middleware/MockMiddleware");
|
|
15
22
|
const ScannerService_1 = require("./scanner/ScannerService");
|
|
@@ -18,7 +25,12 @@ const MockGenerator_1 = require("./utils/MockGenerator");
|
|
|
18
25
|
const OpenApiTransformer_1 = require("./utils/OpenApiTransformer");
|
|
19
26
|
const DocsController_1 = require("./controllers/DocsController");
|
|
20
27
|
const AutoDetector_1 = require("./utils/AutoDetector");
|
|
21
|
-
let NestScrambleModule = NestScrambleModule_1 = class NestScrambleModule {
|
|
28
|
+
let NestScrambleModule = NestScrambleModule_1 = class NestScrambleModule extends nest_scramble_module_definition_1.ConfigurableModuleClass {
|
|
29
|
+
constructor(options) {
|
|
30
|
+
super();
|
|
31
|
+
this.options = options;
|
|
32
|
+
NestScrambleModule_1.moduleOptions = options;
|
|
33
|
+
}
|
|
22
34
|
onModuleInit() {
|
|
23
35
|
this.displayDashboard();
|
|
24
36
|
}
|
|
@@ -60,7 +72,6 @@ let NestScrambleModule = NestScrambleModule_1 = class NestScrambleModule {
|
|
|
60
72
|
static forRoot(options = {}) {
|
|
61
73
|
// Auto-detect project structure
|
|
62
74
|
const projectStructure = AutoDetector_1.AutoDetector.detectProjectStructure();
|
|
63
|
-
// Smart defaults with auto-detection
|
|
64
75
|
const config = {
|
|
65
76
|
path: options.path || '/docs',
|
|
66
77
|
enableMock: options.enableMock !== undefined ? options.enableMock : true,
|
|
@@ -73,29 +84,25 @@ let NestScrambleModule = NestScrambleModule_1 = class NestScrambleModule {
|
|
|
73
84
|
customDomainIcon: options.customDomainIcon || '',
|
|
74
85
|
primaryColor: options.primaryColor || '#00f2ff',
|
|
75
86
|
theme: options.theme || 'futuristic',
|
|
76
|
-
// 🆕 Incremental Scanning Options
|
|
77
87
|
useIncrementalScanning: options.useIncrementalScanning || false,
|
|
78
88
|
cacheFilePath: options.cacheFilePath || 'scramble-cache.json',
|
|
79
89
|
hashAlgorithm: options.hashAlgorithm || 'md5',
|
|
80
|
-
cacheTtl: options.cacheTtl || 24 * 60 * 60 * 1000,
|
|
81
|
-
// 🆕 Watch Mode Options
|
|
90
|
+
cacheTtl: options.cacheTtl || 24 * 60 * 60 * 1000,
|
|
82
91
|
enableWatchMode: options.enableWatchMode || false,
|
|
83
92
|
watchDebounce: options.watchDebounce || 300,
|
|
84
|
-
// 🆕 Advanced Options
|
|
85
93
|
skipDependencyTracking: options.skipDependencyTracking || false,
|
|
86
94
|
enableHashCollisionDetection: options.enableHashCollisionDetection !== false,
|
|
87
95
|
};
|
|
88
|
-
// Store for dashboard display
|
|
89
96
|
NestScrambleModule_1.moduleOptions = config;
|
|
90
97
|
console.log(`\n${'='.repeat(60)}`);
|
|
91
98
|
console.log(`🚀 [Nest-Scramble] Zero-Config Auto-Detection Engine`);
|
|
92
99
|
console.log(` Developed by Mohamed Mustafa | MIT License`);
|
|
100
|
+
console.log(` NestJS 10 & 11 | Node.js 18.10+ | TypeScript 5+`);
|
|
93
101
|
console.log(`${'='.repeat(60)}`);
|
|
94
102
|
console.log(`\n[Nest-Scramble] 🔍 Auto-detected project structure:`);
|
|
95
103
|
console.log(` Root: ${projectStructure.rootPath}`);
|
|
96
104
|
console.log(` Source: ${config.sourcePath}`);
|
|
97
105
|
console.log(` Config: ${projectStructure.tsConfigPath}`);
|
|
98
|
-
// Use IncrementalScannerService if enabled
|
|
99
106
|
let scanner;
|
|
100
107
|
let controllers;
|
|
101
108
|
if (config.useIncrementalScanning) {
|
|
@@ -107,10 +114,8 @@ let NestScrambleModule = NestScrambleModule_1 = class NestScrambleModule {
|
|
|
107
114
|
cacheTtl: config.cacheTtl,
|
|
108
115
|
skipDependencyTracking: config.skipDependencyTracking,
|
|
109
116
|
});
|
|
110
|
-
// Initialize and scan
|
|
111
117
|
scanner.initialize(config.sourcePath);
|
|
112
118
|
controllers = scanner.scanControllers(config.sourcePath);
|
|
113
|
-
// Show cache stats
|
|
114
119
|
const cacheStats = scanner.getCacheManager().getStats();
|
|
115
120
|
console.log(`[Nest-Scramble] 📊 Cache: ${cacheStats.controllerCount} controllers, ${cacheStats.hashAlgorithm} algorithm`);
|
|
116
121
|
}
|
|
@@ -130,9 +135,13 @@ let NestScrambleModule = NestScrambleModule_1 = class NestScrambleModule {
|
|
|
130
135
|
require('fs').writeFileSync(config.postmanOutputPath, JSON.stringify(collection, null, 2));
|
|
131
136
|
console.log(`[Nest-Scramble] ✓ Postman collection exported to ${config.postmanOutputPath}`);
|
|
132
137
|
}
|
|
138
|
+
// Get the base module from ConfigurableModuleBuilder
|
|
139
|
+
const baseModule = super.forRoot(config);
|
|
140
|
+
// Merge with our custom providers and controllers
|
|
133
141
|
return {
|
|
134
|
-
|
|
142
|
+
...baseModule,
|
|
135
143
|
providers: [
|
|
144
|
+
...(baseModule.providers || []),
|
|
136
145
|
ScannerService_1.ScannerService,
|
|
137
146
|
IncrementalScannerService_1.IncrementalScannerService,
|
|
138
147
|
PostmanCollectionGenerator_1.PostmanCollectionGenerator,
|
|
@@ -151,17 +160,17 @@ let NestScrambleModule = NestScrambleModule_1 = class NestScrambleModule {
|
|
|
151
160
|
useValue: config,
|
|
152
161
|
},
|
|
153
162
|
],
|
|
154
|
-
exports: [
|
|
163
|
+
exports: [
|
|
164
|
+
...(baseModule.exports || []),
|
|
165
|
+
ScannerService_1.ScannerService,
|
|
166
|
+
IncrementalScannerService_1.IncrementalScannerService,
|
|
167
|
+
PostmanCollectionGenerator_1.PostmanCollectionGenerator,
|
|
168
|
+
OpenApiTransformer_1.OpenApiTransformer,
|
|
169
|
+
],
|
|
155
170
|
controllers: [DocsController_1.DocsController],
|
|
156
|
-
imports: [],
|
|
157
171
|
};
|
|
158
172
|
}
|
|
159
|
-
static forRootAsync(options = {}) {
|
|
160
|
-
// Similar to forRoot but with async providers if needed
|
|
161
|
-
return this.forRoot(options);
|
|
162
|
-
}
|
|
163
173
|
configure(consumer) {
|
|
164
|
-
// Apply mock middleware if enabled
|
|
165
174
|
consumer
|
|
166
175
|
.apply(MockMiddleware_1.MockMiddleware)
|
|
167
176
|
.forRoutes({ path: 'scramble-mock/*', method: common_1.RequestMethod.ALL });
|
|
@@ -170,6 +179,8 @@ let NestScrambleModule = NestScrambleModule_1 = class NestScrambleModule {
|
|
|
170
179
|
exports.NestScrambleModule = NestScrambleModule;
|
|
171
180
|
NestScrambleModule.moduleOptions = {};
|
|
172
181
|
exports.NestScrambleModule = NestScrambleModule = NestScrambleModule_1 = __decorate([
|
|
173
|
-
(0, common_1.Module)({})
|
|
182
|
+
(0, common_1.Module)({}),
|
|
183
|
+
__param(0, (0, common_1.Inject)(nest_scramble_module_definition_1.MODULE_OPTIONS_TOKEN)),
|
|
184
|
+
__metadata("design:paramtypes", [Object])
|
|
174
185
|
], NestScrambleModule);
|
|
175
186
|
//# sourceMappingURL=NestScrambleModule.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NestScrambleModule.js","sourceRoot":"","sources":["../src/NestScrambleModule.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"NestScrambleModule.js","sourceRoot":"","sources":["../src/NestScrambleModule.ts"],"names":[],"mappings":"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"}
|
|
@@ -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;IACnB,OAAO,CAAC,OAAO;gBADP,WAAW,EAAE,GAAG,EAChB,OAAO,EAAE,GAAG;IAIvD,OAAO,CAAQ,GAAG,EAAE,GAAG;
|
|
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;IACnB,OAAO,CAAC,OAAO;gBADP,WAAW,EAAE,GAAG,EAChB,OAAO,EAAE,GAAG;IAIvD,OAAO,CAAQ,GAAG,EAAE,GAAG;IAwFvB,cAAc,CAAQ,GAAG,EAAE,GAAG;IAa9B,oBAAoB,CAAQ,GAAG,EAAE,GAAG;IAKpC,cAAc;CAGf"}
|
|
@@ -88,8 +88,21 @@ let DocsController = class DocsController {
|
|
|
88
88
|
</style>
|
|
89
89
|
</head>
|
|
90
90
|
<body>
|
|
91
|
-
<
|
|
91
|
+
<div id="api-reference"></div>
|
|
92
92
|
<script src="https://cdn.jsdelivr.net/npm/@scalar/api-reference"></script>
|
|
93
|
+
<script>
|
|
94
|
+
Scalar.createApiReference('#api-reference', {
|
|
95
|
+
url: '/docs-json',
|
|
96
|
+
defaultOpenFirstTag: false,
|
|
97
|
+
defaultOpenAllTags: false,
|
|
98
|
+
hideModels: true,
|
|
99
|
+
operationTitleSource: 'path',
|
|
100
|
+
tagsSorter: 'alpha',
|
|
101
|
+
operationsSorter: 'method',
|
|
102
|
+
theme: 'default',
|
|
103
|
+
withDefaultFonts: false,
|
|
104
|
+
});
|
|
105
|
+
</script>
|
|
93
106
|
</body>
|
|
94
107
|
</html>`;
|
|
95
108
|
res.setHeader('Content-Type', 'text/html; charset=utf-8');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DocsController.js","sourceRoot":"","sources":["../../src/controllers/DocsController.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,kEAAkE;AAClE,2CAA2E;AAE9D,QAAA,aAAa,GAAG,UAAU,CAAC;AACjC,MAAM,MAAM,GAAG,GAAG,EAAE,CAAC,IAAA,oBAAW,EAAC,qBAAa,EAAE,IAAI,CAAC,CAAC;AAAhD,QAAA,MAAM,UAA0C;AAItD,IAAM,cAAc,GAApB,MAAM,cAAc;IACzB,YAC2C,WAAgB,EAChB,OAAY;QADZ,gBAAW,GAAX,WAAW,CAAK;QAChB,YAAO,GAAP,OAAO,CAAK;IACpD,CAAC;IAGJ,OAAO,CAAQ,GAAQ;QACrB,MAAM,YAAY,GAAG,IAAI,CAAC,OAAO,EAAE,YAAY,IAAI,SAAS,CAAC;QAC7D,MAAM,IAAI,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;+BA4Bc,YAAY;;;;oCAIP,YAAY;;;;;;;+BAOjB,YAAY;;;;oCAIP,YAAY
|
|
1
|
+
{"version":3,"file":"DocsController.js","sourceRoot":"","sources":["../../src/controllers/DocsController.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,kEAAkE;AAClE,2CAA2E;AAE9D,QAAA,aAAa,GAAG,UAAU,CAAC;AACjC,MAAM,MAAM,GAAG,GAAG,EAAE,CAAC,IAAA,oBAAW,EAAC,qBAAa,EAAE,IAAI,CAAC,CAAC;AAAhD,QAAA,MAAM,UAA0C;AAItD,IAAM,cAAc,GAApB,MAAM,cAAc;IACzB,YAC2C,WAAgB,EAChB,OAAY;QADZ,gBAAW,GAAX,WAAW,CAAK;QAChB,YAAO,GAAP,OAAO,CAAK;IACpD,CAAC;IAGJ,OAAO,CAAQ,GAAQ;QACrB,MAAM,YAAY,GAAG,IAAI,CAAC,OAAO,EAAE,YAAY,IAAI,SAAS,CAAC;QAC7D,MAAM,IAAI,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;+BA4Bc,YAAY;;;;oCAIP,YAAY;;;;;;;+BAOjB,YAAY;;;;oCAIP,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;QAoCxC,CAAC;QAEL,GAAG,CAAC,SAAS,CAAC,cAAc,EAAE,0BAA0B,CAAC,CAAC;QAC1D,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACjB,CAAC;IAGD,cAAc,CAAQ,GAAQ;QAC5B,IAAI,CAAC;YACH,MAAM,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;YAC7D,GAAG,CAAC,SAAS,CAAC,cAAc,EAAE,iCAAiC,CAAC,CAAC;YACjE,GAAG,CAAC,SAAS,CAAC,6BAA6B,EAAE,GAAG,CAAC,CAAC;YAClD,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QACvB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,iDAAiD,EAAE,KAAK,CAAC,CAAC;YACxE,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,0CAA0C,EAAE,CAAC,CAAC;QAC9E,CAAC;IACH,CAAC;IAGD,oBAAoB,CAAQ,GAAQ;QAClC,OAAO,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC;IAClC,CAAC;IAGD,cAAc;QACZ,OAAO,IAAI,CAAC,WAAW,CAAC;IAC1B,CAAC;CACF,CAAA;AApHY,wCAAc;AAOzB;IADC,IAAA,YAAG,EAAC,MAAM,CAAC;IACH,WAAA,IAAA,YAAG,GAAE,CAAA;;;;6CAqFb;AAGD;IADC,IAAA,YAAG,EAAC,WAAW,CAAC;IACD,WAAA,IAAA,YAAG,GAAE,CAAA;;;;oDAUpB;AAGD;IADC,IAAA,YAAG,EAAC,WAAW,CAAC;IACK,WAAA,IAAA,YAAG,GAAE,CAAA;;;;0DAE1B;AAGD;IADC,IAAA,YAAG,EAAC,WAAW,CAAC;;;;oDAGhB;yBAnHU,cAAc;IAF1B,IAAA,mBAAU,GAAE;IACZ,IAAA,cAAM,GAAE;IAGJ,WAAA,IAAA,eAAM,EAAC,uBAAuB,CAAC,CAAA;IAC/B,WAAA,IAAA,eAAM,EAAC,uBAAuB,CAAC,CAAA;;GAHvB,cAAc,CAoH1B"}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
/** Nest-Scramble | Developed by Mohamed Mustafa | MIT License **/
|
|
2
2
|
export * from './generators/PostmanCollectionGenerator';
|
|
3
3
|
export * from './NestScrambleModule';
|
|
4
|
+
export * from './nest-scramble.module-definition';
|
|
4
5
|
export * from './scanner/ScannerService';
|
|
5
6
|
export { IncrementalScannerService, ScanOptions } from './scanner/IncrementalScannerService';
|
|
6
7
|
export * from './cache/CacheManager';
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,kEAAkE;AAClE,cAAc,yCAAyC,CAAC;AACxD,cAAc,sBAAsB,CAAC;AACrC,cAAc,0BAA0B,CAAC;AACzC,OAAO,EAAE,yBAAyB,EAAE,WAAW,EAAE,MAAM,qCAAqC,CAAC;AAC7F,cAAc,sBAAsB,CAAC;AACrC,cAAc,uBAAuB,CAAC;AACtC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,qBAAqB,CAAC;AACpC,cAAc,uBAAuB,CAAC;AACtC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,sBAAsB,CAAC;AACrC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,8BAA8B,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,kEAAkE;AAClE,cAAc,yCAAyC,CAAC;AACxD,cAAc,sBAAsB,CAAC;AACrC,cAAc,mCAAmC,CAAC;AAClD,cAAc,0BAA0B,CAAC;AACzC,OAAO,EAAE,yBAAyB,EAAE,WAAW,EAAE,MAAM,qCAAqC,CAAC;AAC7F,cAAc,sBAAsB,CAAC;AACrC,cAAc,uBAAuB,CAAC;AACtC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,qBAAqB,CAAC;AACpC,cAAc,uBAAuB,CAAC;AACtC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,sBAAsB,CAAC;AACrC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,8BAA8B,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -18,6 +18,7 @@ exports.IncrementalScannerService = void 0;
|
|
|
18
18
|
/** Nest-Scramble | Developed by Mohamed Mustafa | MIT License **/
|
|
19
19
|
__exportStar(require("./generators/PostmanCollectionGenerator"), exports);
|
|
20
20
|
__exportStar(require("./NestScrambleModule"), exports);
|
|
21
|
+
__exportStar(require("./nest-scramble.module-definition"), exports);
|
|
21
22
|
__exportStar(require("./scanner/ScannerService"), exports);
|
|
22
23
|
var IncrementalScannerService_1 = require("./scanner/IncrementalScannerService");
|
|
23
24
|
Object.defineProperty(exports, "IncrementalScannerService", { enumerable: true, get: function () { return IncrementalScannerService_1.IncrementalScannerService; } });
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,kEAAkE;AAClE,0EAAwD;AACxD,uDAAqC;AACrC,2DAAyC;AACzC,iFAA6F;AAApF,sIAAA,yBAAyB,OAAA;AAClC,uDAAqC;AACrC,wDAAsC;AACtC,6DAA2C;AAC3C,8DAA4C;AAC5C,sDAAoC;AACpC,wDAAsC;AACtC,6DAA2C;AAC3C,uDAAqC;AACrC,8DAA4C;AAC5C,+DAA6C"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,kEAAkE;AAClE,0EAAwD;AACxD,uDAAqC;AACrC,oEAAkD;AAClD,2DAAyC;AACzC,iFAA6F;AAApF,sIAAA,yBAAyB,OAAA;AAClC,uDAAqC;AACrC,wDAAsC;AACtC,6DAA2C;AAC3C,8DAA4C;AAC5C,sDAAoC;AACpC,wDAAsC;AACtC,6DAA2C;AAC3C,uDAAqC;AACrC,8DAA4C;AAC5C,+DAA6C"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { NestScrambleOptions } from './NestScrambleModule';
|
|
2
|
+
/**
|
|
3
|
+
* Modern NestJS 10+ ConfigurableModuleBuilder approach
|
|
4
|
+
* This provides type-safe module configuration with better DX
|
|
5
|
+
*/
|
|
6
|
+
export declare const ConfigurableModuleClass: import("@nestjs/common").ConfigurableModuleCls<NestScrambleOptions, "forRoot", "createNestScrambleOptions", {}>, MODULE_OPTIONS_TOKEN: string | symbol, OPTIONS_TYPE: NestScrambleOptions & Partial<{}>, ASYNC_OPTIONS_TYPE: import("@nestjs/common").ConfigurableModuleAsyncOptions<NestScrambleOptions, "createNestScrambleOptions"> & Partial<{}>;
|
|
7
|
+
export type NestScrambleModuleOptions = typeof OPTIONS_TYPE;
|
|
8
|
+
export type NestScrambleModuleAsyncOptions = typeof ASYNC_OPTIONS_TYPE;
|
|
9
|
+
//# sourceMappingURL=nest-scramble.module-definition.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"nest-scramble.module-definition.d.ts","sourceRoot":"","sources":["../src/nest-scramble.module-definition.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAE3D;;;GAGG;AACH,eAAO,MAAQ,uBAAuB,mHAAE,oBAAoB,mBAAE,YAAY,qCAAE,kBAAkB,yHAMlF,CAAC;AAEb,MAAM,MAAM,yBAAyB,GAAG,OAAO,YAAY,CAAC;AAC5D,MAAM,MAAM,8BAA8B,GAAG,OAAO,kBAAkB,CAAC"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var _a;
|
|
3
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
|
+
exports.ASYNC_OPTIONS_TYPE = exports.OPTIONS_TYPE = exports.MODULE_OPTIONS_TOKEN = exports.ConfigurableModuleClass = void 0;
|
|
5
|
+
/** Nest-Scramble | Developed by Mohamed Mustafa | MIT License **/
|
|
6
|
+
const common_1 = require("@nestjs/common");
|
|
7
|
+
/**
|
|
8
|
+
* Modern NestJS 10+ ConfigurableModuleBuilder approach
|
|
9
|
+
* This provides type-safe module configuration with better DX
|
|
10
|
+
*/
|
|
11
|
+
_a = new common_1.ConfigurableModuleBuilder({
|
|
12
|
+
moduleName: 'NestScramble',
|
|
13
|
+
})
|
|
14
|
+
.setClassMethodName('forRoot')
|
|
15
|
+
.setFactoryMethodName('createNestScrambleOptions')
|
|
16
|
+
.build(), exports.ConfigurableModuleClass = _a.ConfigurableModuleClass, exports.MODULE_OPTIONS_TOKEN = _a.MODULE_OPTIONS_TOKEN, exports.OPTIONS_TYPE = _a.OPTIONS_TYPE, exports.ASYNC_OPTIONS_TYPE = _a.ASYNC_OPTIONS_TYPE;
|
|
17
|
+
//# sourceMappingURL=nest-scramble.module-definition.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"nest-scramble.module-definition.js","sourceRoot":"","sources":["../src/nest-scramble.module-definition.ts"],"names":[],"mappings":";;;;AAAA,kEAAkE;AAClE,2CAA2D;AAG3D;;;GAGG;AACU,KACX,IAAI,kCAAyB,CAAsB;IACjD,UAAU,EAAE,cAAc;CAC3B,CAAC;KACC,kBAAkB,CAAC,SAAS,CAAC;KAC7B,oBAAoB,CAAC,2BAA2B,CAAC;KACjD,KAAK,EAAE,EANG,+BAAuB,+BAAE,4BAAoB,4BAAE,oBAAY,oBAAE,0BAAkB,yBAMjF"}
|
|
@@ -9,6 +9,9 @@ export interface ControllerInfo {
|
|
|
9
9
|
path: string;
|
|
10
10
|
methods: MethodInfo[];
|
|
11
11
|
hasGuards?: boolean;
|
|
12
|
+
version?: string | string[];
|
|
13
|
+
guardTypes?: string[];
|
|
14
|
+
isPublic?: boolean;
|
|
12
15
|
filePath?: string;
|
|
13
16
|
}
|
|
14
17
|
export interface MethodInfo {
|
|
@@ -18,6 +21,9 @@ export interface MethodInfo {
|
|
|
18
21
|
parameters: ParameterInfo[];
|
|
19
22
|
returnType: AnalyzedType;
|
|
20
23
|
hasGuards?: boolean;
|
|
24
|
+
version?: string | string[];
|
|
25
|
+
guardTypes?: string[];
|
|
26
|
+
isPublic?: boolean;
|
|
21
27
|
}
|
|
22
28
|
export interface ParameterInfo {
|
|
23
29
|
name: string;
|
|
@@ -93,5 +99,8 @@ export declare class IncrementalScannerService {
|
|
|
93
99
|
private extractControllerInfo;
|
|
94
100
|
private extractDecoratorArgument;
|
|
95
101
|
private extractMethodInfo;
|
|
102
|
+
private extractVersionDecorator;
|
|
103
|
+
private extractGuardTypes;
|
|
104
|
+
private isPublicDecorator;
|
|
96
105
|
}
|
|
97
106
|
//# sourceMappingURL=IncrementalScannerService.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"IncrementalScannerService.d.ts","sourceRoot":"","sources":["../../src/scanner/IncrementalScannerService.ts"],"names":[],"mappings":"AAAA,kEAAkE;AAClE,OAAO,EAAwD,OAAO,EAAc,MAAM,UAAU,CAAC;AACrG,OAAO,EAAE,YAAY,EAAe,MAAM,sBAAsB,CAAC;AACjE,OAAO,EAAE,YAAY,EAAoB,MAAM,uBAAuB,CAAC;AACvE,OAAO,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AACjE,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAIzD,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,UAAU,EAAE,CAAC;IACtB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,aAAa,EAAE,CAAC;IAC5B,UAAU,EAAE,YAAY,CAAC;IACzB,SAAS,CAAC,EAAE,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"IncrementalScannerService.d.ts","sourceRoot":"","sources":["../../src/scanner/IncrementalScannerService.ts"],"names":[],"mappings":"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"}
|
|
@@ -332,13 +332,10 @@ class IncrementalScannerService {
|
|
|
332
332
|
if (!controllerDecorator)
|
|
333
333
|
return null;
|
|
334
334
|
const controllerPath = this.extractDecoratorArgument(controllerDecorator) || '';
|
|
335
|
-
const
|
|
336
|
-
|
|
337
|
-
|
|
338
|
-
|
|
339
|
-
const expression = callExpression.getExpression();
|
|
340
|
-
return ts_morph_1.Node.isIdentifier(expression) && expression.getText() === 'UseGuards';
|
|
341
|
-
});
|
|
335
|
+
const version = this.extractVersionDecorator(cls);
|
|
336
|
+
const guardTypes = this.extractGuardTypes(cls);
|
|
337
|
+
const hasGuards = guardTypes.length > 0;
|
|
338
|
+
const isPublic = this.isPublicDecorator(cls);
|
|
342
339
|
const methods = [];
|
|
343
340
|
for (const method of cls.getMethods()) {
|
|
344
341
|
const methodInfo = this.extractMethodInfo(method);
|
|
@@ -351,6 +348,9 @@ class IncrementalScannerService {
|
|
|
351
348
|
path: controllerPath,
|
|
352
349
|
methods,
|
|
353
350
|
hasGuards,
|
|
351
|
+
version,
|
|
352
|
+
guardTypes,
|
|
353
|
+
isPublic,
|
|
354
354
|
};
|
|
355
355
|
}
|
|
356
356
|
extractDecoratorArgument(decorator) {
|
|
@@ -383,13 +383,10 @@ class IncrementalScannerService {
|
|
|
383
383
|
const expression = callExpression.getExpression();
|
|
384
384
|
const httpMethod = expression.getText().toUpperCase();
|
|
385
385
|
const route = this.extractDecoratorArgument(httpDecorator) || '';
|
|
386
|
-
const
|
|
387
|
-
|
|
388
|
-
|
|
389
|
-
|
|
390
|
-
const expression = callExpression.getExpression();
|
|
391
|
-
return ts_morph_1.Node.isIdentifier(expression) && expression.getText() === 'UseGuards';
|
|
392
|
-
});
|
|
386
|
+
const version = this.extractVersionDecorator(method);
|
|
387
|
+
const guardTypes = this.extractGuardTypes(method);
|
|
388
|
+
const hasGuards = guardTypes.length > 0;
|
|
389
|
+
const isPublic = this.isPublicDecorator(method);
|
|
393
390
|
const parameters = method.getParameters().map(param => {
|
|
394
391
|
const decoratorText = param.getDecorators().map(d => d.getText()).join(' ');
|
|
395
392
|
let parameterLocation;
|
|
@@ -420,8 +417,101 @@ class IncrementalScannerService {
|
|
|
420
417
|
parameters,
|
|
421
418
|
returnType,
|
|
422
419
|
hasGuards,
|
|
420
|
+
version,
|
|
421
|
+
guardTypes,
|
|
422
|
+
isPublic,
|
|
423
423
|
};
|
|
424
424
|
}
|
|
425
|
+
extractVersionDecorator(node) {
|
|
426
|
+
const versionDecorator = node.getDecorators().find(decorator => {
|
|
427
|
+
const callExpression = decorator.getCallExpression();
|
|
428
|
+
if (!callExpression)
|
|
429
|
+
return false;
|
|
430
|
+
const expression = callExpression.getExpression();
|
|
431
|
+
return ts_morph_1.Node.isIdentifier(expression) && expression.getText() === 'Version';
|
|
432
|
+
});
|
|
433
|
+
if (!versionDecorator)
|
|
434
|
+
return undefined;
|
|
435
|
+
const callExpression = versionDecorator.getCallExpression();
|
|
436
|
+
if (!callExpression)
|
|
437
|
+
return undefined;
|
|
438
|
+
const args = callExpression.getArguments();
|
|
439
|
+
if (args.length === 0)
|
|
440
|
+
return undefined;
|
|
441
|
+
const firstArg = args[0];
|
|
442
|
+
if (ts_morph_1.Node.isStringLiteral(firstArg)) {
|
|
443
|
+
return firstArg.getLiteralValue();
|
|
444
|
+
}
|
|
445
|
+
if (ts_morph_1.Node.isArrayLiteralExpression(firstArg)) {
|
|
446
|
+
const versions = [];
|
|
447
|
+
for (const element of firstArg.getElements()) {
|
|
448
|
+
if (ts_morph_1.Node.isStringLiteral(element)) {
|
|
449
|
+
versions.push(element.getLiteralValue());
|
|
450
|
+
}
|
|
451
|
+
}
|
|
452
|
+
return versions.length > 0 ? versions : undefined;
|
|
453
|
+
}
|
|
454
|
+
return undefined;
|
|
455
|
+
}
|
|
456
|
+
extractGuardTypes(node) {
|
|
457
|
+
const guardTypes = [];
|
|
458
|
+
const useGuardsDecorators = node.getDecorators().filter(decorator => {
|
|
459
|
+
const callExpression = decorator.getCallExpression();
|
|
460
|
+
if (!callExpression)
|
|
461
|
+
return false;
|
|
462
|
+
const expression = callExpression.getExpression();
|
|
463
|
+
return ts_morph_1.Node.isIdentifier(expression) && expression.getText() === 'UseGuards';
|
|
464
|
+
});
|
|
465
|
+
for (const decorator of useGuardsDecorators) {
|
|
466
|
+
const callExpression = decorator.getCallExpression();
|
|
467
|
+
if (!callExpression)
|
|
468
|
+
continue;
|
|
469
|
+
const args = callExpression.getArguments();
|
|
470
|
+
for (const arg of args) {
|
|
471
|
+
if (ts_morph_1.Node.isIdentifier(arg)) {
|
|
472
|
+
guardTypes.push(arg.getText());
|
|
473
|
+
}
|
|
474
|
+
else if (ts_morph_1.Node.isCallExpression(arg)) {
|
|
475
|
+
const expr = arg.getExpression();
|
|
476
|
+
if (ts_morph_1.Node.isIdentifier(expr) && expr.getText() === 'AuthGuard') {
|
|
477
|
+
const guardArgs = arg.getArguments();
|
|
478
|
+
if (guardArgs.length > 0 && ts_morph_1.Node.isStringLiteral(guardArgs[0])) {
|
|
479
|
+
const strategy = guardArgs[0].getLiteralValue();
|
|
480
|
+
guardTypes.push(`AuthGuard(${strategy})`);
|
|
481
|
+
}
|
|
482
|
+
else {
|
|
483
|
+
guardTypes.push('AuthGuard');
|
|
484
|
+
}
|
|
485
|
+
}
|
|
486
|
+
}
|
|
487
|
+
}
|
|
488
|
+
}
|
|
489
|
+
return guardTypes;
|
|
490
|
+
}
|
|
491
|
+
isPublicDecorator(node) {
|
|
492
|
+
return node.getDecorators().some(decorator => {
|
|
493
|
+
const callExpression = decorator.getCallExpression();
|
|
494
|
+
if (!callExpression)
|
|
495
|
+
return false;
|
|
496
|
+
const expression = callExpression.getExpression();
|
|
497
|
+
if (ts_morph_1.Node.isIdentifier(expression) && expression.getText() === 'Public') {
|
|
498
|
+
return true;
|
|
499
|
+
}
|
|
500
|
+
if (ts_morph_1.Node.isIdentifier(expression) && expression.getText() === 'SetMetadata') {
|
|
501
|
+
const args = callExpression.getArguments();
|
|
502
|
+
if (args.length >= 2) {
|
|
503
|
+
const firstArg = args[0];
|
|
504
|
+
const secondArg = args[1];
|
|
505
|
+
if (ts_morph_1.Node.isStringLiteral(firstArg) && firstArg.getLiteralValue() === 'isPublic') {
|
|
506
|
+
if (secondArg.getText() === 'true') {
|
|
507
|
+
return true;
|
|
508
|
+
}
|
|
509
|
+
}
|
|
510
|
+
}
|
|
511
|
+
}
|
|
512
|
+
return false;
|
|
513
|
+
});
|
|
514
|
+
}
|
|
425
515
|
}
|
|
426
516
|
exports.IncrementalScannerService = IncrementalScannerService;
|
|
427
517
|
//# sourceMappingURL=IncrementalScannerService.js.map
|