@nestia/sdk 3.0.0-dev.20231209 → 3.0.0-dev.20240412
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 +12 -9
- package/assets/config/nestia.config.ts +82 -79
- package/lib/INestiaConfig.d.ts +28 -6
- package/lib/NestiaSdkApplication.js +12 -10
- package/lib/NestiaSdkApplication.js.map +1 -1
- package/lib/analyses/ConfigAnalyzer.js +1 -1
- package/lib/analyses/ConfigAnalyzer.js.map +1 -1
- package/lib/analyses/ControllerAnalyzer.js +30 -15
- package/lib/analyses/ControllerAnalyzer.js.map +1 -1
- package/lib/analyses/ExceptionAnalyzer.js +35 -6
- package/lib/analyses/ExceptionAnalyzer.js.map +1 -1
- package/lib/analyses/ImportAnalyzer.d.ts +1 -2
- package/lib/analyses/ImportAnalyzer.js +2 -2
- package/lib/analyses/ImportAnalyzer.js.map +1 -1
- package/lib/analyses/PathAnalyzer.d.ts +2 -4
- package/lib/analyses/PathAnalyzer.js +27 -11
- package/lib/analyses/PathAnalyzer.js.map +1 -1
- package/lib/analyses/ReflectAnalyzer.js +34 -22
- package/lib/analyses/ReflectAnalyzer.js.map +1 -1
- package/lib/analyses/SecurityAnalyzer.js +13 -8
- package/lib/analyses/SecurityAnalyzer.js.map +1 -1
- package/lib/executable/internal/NestiaConfigLoader.js +300 -220
- package/lib/executable/internal/NestiaConfigLoader.js.map +1 -1
- package/lib/executable/sdk.js +11 -11
- package/lib/generates/CloneGenerator.d.ts +6 -0
- package/lib/generates/CloneGenerator.js +62 -0
- package/lib/generates/CloneGenerator.js.map +1 -0
- package/lib/generates/E2eGenerator.d.ts +2 -1
- package/lib/generates/E2eGenerator.js +2 -2
- package/lib/generates/E2eGenerator.js.map +1 -1
- package/lib/generates/SdkGenerator.js +3 -11
- package/lib/generates/SdkGenerator.js.map +1 -1
- package/lib/generates/SwaggerGenerator.d.ts +2 -0
- package/lib/generates/SwaggerGenerator.js +119 -62
- package/lib/generates/SwaggerGenerator.js.map +1 -1
- package/lib/generates/internal/E2eFileProgrammer.d.ts +2 -1
- package/lib/generates/internal/E2eFileProgrammer.js +49 -53
- package/lib/generates/internal/E2eFileProgrammer.js.map +1 -1
- package/lib/generates/internal/FilePrinter.d.ts +10 -0
- package/lib/generates/internal/FilePrinter.js +46 -0
- package/lib/generates/internal/FilePrinter.js.map +1 -0
- package/lib/{utils → generates/internal}/ImportDictionary.d.ts +2 -1
- package/lib/{utils → generates/internal}/ImportDictionary.js +20 -14
- package/lib/generates/internal/ImportDictionary.js.map +1 -0
- package/lib/generates/internal/SdkAliasCollection.d.ts +12 -0
- package/lib/generates/internal/SdkAliasCollection.js +97 -0
- package/lib/generates/internal/SdkAliasCollection.js.map +1 -0
- package/lib/generates/internal/SdkCloneProgrammer.d.ts +12 -0
- package/lib/generates/internal/SdkCloneProgrammer.js +99 -0
- package/lib/generates/internal/SdkCloneProgrammer.js.map +1 -0
- package/lib/generates/internal/SdkFileProgrammer.d.ts +2 -1
- package/lib/generates/internal/SdkFileProgrammer.js +27 -28
- package/lib/generates/internal/SdkFileProgrammer.js.map +1 -1
- package/lib/generates/internal/SdkFunctionProgrammer.d.ts +7 -2
- package/lib/generates/internal/SdkFunctionProgrammer.js +115 -322
- package/lib/generates/internal/SdkFunctionProgrammer.js.map +1 -1
- package/lib/generates/internal/SdkImportWizard.d.ts +1 -1
- package/lib/generates/internal/SdkNamespaceProgrammer.d.ts +11 -0
- package/lib/generates/internal/SdkNamespaceProgrammer.js +180 -0
- package/lib/generates/internal/SdkNamespaceProgrammer.js.map +1 -0
- package/lib/generates/internal/SdkRouteProgrammer.d.ts +7 -0
- package/lib/generates/internal/SdkRouteProgrammer.js +55 -0
- package/lib/generates/internal/SdkRouteProgrammer.js.map +1 -0
- package/lib/generates/internal/SdkSimulationProgrammer.d.ts +8 -2
- package/lib/generates/internal/SdkSimulationProgrammer.js +103 -89
- package/lib/generates/internal/SdkSimulationProgrammer.js.map +1 -1
- package/lib/generates/internal/SdkTypeProgrammer.d.ts +9 -0
- package/lib/generates/internal/SdkTypeProgrammer.js +228 -0
- package/lib/generates/internal/SdkTypeProgrammer.js.map +1 -0
- package/lib/generates/internal/SwaggerSchemaGenerator.d.ts +4 -4
- package/lib/generates/internal/SwaggerSchemaGenerator.js +30 -28
- package/lib/generates/internal/SwaggerSchemaGenerator.js.map +1 -1
- package/lib/structures/IController.d.ts +4 -2
- package/lib/structures/IRoute.d.ts +5 -4
- package/lib/structures/ISwaggerLazyProperty.d.ts +2 -2
- package/lib/structures/ISwaggerLazySchema.d.ts +2 -2
- package/lib/structures/ParamCategory.d.ts +1 -1
- package/lib/structures/TypeEntry.js +2 -2
- package/lib/structures/TypeEntry.js.map +1 -1
- package/lib/utils/StringUtil.d.ts +3 -0
- package/lib/utils/StringUtil.js +8 -0
- package/lib/utils/StringUtil.js.map +1 -0
- package/package.json +12 -16
- package/src/INestiaConfig.ts +30 -6
- package/src/NestiaSdkApplication.ts +255 -253
- package/src/analyses/AccessorAnalyzer.ts +60 -60
- package/src/analyses/ConfigAnalyzer.ts +147 -147
- package/src/analyses/ControllerAnalyzer.ts +42 -19
- package/src/analyses/ExceptionAnalyzer.ts +148 -115
- package/src/analyses/GenericAnalyzer.ts +51 -51
- package/src/analyses/ImportAnalyzer.ts +1 -2
- package/src/analyses/PathAnalyzer.ts +110 -98
- package/src/analyses/ReflectAnalyzer.ts +39 -35
- package/src/analyses/SecurityAnalyzer.ts +24 -20
- package/src/executable/internal/CommandParser.ts +15 -15
- package/src/executable/internal/NestiaConfigLoader.ts +67 -67
- package/src/executable/internal/NestiaSdkCommand.ts +60 -60
- package/src/executable/sdk.ts +73 -73
- package/src/generates/CloneGenerator.ts +62 -0
- package/src/generates/E2eGenerator.ts +66 -64
- package/src/generates/SdkGenerator.ts +84 -96
- package/src/generates/SwaggerGenerator.ts +145 -53
- package/src/generates/internal/E2eFileProgrammer.ts +182 -123
- package/src/generates/internal/FilePrinter.ts +53 -0
- package/src/{utils → generates/internal}/ImportDictionary.ts +35 -13
- package/src/generates/internal/SdkAliasCollection.ts +152 -0
- package/src/generates/internal/SdkCloneProgrammer.ts +155 -0
- package/src/generates/internal/SdkDistributionComposer.ts +91 -91
- package/src/generates/internal/SdkFileProgrammer.ts +115 -106
- package/src/generates/internal/SdkFunctionProgrammer.ts +298 -518
- package/src/generates/internal/SdkImportWizard.ts +55 -55
- package/src/generates/internal/SdkNamespaceProgrammer.ts +510 -0
- package/src/generates/internal/SdkRouteDirectory.ts +17 -17
- package/src/generates/internal/SdkRouteProgrammer.ts +83 -0
- package/src/generates/internal/SdkSimulationProgrammer.ts +365 -133
- package/src/generates/internal/SdkTypeProgrammer.ts +386 -0
- package/src/generates/internal/SwaggerSchemaGenerator.ts +437 -427
- package/src/generates/internal/SwaggerSchemaValidator.ts +198 -198
- package/src/index.ts +4 -4
- package/src/module.ts +2 -2
- package/src/structures/IController.ts +94 -95
- package/src/structures/IErrorReport.ts +6 -6
- package/src/structures/INestiaProject.ts +13 -13
- package/src/structures/INormalizedInput.ts +20 -20
- package/src/structures/IRoute.ts +53 -53
- package/src/structures/ISwaggerLazyProperty.ts +2 -2
- package/src/structures/ISwaggerLazySchema.ts +2 -2
- package/src/structures/ITypeTuple.ts +6 -6
- package/src/structures/MethodType.ts +5 -5
- package/src/structures/ParamCategory.ts +1 -1
- package/src/structures/TypeEntry.ts +1 -1
- package/src/utils/ArrayUtil.ts +26 -26
- package/src/utils/FileRetriever.ts +22 -22
- package/src/utils/MapUtil.ts +14 -14
- package/src/utils/PathUtil.ts +10 -10
- package/src/utils/SourceFinder.ts +66 -66
- package/src/utils/StringUtil.ts +6 -0
- package/src/utils/StripEnums.ts +5 -5
- package/assets/bundle/api/utils/NestiaSimulator.ts +0 -70
- package/lib/generates/internal/SdkDtoGenerator.d.ts +0 -9
- package/lib/generates/internal/SdkDtoGenerator.js +0 -294
- package/lib/generates/internal/SdkDtoGenerator.js.map +0 -1
- package/lib/generates/internal/SdkTypeDefiner.d.ts +0 -11
- package/lib/generates/internal/SdkTypeDefiner.js +0 -82
- package/lib/generates/internal/SdkTypeDefiner.js.map +0 -1
- package/lib/structures/ISwagger.d.ts +0 -72
- package/lib/structures/ISwagger.js +0 -3
- package/lib/structures/ISwagger.js.map +0 -1
- package/lib/structures/ISwaggerComponents.d.ts +0 -26
- package/lib/structures/ISwaggerComponents.js +0 -3
- package/lib/structures/ISwaggerComponents.js.map +0 -1
- package/lib/structures/ISwaggerInfo.d.ts +0 -71
- package/lib/structures/ISwaggerInfo.js +0 -3
- package/lib/structures/ISwaggerInfo.js.map +0 -1
- package/lib/structures/ISwaggerRoute.d.ts +0 -47
- package/lib/structures/ISwaggerRoute.js +0 -3
- package/lib/structures/ISwaggerRoute.js.map +0 -1
- package/lib/structures/ISwaggerSecurityScheme.d.ts +0 -56
- package/lib/structures/ISwaggerSecurityScheme.js +0 -3
- package/lib/structures/ISwaggerSecurityScheme.js.map +0 -1
- package/lib/utils/ImportDictionary.js.map +0 -1
- package/src/generates/internal/SdkDtoGenerator.ts +0 -424
- package/src/generates/internal/SdkTypeDefiner.ts +0 -119
- package/src/structures/ISwagger.ts +0 -91
- package/src/structures/ISwaggerComponents.ts +0 -29
- package/src/structures/ISwaggerInfo.ts +0 -80
- package/src/structures/ISwaggerRoute.ts +0 -51
- package/src/structures/ISwaggerSecurityScheme.ts +0 -65
package/README.md
CHANGED
|
@@ -2,21 +2,23 @@
|
|
|
2
2
|

