@nestia/sdk 5.0.0-dev.20250301 → 5.0.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.
Files changed (109) hide show
  1. package/LICENSE +21 -21
  2. package/README.md +92 -91
  3. package/assets/bundle/api/HttpError.ts +1 -1
  4. package/assets/bundle/api/IConnection.ts +1 -1
  5. package/assets/bundle/api/Primitive.ts +1 -1
  6. package/assets/bundle/api/Resolved.ts +1 -1
  7. package/assets/bundle/api/index.ts +4 -4
  8. package/assets/bundle/api/module.ts +6 -6
  9. package/assets/bundle/distribute/README.md +37 -37
  10. package/assets/bundle/distribute/package.json +28 -28
  11. package/assets/bundle/distribute/tsconfig.json +109 -109
  12. package/assets/bundle/e2e/index.ts +42 -42
  13. package/assets/config/nestia.config.ts +97 -97
  14. package/lib/executable/internal/NestiaConfigLoader.js +4 -4
  15. package/lib/executable/sdk.js +12 -12
  16. package/package.json +7 -7
  17. package/src/INestiaConfig.ts +271 -271
  18. package/src/NestiaSdkApplication.ts +307 -307
  19. package/src/NestiaSwaggerComposer.ts +138 -138
  20. package/src/analyses/AccessorAnalyzer.ts +67 -67
  21. package/src/analyses/ConfigAnalyzer.ts +155 -155
  22. package/src/analyses/ExceptionAnalyzer.ts +154 -154
  23. package/src/analyses/GenericAnalyzer.ts +49 -49
  24. package/src/analyses/ImportAnalyzer.ts +171 -171
  25. package/src/analyses/PathAnalyzer.ts +69 -69
  26. package/src/analyses/ReflectControllerAnalyzer.ts +105 -105
  27. package/src/analyses/ReflectHttpOperationAnalyzer.ts +183 -183
  28. package/src/analyses/ReflectHttpOperationExceptionAnalyzer.ts +71 -71
  29. package/src/analyses/ReflectHttpOperationParameterAnalyzer.ts +348 -348
  30. package/src/analyses/ReflectHttpOperationResponseAnalyzer.ts +127 -127
  31. package/src/analyses/ReflectMetadataAnalyzer.ts +44 -44
  32. package/src/analyses/ReflectWebSocketOperationAnalyzer.ts +172 -172
  33. package/src/analyses/SecurityAnalyzer.ts +25 -25
  34. package/src/analyses/TypedHttpRouteAnalyzer.ts +186 -186
  35. package/src/analyses/TypedWebSocketRouteAnalyzer.ts +18 -18
  36. package/src/decorators/OperationMetadata.ts +15 -15
  37. package/src/executable/internal/CommandParser.ts +15 -15
  38. package/src/executable/internal/NestiaConfigLoader.ts +78 -78
  39. package/src/executable/internal/NestiaSdkCommand.ts +103 -103
  40. package/src/executable/sdk.ts +75 -75
  41. package/src/generates/CloneGenerator.ts +66 -66
  42. package/src/generates/E2eGenerator.ts +32 -32
  43. package/src/generates/SdkGenerator.ts +159 -159
  44. package/src/generates/SwaggerGenerator.ts +292 -292
  45. package/src/generates/internal/E2eFileProgrammer.ts +183 -183
  46. package/src/generates/internal/FilePrinter.ts +53 -53
  47. package/src/generates/internal/ImportDictionary.ts +147 -147
  48. package/src/generates/internal/SdkAliasCollection.ts +185 -185
  49. package/src/generates/internal/SdkDistributionComposer.ts +103 -103
  50. package/src/generates/internal/SdkFileProgrammer.ts +116 -116
  51. package/src/generates/internal/SdkHttpCloneProgrammer.ts +124 -124
  52. package/src/generates/internal/SdkHttpCloneReferencer.ts +71 -71
  53. package/src/generates/internal/SdkHttpFunctionProgrammer.ts +301 -301
  54. package/src/generates/internal/SdkHttpNamespaceProgrammer.ts +529 -529
  55. package/src/generates/internal/SdkHttpRouteProgrammer.ts +117 -117
  56. package/src/generates/internal/SdkHttpSimulationProgrammer.ts +362 -362
  57. package/src/generates/internal/SdkImportWizard.ts +55 -55
  58. package/src/generates/internal/SdkRouteDirectory.ts +18 -18
  59. package/src/generates/internal/SdkTypeProgrammer.ts +377 -377
  60. package/src/generates/internal/SdkTypeTagProgrammer.ts +102 -102
  61. package/src/generates/internal/SdkWebSocketNamespaceProgrammer.ts +362 -362
  62. package/src/generates/internal/SdkWebSocketRouteProgrammer.ts +265 -265
  63. package/src/generates/internal/SwaggerDescriptionComposer.ts +64 -64
  64. package/src/generates/internal/SwaggerOperationComposer.ts +119 -119
  65. package/src/generates/internal/SwaggerOperationParameterComposer.ts +177 -177
  66. package/src/generates/internal/SwaggerOperationResponseComposer.ts +110 -110
  67. package/src/index.ts +4 -4
  68. package/src/module.ts +3 -3
  69. package/src/structures/INestiaProject.ts +13 -13
  70. package/src/structures/INestiaSdkInput.ts +20 -20
  71. package/src/structures/IReflectApplication.ts +8 -8
  72. package/src/structures/IReflectController.ts +15 -15
  73. package/src/structures/IReflectHttpOperation.ts +26 -26
  74. package/src/structures/IReflectHttpOperationException.ts +19 -19
  75. package/src/structures/IReflectHttpOperationParameter.ts +81 -81
  76. package/src/structures/IReflectHttpOperationSuccess.ts +22 -22
  77. package/src/structures/IReflectOperationError.ts +26 -26
  78. package/src/structures/IReflectType.ts +4 -4
  79. package/src/structures/IReflectTypeImport.ts +4 -4
  80. package/src/structures/IReflectWebSocketOperation.ts +17 -17
  81. package/src/structures/IReflectWebSocketOperationParameter.ts +38 -38
  82. package/src/structures/ITypedApplication.ts +11 -11
  83. package/src/structures/ITypedHttpRoute.ts +30 -30
  84. package/src/structures/ITypedHttpRouteException.ts +15 -15
  85. package/src/structures/ITypedHttpRouteParameter.ts +41 -41
  86. package/src/structures/ITypedHttpRouteSuccess.ts +22 -22
  87. package/src/structures/ITypedWebSocketRoute.ts +20 -20
  88. package/src/structures/ITypedWebSocketRouteParameter.ts +3 -3
  89. package/src/structures/MethodType.ts +5 -5
  90. package/src/structures/ParamCategory.ts +1 -1
  91. package/src/structures/TypeEntry.ts +22 -22
  92. package/src/transform.ts +9 -9
  93. package/src/transformers/IOperationMetadata.ts +44 -44
  94. package/src/transformers/ISdkOperationTransformerContext.ts +8 -8
  95. package/src/transformers/SdkOperationProgrammer.ts +209 -209
  96. package/src/transformers/SdkOperationTransformer.ts +253 -253
  97. package/src/transformers/TextPlainValidator.ts +17 -17
  98. package/src/typings/get-function-location.d.ts +7 -7
  99. package/src/utils/ArrayUtil.ts +26 -26
  100. package/src/utils/FileRetriever.ts +22 -22
  101. package/src/utils/MapUtil.ts +14 -14
  102. package/src/utils/MetadataUtil.ts +26 -26
  103. package/src/utils/PathUtil.ts +10 -10
  104. package/src/utils/SourceFinder.ts +66 -66
  105. package/src/utils/StringUtil.ts +17 -17
  106. package/src/utils/StripEnums.ts +5 -5
  107. package/src/utils/VersioningStrategy.ts +28 -28
  108. package/src/validators/HttpHeadersValidator.ts +34 -34
  109. package/src/validators/HttpQueryValidator.ts +34 -34