|
|
3
3
|
|
|
4
4
|
[](https://github.com/samchon/nestia/blob/master/LICENSE)
|
|
5
|
-
[](https://www.npmjs.com/package/@nestia/fetcher)
|
|
6
|
+
[](https://www.npmjs.com/package/@nestia/fetcher)
|
|
7
7
|
[](https://github.com/samchon/nestia/actions?query=workflow%3Abuild)
|
|
8
8
|
[](https://nestia.io/docs/)
|
|
9
|
+
[](https://discord.com/channels/520622812742811698/1181877086797967420)
|
|
9
10
|
|
|
10
11
|
Nestia is a set of helper libraries for NestJS, supporting below features:
|
|
11
12
|
|
|
12
|
-
- `@nestia/core`:
|
|
13
|
+
- `@nestia/core`: Super-fast decorators
|
|
13
14
|
- `@nestia/sdk`:
|
|
14
15
|
- Swagger generator evolved than ever
|
|
15
16
|
- SDK library generator for clients
|
|
16
17
|
- Mockup Simulator for client applications
|
|
17
18
|
- Automatic E2E test functions generator
|
|
18
|
-
- `@nestia/migrate`:
|
|
19
|
-
-
|
|
19
|
+
- `@nestia/migrate`: Migration from Swagger to NestJS
|
|
20
|
+
- `@nestia/editor`: Online TypeScript Swagger Editor
|
|
21
|
+
- `nestia`: Just CLI (command line interface) tool
|
|
20
22
|
|
|
21
23
|
> **Note**
|
|
22
24
|
>
|
|
@@ -25,8 +27,8 @@ Nestia is a set of helper libraries for NestJS, supporting below features:
|
|
|
25
27
|
> - Runtime validator is **20,000x faster** than `class-validator`
|
|
26
28
|
> - JSON serialization is **200x faster** than `class-transformer`
|
|
27
29
|
> - Software Development Kit
|
|
28
|
-
> -
|
|
29
|
-
> - Mockup simulator means embedded backend simulator in SDK
|
|
30
|
+
> - Collection of typed `fetch` functions with DTO structures like [tRPC](https://trpc.io/)
|
|
31
|
+
> - Mockup simulator means embedded backend simulator in the SDK
|
|
30
32
|
> - similar with [msw](https://mswjs.io/), but fully automated
|
|
31
33
|
|
|
32
34
|

|
|
@@ -59,15 +61,16 @@ Check out the document in the [website](https://nestia.io/docs/):
|
|
|
59
61
|
- [TypedRoute](https://nestia.io/docs/core/TypedRoute/)
|
|
60
62
|
- [TypedBody](https://nestia.io/docs/core/TypedBody/)
|
|
61
63
|
- [TypedParam](https://nestia.io/docs/core/TypedParam/)
|
|
62
|
-
- [TypedQuery](https://nestia.io/docs/core/
|
|
64
|
+
- [TypedQuery](https://nestia.io/docs/core/TypedQuery/)
|
|
63
65
|
- [TypedHeaders](https://nestia.io/docs/core/TypedHeaders/)
|
|
64
66
|
- [TypedException](https://nestia.io/docs/core/TypedException/)
|
|
65
67
|
- Generators
|
|
66
68
|
- [Swagger Documents](https://nestia.io/docs/sdk/swagger/)
|
|
67
|
-
- [
|
|
69
|
+
- [Software Development Kit](https://nestia.io/docs/sdk/sdk/)
|
|
68
70
|
- [E2E Functions](https://nestia.io/docs/sdk/e2e/)
|
|
69
71
|
- [Mockup Simulator](https://nestia.io/docs/sdk/simulator/)
|
|
70
72
|
- [Swagger to NestJS](https://nestia.io/docs/migrate/)
|
|
73
|
+
- [TypeScript Swagger Editor](https://nestia.io/docs/editor/)
|
|
71
74
|
|
|
72
75
|
### 🔗 Appendix
|
|
73
76
|
- [⇲ Benchmark Result](https://github.com/samchon/nestia/tree/master/benchmark/results/11th%20Gen%20Intel(R)%20Core(TM)%20i5-1135G7%20%40%202.40GHz)
|
|
@@ -2,93 +2,96 @@ import { INestiaConfig } from "@nestia/sdk";
|
|
|
2
2
|
import { Module } from "@nestjs/common";
|
|
3
3
|
import { NestFactory } from "@nestjs/core";
|
|
4
4
|
|
|
5
|
+
// import { FastifyAdaptor } from "@nestjs/platform-fastify";
|
|
6
|
+
|
|
5
7
|
export const NESTIA_CONFIG: INestiaConfig = {
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
8
|
+
/**
|
|
9
|
+
* Accessor of controller classes.
|
|
10
|
+
*
|
|
11
|
+
* You can specify it within two ways.
|
|
12
|
+
*
|
|
13
|
+
* - Asynchronous function returning `INestApplication` instance
|
|
14
|
+
* - Specify the path or directory of controller class files
|
|
15
|
+
*/
|
|
16
|
+
// input: "src/controllers",
|
|
17
|
+
// input: "src/**/*.controller.ts",
|
|
18
|
+
input: async () => {
|
|
19
|
+
// change this to your own module
|
|
20
|
+
@Module({
|
|
21
|
+
controllers: [],
|
|
22
|
+
})
|
|
23
|
+
class MyModule {}
|
|
24
|
+
const app = await NestFactory.create(MyModule);
|
|
25
|
+
// const app = await NestFactory.create(YourModule, new FastifyAdaptor());
|
|
26
|
+
// app.setGlobalPrefix("api");
|
|
27
|
+
// app.enableVersioning({
|
|
28
|
+
// type: VersioningType.URI,
|
|
29
|
+
// prefix: "v",
|
|
30
|
+
// })
|
|
31
|
+
return app;
|
|
32
|
+
},
|
|
30
33
|
|
|
34
|
+
/**
|
|
35
|
+
* Building `swagger.json` is also possible.
|
|
36
|
+
*
|
|
37
|
+
* If not specified, you can't build the `swagger.json`.
|
|
38
|
+
*/
|
|
39
|
+
swagger: {
|
|
31
40
|
/**
|
|
32
|
-
*
|
|
41
|
+
* Output path of the `swagger.json`.
|
|
33
42
|
*
|
|
34
|
-
* If
|
|
43
|
+
* If you've configured only directory, the file name would be the `swagger.json`.
|
|
44
|
+
* Otherwise you've configured the full path with file name and extension, the
|
|
45
|
+
* `swagger.json` file would be renamed to it.
|
|
35
46
|
*/
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
* Output path of the `swagger.json`.
|
|
39
|
-
*
|
|
40
|
-
* If you've configured only directory, the file name would be the `swagger.json`.
|
|
41
|
-
* Otherwise you've configured the full path with file name and extension, the
|
|
42
|
-
* `swagger.json` file would be renamed to it.
|
|
43
|
-
*/
|
|
44
|
-
output: "dist/swagger.json",
|
|
45
|
-
},
|
|
47
|
+
output: "dist/swagger.json",
|
|
48
|
+
},
|
|
46
49
|
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
50
|
+
/**
|
|
51
|
+
* Output directory that SDK would be placed in.
|
|
52
|
+
*
|
|
53
|
+
* If not configured, you can't build the SDK library.
|
|
54
|
+
*/
|
|
55
|
+
output: "src/api",
|
|
53
56
|
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
57
|
+
/**
|
|
58
|
+
* Target directory that SDK distribution files would be placed in.
|
|
59
|
+
*
|
|
60
|
+
* If you configure this property and runs `npx nestia sdk` command,
|
|
61
|
+
* distribution environments for the SDK library would be generated.
|
|
62
|
+
*
|
|
63
|
+
* After the SDK library generation, move to the `distribute` directory,
|
|
64
|
+
* and runs `npm publish` command, then you can share SDK library with
|
|
65
|
+
* other client (frontend) developers.
|
|
66
|
+
*/
|
|
67
|
+
// distribute: "packages/api",
|
|
65
68
|
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
69
|
+
/**
|
|
70
|
+
* Whether to use propagation mode or not.
|
|
71
|
+
*
|
|
72
|
+
* If being configured, interaction functions of the SDK library would
|
|
73
|
+
* perform the propagation mode. The propagation mode means that never
|
|
74
|
+
* throwing exception even when status code is not 200 (or 201), but just
|
|
75
|
+
* returning the {@link IPropagation} typed instance, which can specify its body
|
|
76
|
+
* type through discriminated union determined by status code.
|
|
77
|
+
*
|
|
78
|
+
* @default false
|
|
79
|
+
*/
|
|
80
|
+
// propagate: true,
|
|
78
81
|
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
82
|
+
/**
|
|
83
|
+
* Allow simulation mode.
|
|
84
|
+
*
|
|
85
|
+
* If you configure this property to be `true`, the SDK library would be contain
|
|
86
|
+
* simulation mode. In the simulation mode, the SDK library would not communicate
|
|
87
|
+
* with the real backend server, but just returns random mock-up data
|
|
88
|
+
* with requestion data validation.
|
|
89
|
+
*
|
|
90
|
+
* For reference, random mock-up data would be generated by `typia.random<T>()`
|
|
91
|
+
* function.
|
|
92
|
+
*
|
|
93
|
+
* @default false
|
|
94
|
+
*/
|
|
95
|
+
// simulate: true,
|
|
93
96
|
};
|
|
94
97
|
export default NESTIA_CONFIG;
|
package/lib/INestiaConfig.d.ts
CHANGED
|
@@ -1,7 +1,5 @@
|
|
|
1
1
|
import type { INestApplication } from "@nestjs/common";
|
|
2
|
-
import
|
|
3
|
-
import type { ISwaggerInfo } from "./structures/ISwaggerInfo";
|
|
4
|
-
import type { ISwaggerSecurityScheme } from "./structures/ISwaggerSecurityScheme";
|
|
2
|
+
import { OpenApi } from "@samchon/openapi";
|
|
5
3
|
/**
|
|
6
4
|
* Definition for the `nestia.config.ts` file.
|
|
7
5
|
*
|
|
@@ -167,16 +165,29 @@ export declare namespace INestiaConfig {
|
|
|
167
165
|
* @default false
|
|
168
166
|
*/
|
|
169
167
|
beautify?: boolean | number;
|
|
168
|
+
/**
|
|
169
|
+
* Whether to include additional information or not.
|
|
170
|
+
*
|
|
171
|
+
* If configured to be `true`, those properties would be added into each
|
|
172
|
+
* API endpoinnt.
|
|
173
|
+
*
|
|
174
|
+
* - `x-nestia-method`
|
|
175
|
+
* - `x-nestia-namespace`
|
|
176
|
+
* ` `x-nestia-jsDocTags`
|
|
177
|
+
*
|
|
178
|
+
* @default false
|
|
179
|
+
*/
|
|
180
|
+
additional?: boolean;
|
|
170
181
|
/**
|
|
171
182
|
* API information.
|
|
172
183
|
*
|
|
173
184
|
* If omitted, `package.json` content would be used instead.
|
|
174
185
|
*/
|
|
175
|
-
info?: Partial<
|
|
186
|
+
info?: Partial<OpenApi.IDocument.IInfo>;
|
|
176
187
|
/**
|
|
177
188
|
* List of server addresses.
|
|
178
189
|
*/
|
|
179
|
-
servers?:
|
|
190
|
+
servers?: OpenApi.IServer[];
|
|
180
191
|
/**
|
|
181
192
|
* Security schemes.
|
|
182
193
|
*
|
|
@@ -184,7 +195,18 @@ export declare namespace INestiaConfig {
|
|
|
184
195
|
* theirs methods have a security key which is not enrolled in here property,
|
|
185
196
|
* it would be an error.
|
|
186
197
|
*/
|
|
187
|
-
security?: Record<string,
|
|
198
|
+
security?: Record<string, OpenApi.ISecurityScheme>;
|
|
199
|
+
/**
|
|
200
|
+
* List of tag names with description.
|
|
201
|
+
*
|
|
202
|
+
* It is possible to omit this property or skip some tag name even if
|
|
203
|
+
* the tag name is used in the API routes. In that case, the tag name
|
|
204
|
+
* would be used without description.
|
|
205
|
+
*
|
|
206
|
+
* Of course, if you've written a comment like `@tag {name} {descrition}`,
|
|
207
|
+
* you can entirely replace this property specification.
|
|
208
|
+
*/
|
|
209
|
+
tags?: OpenApi.IDocument.ITag[];
|
|
188
210
|
/**
|
|
189
211
|
* Decompose query DTO.
|
|
190
212
|
*
|
|
@@ -46,7 +46,7 @@ class NestiaSdkApplication {
|
|
|
46
46
|
print_title("Nestia E2E Generator");
|
|
47
47
|
yield this.generate("e2e", (config) => config, (checker) => (config) => (routes) => __awaiter(this, void 0, void 0, function* () {
|
|
48
48
|
yield SdkGenerator_1.SdkGenerator.generate(checker)(config)(routes);
|
|
49
|
-
yield E2eGenerator_1.E2eGenerator.generate(config)(routes);
|
|
49
|
+
yield E2eGenerator_1.E2eGenerator.generate(checker)(config)(routes);
|
|
50
50
|
}));
|
|
51
51
|
});
|
|
52
52
|
}
|
|
@@ -63,8 +63,8 @@ class NestiaSdkApplication {
|
|
|
63
63
|
});
|
|
64
64
|
}
|
|
65
65
|
swagger() {
|
|
66
|
-
var _a;
|
|
67
66
|
return __awaiter(this, void 0, void 0, function* () {
|
|
67
|
+
var _a;
|
|
68
68
|
if (!((_a = this.config.swagger) === null || _a === void 0 ? void 0 : _a.output))
|
|
69
69
|
throw new Error(`Error on NestiaApplication.swagger(): output path of the "swagger.json" is not specified.`);
|
|
70
70
|
const parsed = path_1.default.parse(this.config.swagger.output);
|
|
@@ -131,14 +131,16 @@ class NestiaSdkApplication {
|
|
|
131
131
|
if (project.warnings.length)
|
|
132
132
|
report_errors("warning")(project.warnings);
|
|
133
133
|
// FIND IMPLICIT TYPES
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
134
|
+
if (this.config.clone !== true) {
|
|
135
|
+
const implicit = routeList.filter(is_implicit_return_typed);
|
|
136
|
+
if (implicit.length > 0)
|
|
137
|
+
throw new Error(`NestiaApplication.${method}(): implicit return type is not allowed.\n` +
|
|
138
|
+
"\n" +
|
|
139
|
+
"List of implicit return typed routes:\n" +
|
|
140
|
+
implicit
|
|
141
|
+
.map((it) => ` - ${it.target.class.name}.${it.target.function.name} at "${it.location}"`)
|
|
142
|
+
.join("\n"));
|
|
143
|
+
}
|
|
142
144
|
// DO GENERATE
|
|
143
145
|
AccessorAnalyzer_1.AccessorAnalyzer.analyze(routeList);
|
|
144
146
|
yield archiver(project.checker)(config(this.config))(routeList);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NestiaSdkApplication.js","sourceRoot":"","sources":["../src/NestiaSdkApplication.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,4CAAoB;AACpB,gDAAwB;AACxB,4DAA4B;AAG5B,kEAA+D;AAC/D,8DAA2D;AAC3D,sEAAmE;AACnE,gEAA6D;AAC7D,2DAAwD;AACxD,2DAAwD;AACxD,mEAAgE;AAKhE,6CAA0C;AAE1C,MAAa,oBAAoB;IAC/B,YACmB,MAAqB,EACrB,eAAmC;QADnC,WAAM,GAAN,MAAM,CAAe;QACrB,oBAAe,GAAf,eAAe,CAAoB;IACnD,CAAC;IAES,GAAG;;YACd,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM;gBACrB,MAAM,IAAI,KAAK,CACb,wEAAwE,CACzE,CAAC;iBACC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG;gBACvB,MAAM,IAAI,KAAK,CACb,mFAAmF,CACpF,CAAC;YAEJ,MAAM,QAAQ,GACZ,CAAC,KAAa,EAAE,EAAE,CAClB,CAAO,QAAgB,EAAiB,EAAE;gBACxC,MAAM,MAAM,GAAW,cAAI,CAAC,OAAO,CAAC,QAAQ,GAAG,KAAK,CAAC,CAAC;gBACtD,MAAM,KAAK,GAAa,MAAM,YAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;gBACxD,IAAI,KAAK,CAAC,WAAW,EAAE,KAAK,KAAK;oBAC/B,MAAM,IAAI,KAAK,CACb,yDAAyD,KAAK,mBAAmB,CAClF,CAAC;YACN,CAAC,CAAA,CAAC;YACJ,MAAM,QAAQ,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;YAC1C,MAAM,QAAQ,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YAEvC,WAAW,CAAC,sBAAsB,CAAC,CAAC;YACpC,MAAM,IAAI,CAAC,QAAQ,CACjB,KAAK,EACL,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,EAClB,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAO,MAAM,EAAE,EAAE;gBACxC,MAAM,2BAAY,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,CAAC;gBACrD,MAAM,2BAAY,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"NestiaSdkApplication.js","sourceRoot":"","sources":["../src/NestiaSdkApplication.ts"],"names":[],"mappings":"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"}
|
|
@@ -62,7 +62,7 @@ var ConfigAnalyzer;
|
|
|
62
62
|
return {
|
|
63
63
|
include: files.toJSON().map((pair) => ({
|
|
64
64
|
controller: pair.first.first,
|
|
65
|
-
file: pair.first.second,
|
|
65
|
+
file: decodeURIComponent(pair.first.second),
|
|
66
66
|
paths: [...pair.second.values()],
|
|
67
67
|
})),
|
|
68
68
|
globalPrefix: typeof ((_f = app.config) === null || _f === void 0 ? void 0 : _f.globalPrefix) === "string"
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ConfigAnalyzer.js","sourceRoot":"","sources":["../../src/analyses/ConfigAnalyzer.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"ConfigAnalyzer.js","sourceRoot":"","sources":["../../src/analyses/ConfigAnalyzer.ts"],"names":[],"mappings":"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"}
|
|
@@ -14,7 +14,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
14
14
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
15
|
exports.ControllerAnalyzer = void 0;
|
|
16
16
|
const path_1 = __importDefault(require("path"));
|
|
17
|
-
const
|
|
17
|
+
const tstl_1 = require("tstl");
|
|
18
18
|
const typescript_1 = __importDefault(require("typescript"));
|
|
19
19
|
const CommentFactory_1 = require("typia/lib/factories/CommentFactory");
|
|
20
20
|
const PathUtil_1 = require("../utils/PathUtil");
|
|
@@ -86,10 +86,13 @@ var ControllerAnalyzer;
|
|
|
86
86
|
if (jsDocTags.some((tag) => tag.name === "ignore"))
|
|
87
87
|
return [];
|
|
88
88
|
// EXPLORE CHILDREN TYPES
|
|
89
|
-
const importDict = new
|
|
89
|
+
const importDict = new tstl_1.HashMap();
|
|
90
90
|
const parameters = func.parameters.map((param) => _Analyze_parameter(project)(genericDict, importDict, controller, func.name, param, signature.getParameters()[param.index]));
|
|
91
91
|
const outputType = ImportAnalyzer_1.ImportAnalyzer.analyze(project.checker, genericDict, importDict, signature.getReturnType());
|
|
92
|
-
if (outputType === null ||
|
|
92
|
+
if (outputType === null ||
|
|
93
|
+
(project.config.clone !== true &&
|
|
94
|
+
(outputType.typeName === "__type" ||
|
|
95
|
+
outputType.typeName === "__object"))) {
|
|
93
96
|
project.errors.push({
|
|
94
97
|
file: controller.file,
|
|
95
98
|
controller: controller.name,
|
|
@@ -109,16 +112,16 @@ var ControllerAnalyzer;
|
|
|
109
112
|
});
|
|
110
113
|
return [];
|
|
111
114
|
}
|
|
112
|
-
const exceptions = ExceptionAnalyzer_1.ExceptionAnalyzer.analyze(project)(genericDict, project.config.propagate === true ? importDict : new
|
|
115
|
+
const exceptions = ExceptionAnalyzer_1.ExceptionAnalyzer.analyze(project)(genericDict, project.config.propagate === true ? importDict : new tstl_1.HashMap())(controller, func)(declaration);
|
|
113
116
|
const imports = importDict
|
|
114
117
|
.toJSON()
|
|
115
118
|
.map((pair) => [pair.first, pair.second.toJSON()]);
|
|
116
119
|
// CONSIDER SECURITY TAGS
|
|
117
120
|
const security = SecurityAnalyzer_1.SecurityAnalyzer.merge(...controller.security, ...func.security, ...jsDocTags
|
|
118
121
|
.filter((tag) => tag.name === "security")
|
|
119
|
-
.map((tag) =>
|
|
120
|
-
|
|
121
|
-
|
|
122
|
+
.map((tag) => tag.text === undefined
|
|
123
|
+
? [{}]
|
|
124
|
+
: tag.text.map((text) => {
|
|
122
125
|
const line = text.text
|
|
123
126
|
.split(" ")
|
|
124
127
|
.filter((s) => s.trim())
|
|
@@ -128,17 +131,16 @@ var ControllerAnalyzer;
|
|
|
128
131
|
return {
|
|
129
132
|
[line[0]]: line.slice(1),
|
|
130
133
|
};
|
|
131
|
-
})
|
|
132
|
-
})
|
|
134
|
+
}))
|
|
133
135
|
.flat());
|
|
134
136
|
// CONSTRUCT COMMON DATA
|
|
135
|
-
const common = Object.assign(Object.assign({}, func), { parameters: parameters.filter((p) => p !== null), output: {
|
|
137
|
+
const common = Object.assign(Object.assign({}, func), { controller: controller.target, parameters: parameters.filter((p) => p !== null), output: {
|
|
136
138
|
type: outputType.type,
|
|
137
139
|
typeName: outputType.typeName,
|
|
138
140
|
contentType: func.contentType,
|
|
139
|
-
}, imports, status: func.status,
|
|
140
|
-
class: controller.
|
|
141
|
-
function: func.
|
|
141
|
+
}, imports, status: func.status, target: {
|
|
142
|
+
class: controller.target,
|
|
143
|
+
function: func.target,
|
|
142
144
|
}, location: (() => {
|
|
143
145
|
const file = declaration.getSourceFile();
|
|
144
146
|
const { line, character } = file.getLineAndCharacterOfPosition(declaration.pos);
|
|
@@ -191,7 +193,18 @@ var ControllerAnalyzer;
|
|
|
191
193
|
path: individual,
|
|
192
194
|
}))
|
|
193
195
|
.flat()
|
|
194
|
-
.
|
|
196
|
+
.filter((path) => {
|
|
197
|
+
const escaped = PathAnalyzer_1.PathAnalyzer.escape(path);
|
|
198
|
+
if (escaped === null)
|
|
199
|
+
project.errors.push({
|
|
200
|
+
file: controller.file,
|
|
201
|
+
controller: controller.name,
|
|
202
|
+
function: func.name,
|
|
203
|
+
message: `unable to escape the path "${path}".`,
|
|
204
|
+
});
|
|
205
|
+
return escaped !== null;
|
|
206
|
+
})
|
|
207
|
+
.map((path) => (Object.assign(Object.assign({}, common), { path: PathAnalyzer_1.PathAnalyzer.escape(path), accessors: [...PathUtil_1.PathUtil.accessors(path), func.name] })));
|
|
195
208
|
};
|
|
196
209
|
const _Analyze_parameter = (project) => (genericDict, importDict, controller, funcName, param, symbol) => {
|
|
197
210
|
var _a;
|
|
@@ -231,7 +244,9 @@ var ControllerAnalyzer;
|
|
|
231
244
|
});
|
|
232
245
|
// GET TYPE NAME
|
|
233
246
|
const tuple = ImportAnalyzer_1.ImportAnalyzer.analyze(project.checker, genericDict, importDict, type);
|
|
234
|
-
if (tuple === null ||
|
|
247
|
+
if (tuple === null ||
|
|
248
|
+
(project.config.clone !== true &&
|
|
249
|
+
(tuple.typeName === "__type" || tuple.typeName === "__object")))
|
|
235
250
|
errors.push({
|
|
236
251
|
file: controller.file,
|
|
237
252
|
controller: controller.name,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ControllerAnalyzer.js","sourceRoot":"","sources":["../../src/analyses/ControllerAnalyzer.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ControllerAnalyzer.js","sourceRoot":"","sources":["../../src/analyses/ControllerAnalyzer.ts"],"names":[],"mappings":"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"}
|