package/LICENSE CHANGED
@@ -1,21 +1,21 @@
1
- MIT License
2
-
3
- Copyright (c) 2021 Jeongho Nam
4
-
5
- Permission is hereby granted, free of charge, to any person obtaining a copy
6
- of this software and associated documentation files (the "Software"), to deal
7
- in the Software without restriction, including without limitation the rights
8
- to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
- copies of the Software, and to permit persons to whom the Software is
10
- furnished to do so, subject to the following conditions:
11
-
12
- The above copyright notice and this permission notice shall be included in all
13
- copies or substantial portions of the Software.
14
-
15
- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
- FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
- AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
- LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
- SOFTWARE.
1
+ MIT License
2
+
3
+ Copyright (c) 2021 Jeongho Nam
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
package/README.md CHANGED
@@ -1,91 +1,92 @@
1
- # Nestia
2
- ![Nestia Logo](https://nestia.io/logo.png)
3
-
4
- [![GitHub license](https://img.shields.io/badge/license-MIT-blue.svg)](https://github.com/samchon/nestia/blob/master/LICENSE)
5
- [![npm version](https://img.shields.io/npm/v/@nestia/fetcher.svg)](https://www.npmjs.com/package/@nestia/fetcher)
6
- [![Downloads](https://img.shields.io/npm/dm/@nestia/fetcher.svg)](https://www.npmjs.com/package/@nestia/fetcher)
7
- [![Build Status](https://github.com/samchon/nestia/workflows/build/badge.svg)](https://github.com/samchon/nestia/actions?query=workflow%3Abuild)
8
- [![Guide Documents](https://img.shields.io/badge/Guide-Documents-forestgreen)](https://nestia.io/docs/)
9
- [![Gurubase](https://img.shields.io/badge/Gurubase-Document%20Chatbot-006BFF)](https://gurubase.io/g/nestia)
10
- [![Discord Badge](https://img.shields.io/badge/discord-samchon-d91965?style=flat&labelColor=5866f2&logo=discord&logoColor=white&link=https://discord.gg/E94XhzrUCZ)](https://discord.gg/E94XhzrUCZ)
11
-
12
- Nestia is a set of helper libraries for NestJS, supporting below features:
13
-
14
- - `@nestia/core`:
15
- - Super-fast/easy decorators
16
- - Advanced WebSocket routes
17
- - `@nestia/sdk`:
18
- - Swagger generator, more evolved than ever
19
- - SDK library generator for clients
20
- - Mockup Simulator for client applications
21
- - Automatic E2E test functions generator
22
- - `@nestia/e2e`: Test program utilizing e2e test functions
23
- - `@nestia/benchmark`: Benchmark program using e2e test functions
24
- - `@nestia/editor`: Swagger-UI with Online TypeScript Editor
25
- - `nestia`: Just CLI (command line interface) tool
26
-
27
- > [!NOTE]
28
- >
29
- > - **Only one line** required, with pure TypeScript type
30
- > - Enhance performance **30x** up
31
- > - Runtime validator is **20,000x faster** than `class-validator`
32
- > - JSON serialization is **200x faster** than `class-transformer`
33
- > - Software Development Kit
34
- > - Collection of typed `fetch` functions with DTO structures like [tRPC](https://trpc.io/)
35
- > - Mockup simulator means embedded backend simulator in the SDK
36
- > - similar with [msw](https://mswjs.io/), but fully automated
37
-
38
- ![nestia-sdk-demo](https://user-images.githubusercontent.com/13158709/215004990-368c589d-7101-404e-b81b-fbc936382f05.gif)
39
-
40
- > Left is NestJS server code, and right is client (frontend) code utilizing SDK
41
-
42
-
43
-
44
-
45
- ## Sponsors and Backers
46
- Thanks for your support.
47
-
48
- Your donation would encourage `nestia` development.
49
-
50
- [![Backers](https://opencollective.com/nestia/backers.svg?avatarHeight=75&width=600)](https://opencollective.com/nestia)
51
-
52
-
53
-
54
-
55
- ## Guide Documents
56
- Check out the document in the [website](https://nestia.io/docs/):
57
-
58
- ### 🏠 Home
59
- - [Introduction](https://nestia.io/docs/)
60
- - [Setup](https://nestia.io/docs/setup/)
61
- - [Pure TypeScript](https://nestia.io/docs/pure)
62
-
63
- ### 📖 Features
64
- - Core Library
65
- - [`@WebSocketRoute`](https://nestia.io/docs/core/WebSocketRoute)
66
- - [`@TypedRoute`](https://nestia.io/docs/core/TypedRoute/)
67
- - [**`@TypedBody`**](https://nestia.io/docs/core/TypedBody/)
68
- - [`@TypedParam`](https://nestia.io/docs/core/TypedParam/)
69
- - [`@TypedQuery`](https://nestia.io/docs/core/TypedQuery/)
70
- - [`@TypedFormData`](https://nestia.io/docs/core/TypedFormData/)
71
- - [`@TypedHeaders`](https://nestia.io/docs/core/TypedHeaders/)
72
- - [`@TypedException`](https://nestia.io/docs/core/TypedException/)
73
- - Software Development Kit
74
- - [SDK Builder](https://nestia.io/docs/sdk/)
75
- - [Mockup Simulator](https://nestia.io/docs/sdk/simulate/)
76
- - [E2E Test Functions](https://nestia.io/docs/sdk/e2e/)
77
- - [Distribution](https://nestia.io/docs/sdk/distribute/)
78
- - Swagger Document
79
- - [Swagger Builder](https://nestia.io/docs/swagger/)
80
- - [**AI Chatbot Development**](https://nestia.io/docs/swagger/chat/)
81
- - [Cloud Swagger Editor](https://nestia.io/docs/swagger/editor/)
82
- - [Documentation Strategy](https://nestia.io/docs/swagger/strategy/)
83
- - E2E Testing
84
- - [Why E2E Test?](https://nestia.io/docs/e2e/why/)
85
- - [Test Program Development](https://nestia.io/docs/e2e/development/)
86
- - [Performance Benchmark](https://nestia.io/docs/e2e/benchmark/)
87
-
88
- ### 🔗 Appendix
89
- - [API Documents](https://nestia.io/api)
90
- - [ Benchmark Result](https://github.com/samchon/nestia/tree/master/benchmark/results/11th%20Gen%20Intel(R)%20Core(TM)%20i5-1135G7%20%40%202.40GHz)
91
- - [⇲ `dev.to` Articles](https://dev.to/samchon/series/22751)
1
+ # Nestia
2
+ ![Nestia Logo](https://nestia.io/logo.png)
3
+
4
+ [![GitHub license](https://img.shields.io/badge/license-MIT-blue.svg)](https://github.com/samchon/nestia/blob/master/LICENSE)
5
+ [![npm version](https://img.shields.io/npm/v/@nestia/fetcher.svg)](https://www.npmjs.com/package/@nestia/fetcher)
6
+ [![Downloads](https://img.shields.io/npm/dm/@nestia/fetcher.svg)](https://www.npmjs.com/package/@nestia/fetcher)
7
+ [![Build Status](https://github.com/samchon/nestia/workflows/build/badge.svg)](https://github.com/samchon/nestia/actions?query=workflow%3Abuild)
8
+ [![Guide Documents](https://img.shields.io/badge/Guide-Documents-forestgreen)](https://nestia.io/docs/)
9
+ [![Gurubase](https://img.shields.io/badge/Gurubase-Document%20Chatbot-006BFF)](https://gurubase.io/g/nestia)
10
+ [![Discord Badge](https://img.shields.io/badge/discord-samchon-d91965?style=flat&labelColor=5866f2&logo=discord&logoColor=white&link=https://discord.gg/E94XhzrUCZ)](https://discord.gg/E94XhzrUCZ)
11
+
12
+ Nestia is a set of helper libraries for NestJS, supporting below features:
13
+
14
+ - `@nestia/core`:
15
+ - Super-fast/easy decorators
16
+ - Advanced WebSocket routes
17
+ - `@nestia/sdk`:
18
+ - Swagger generator, more evolved than ever
19
+ - SDK library generator for clients
20
+ - Mockup Simulator for client applications
21
+ - Automatic E2E test functions generator
22
+ - `@nestia/e2e`: Test program utilizing e2e test functions
23
+ - `@nestia/benchmark`: Benchmark program using e2e test functions
24
+ - `@nestia/editor`: Swagger-UI with Online TypeScript Editor
25
+ - `@agentica`: Agentic AI library specialized in LLM function calling
26
+ - `nestia`: Just CLI (command line interface) tool
27
+
28
+ > [!NOTE]
29
+ >
30
+ > - **Only one line** required, with pure TypeScript type
31
+ > - Enhance performance **30x** up
32
+ > - Runtime validator is **20,000x faster** than `class-validator`
33
+ > - JSON serialization is **200x faster** than `class-transformer`
34
+ > - Software Development Kit
35
+ > - Collection of typed `fetch` functions with DTO structures like [tRPC](https://trpc.io/)
36
+ > - Mockup simulator means embedded backend simulator in the SDK
37
+ > - similar with [msw](https://mswjs.io/), but fully automated
38
+
39
+ ![nestia-sdk-demo](https://user-images.githubusercontent.com/13158709/215004990-368c589d-7101-404e-b81b-fbc936382f05.gif)
40
+
41
+ > Left is NestJS server code, and right is client (frontend) code utilizing SDK
42
+
43
+
44
+
45
+
46
+ ## Sponsors and Backers
47
+ Thanks for your support.
48
+
49
+ Your donation would encourage `nestia` development.
50
+
51
+ [![Backers](https://opencollective.com/nestia/backers.svg?avatarHeight=75&width=600)](https://opencollective.com/nestia)
52
+
53
+
54
+
55
+
56
+ ## Guide Documents
57
+ Check out the document in the [website](https://nestia.io/docs/):
58
+
59
+ ### 🏠 Home
60
+ - [Introduction](https://nestia.io/docs/)
61
+ - [Setup](https://nestia.io/docs/setup/)
62
+ - [Pure TypeScript](https://nestia.io/docs/pure)
63
+
64
+ ### 📖 Features
65
+ - Core Library
66
+ - [`@WebSocketRoute`](https://nestia.io/docs/core/WebSocketRoute)
67
+ - [`@TypedRoute`](https://nestia.io/docs/core/TypedRoute/)
68
+ - [**`@TypedBody`**](https://nestia.io/docs/core/TypedBody/)
69
+ - [`@TypedParam`](https://nestia.io/docs/core/TypedParam/)
70
+ - [`@TypedQuery`](https://nestia.io/docs/core/TypedQuery/)
71
+ - [`@TypedFormData`](https://nestia.io/docs/core/TypedFormData/)
72
+ - [`@TypedHeaders`](https://nestia.io/docs/core/TypedHeaders/)
73
+ - [`@TypedException`](https://nestia.io/docs/core/TypedException/)
74
+ - Software Development Kit
75
+ - [SDK Builder](https://nestia.io/docs/sdk/)
76
+ - [Mockup Simulator](https://nestia.io/docs/sdk/simulate/)
77
+ - [E2E Test Functions](https://nestia.io/docs/sdk/e2e/)
78
+ - [Distribution](https://nestia.io/docs/sdk/distribute/)
79
+ - Swagger Document
80
+ - [Swagger Builder](https://nestia.io/docs/swagger/)
81
+ - [**AI Chatbot Development**](https://nestia.io/docs/swagger/chat/)
82
+ - [Cloud Swagger Editor](https://nestia.io/docs/swagger/editor/)
83
+ - [Documentation Strategy](https://nestia.io/docs/swagger/strategy/)
84
+ - E2E Testing
85
+ - [Why E2E Test?](https://nestia.io/docs/e2e/why/)
86
+ - [Test Program Development](https://nestia.io/docs/e2e/development/)
87
+ - [Performance Benchmark](https://nestia.io/docs/e2e/benchmark/)
88
+
89
+ ### 🔗 Appendix
90
+ - [API Documents](https://nestia.io/api)
91
+ - [⇲ Benchmark Result](https://github.com/samchon/nestia/tree/master/benchmark/results/11th%20Gen%20Intel(R)%20Core(TM)%20i5-1135G7%20%40%202.40GHz)
92
+ - [⇲ `dev.to` Articles](https://dev.to/samchon/series/22751)
@@ -1 +1 @@
1
- export { HttpError } from "@nestia/fetcher";
1
+ export { HttpError } from "@nestia/fetcher";
@@ -1 +1 @@
1
- export type { IConnection } from "@nestia/fetcher";
1
+ export type { IConnection } from "@nestia/fetcher";
@@ -1 +1 @@
1
- export type { Primitive } from "typia";
1
+ export type { Primitive } from "typia";
@@ -1 +1 @@
1
- export type { Resolved } from "typia";
1
+ export type { Resolved } from "typia";
@@ -1,4 +1,4 @@
1
- import * as api from "./module";
2
-
3
- export * from "./module";
4
- export default api;
1
+ import * as api from "./module";
2
+
3
+ export * from "./module";
4
+ export default api;
@@ -1,6 +1,6 @@
1
- export type * from "./IConnection";
2
- export type * from "./Primitive";
3
- export type * from "./Resolved";
4
- export * from "./HttpError";
5
-
6
- export * as functional from "./functional";
1
+ export type * from "./IConnection";
2
+ export type * from "./Primitive";
3
+ export type * from "./Resolved";
4
+ export * from "./HttpError";
5
+
6
+ export * as functional from "./functional";
@@ -1,38 +1,38 @@
1
- # SDK Library
2
- This is a SDK library generated by [`nestia`](https://nestia.io).
3
-
4
- With this SDK library, you can easily and safely interact with backend server.
5
-
6
- Just import and call some API functions like gif image below:
7
-
8
- ![nestia-sdk-demo](https://user-images.githubusercontent.com/13158709/215004990-368c589d-7101-404e-b81b-fbc936382f05.gif)
9
-
10
- > Left is server code, and right is client code utilizing the SDK
11
-
12
-
13
-
14
-
15
- # What [`Nestia`](https://nestia.io) is:
16
- ![Nestia Logo](https://nestia.io/logo.png)
17
-
18
- [![GitHub license](https://img.shields.io/badge/license-MIT-blue.svg)](https://github.com/samchon/nestia/blob/master/LICENSE)
19
- [![npm version](https://img.shields.io/npm/v/@nestia/core.svg)](https://www.npmjs.com/package/@nestia/core)
20
- [![Downloads](https://img.shields.io/npm/dm/nestia.svg)](https://www.npmjs.com/package/nestia)
21
- [![Build Status](https://github.com/samchon/nestia/workflows/build/badge.svg)](https://github.com/samchon/nestia/actions?query=workflow%3Abuild)
22
- [![Guide Documents](https://img.shields.io/badge/guide-documents-forestgreen)](https://nestia.io/docs/)
23
-
24
- [Nestia](https://nestia.io) is a set of helper libraries for NestJS, supporting below features:
25
-
26
- - `@nestia/core`: super-fast decorators
27
- - `@nestia/sdk`
28
- - SDK generator for clients
29
- - Swagger generator evolved than ever
30
- - Automatic E2E test functions generator
31
- - `nestia`: just CLI (command line interface) tool
32
-
33
- > [!NOTE]
34
- >
35
- > - **Only one line** required, with pure TypeScript type
36
- > - Runtime validator is **20,000x faster** than `class-validator`
37
- > - JSON serialization is **200x faster** than `class-transformer`
1
+ # SDK Library
2
+ This is a SDK library generated by [`nestia`](https://nestia.io).
3
+
4
+ With this SDK library, you can easily and safely interact with backend server.
5
+
6
+ Just import and call some API functions like gif image below:
7
+
8
+ ![nestia-sdk-demo](https://user-images.githubusercontent.com/13158709/215004990-368c589d-7101-404e-b81b-fbc936382f05.gif)
9
+
10
+ > Left is server code, and right is client code utilizing the SDK
11
+
12
+
13
+
14
+
15
+ # What [`Nestia`](https://nestia.io) is:
16
+ ![Nestia Logo](https://nestia.io/logo.png)
17
+
18
+ [![GitHub license](https://img.shields.io/badge/license-MIT-blue.svg)](https://github.com/samchon/nestia/blob/master/LICENSE)
19
+ [![npm version](https://img.shields.io/npm/v/@nestia/core.svg)](https://www.npmjs.com/package/@nestia/core)
20
+ [![Downloads](https://img.shields.io/npm/dm/nestia.svg)](https://www.npmjs.com/package/nestia)
21
+ [![Build Status](https://github.com/samchon/nestia/workflows/build/badge.svg)](https://github.com/samchon/nestia/actions?query=workflow%3Abuild)
22
+ [![Guide Documents](https://img.shields.io/badge/guide-documents-forestgreen)](https://nestia.io/docs/)
23
+
24
+ [Nestia](https://nestia.io) is a set of helper libraries for NestJS, supporting below features:
25
+
26
+ - `@nestia/core`: super-fast decorators
27
+ - `@nestia/sdk`
28
+ - SDK generator for clients
29
+ - Swagger generator evolved than ever
30
+ - Automatic E2E test functions generator
31
+ - `nestia`: just CLI (command line interface) tool
32
+
33
+ > [!NOTE]
34
+ >
35
+ > - **Only one line** required, with pure TypeScript type
36
+ > - Runtime validator is **20,000x faster** than `class-validator`
37
+ > - JSON serialization is **200x faster** than `class-transformer`
38
38
  > - SDK is similar with [tRPC](https://trpc.io), but much advanced
@@ -1,28 +1,28 @@
1
- {
2
- "name": "@ORGANIZATION/PROJECT-api",
3
- "version": "0.1.0",
4
- "description": "SDK library generated by Nestia",
5
- "main": "lib/index.js",
6
- "typings": "lib/index.d.ts",
7
- "scripts": {
8
- "build": "npm run build:sdk && npm run compile",
9
- "build:sdk": "rimraf ${output}/functional && cd ${root} && npx nestia sdk && cd ${current}",
10
- "compile": "rimraf lib && tsc",
11
- "deploy": "npm run build && npm publish"
12
- },
13
- "repository": {
14
- "type": "git",
15
- "url": "https://github.com/samchon/nestia"
16
- },
17
- "author": "Jeongho Nam",
18
- "license": "MIT",
19
- "bugs": {
20
- "url": "https://github.com/samchon/nestia/issues"
21
- },
22
- "homepage": "https://nestia.io",
23
- "files": [
24
- "lib",
25
- "package.json",
26
- "README.md"
27
- ]
28
- }
1
+ {
2
+ "name": "@ORGANIZATION/PROJECT-api",
3
+ "version": "0.1.0",
4
+ "description": "SDK library generated by Nestia",
5
+ "main": "lib/index.js",
6
+ "typings": "lib/index.d.ts",
7
+ "scripts": {
8
+ "build": "npm run build:sdk && npm run compile",
9
+ "build:sdk": "rimraf ${output}/functional && cd ${root} && npx nestia sdk && cd ${current}",
10
+ "compile": "rimraf lib && tsc",
11
+ "deploy": "npm run build && npm publish"
12
+ },
13
+ "repository": {
14
+ "type": "git",
15
+ "url": "https://github.com/samchon/nestia"
16
+ },
17
+ "author": "Jeongho Nam",
18
+ "license": "MIT",
19
+ "bugs": {
20
+ "url": "https://github.com/samchon/nestia/issues"
21
+ },
22
+ "homepage": "https://nestia.io",
23
+ "files": [
24
+ "lib",
25
+ "package.json",
26
+ "README.md"
27
+ ]
28
+ }