@nestia/sdk 2.3.0-dev.20231019 → 2.3.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.
@@ -41,40 +41,37 @@ const PathAnalyzer_1 = require("./PathAnalyzer");
41
41
  const SecurityAnalyzer_1 = require("./SecurityAnalyzer");
42
42
  var ReflectAnalyzer;
43
43
  (function (ReflectAnalyzer) {
44
- function analyze(unique, file, prefixes, target) {
45
- return __awaiter(this, void 0, void 0, function* () {
46
- const module = yield (() => __awaiter(this, void 0, void 0, function* () {
47
- try {
48
- return yield Promise.resolve(`${file}`).then(s => __importStar(require(s)));
49
- }
50
- catch (exp) {
51
- console.log(">>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>");
52
- console.log(`Error on "${file}" file. Check your code.`);
53
- console.log(exp);
54
- console.log(">>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>");
55
- process.exit(-1);
56
- }
57
- }))();
58
- const ret = [];
59
- for (const [key, value] of Object.entries(module)) {
60
- if (typeof value !== "function" || unique.has(value))
61
- continue;
62
- else if ((target !== null && target !== void 0 ? target : value) !== value)
63
- continue;
64
- else
65
- unique.add(value);
66
- const result = _Analyze_controller(file, key, value, prefixes);
67
- if (result !== null)
68
- ret.push(result);
44
+ ReflectAnalyzer.analyze = (project) => (unique, file, prefixes, target) => __awaiter(this, void 0, void 0, function* () {
45
+ const module = yield (() => __awaiter(this, void 0, void 0, function* () {
46
+ try {
47
+ return yield Promise.resolve(`${file}`).then(s => __importStar(require(s)));
69
48
  }
70
- return ret;
71
- });
72
- }
73
- ReflectAnalyzer.analyze = analyze;
49
+ catch (exp) {
50
+ console.log(">>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>");
51
+ console.log(`Error on "${file}" file. Check your code.`);
52
+ console.log(exp);
53
+ console.log(">>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>");
54
+ process.exit(-1);
55
+ }
56
+ }))();
57
+ const ret = [];
58
+ for (const [key, value] of Object.entries(module)) {
59
+ if (typeof value !== "function" || unique.has(value))
60
+ continue;
61
+ else if ((target !== null && target !== void 0 ? target : value) !== value)
62
+ continue;
63
+ else
64
+ unique.add(value);
65
+ const result = _Analyze_controller(project)(file, key, value, prefixes);
66
+ if (result !== null)
67
+ ret.push(result);
68
+ }
69
+ return ret;
70
+ });
74
71
  /* ---------------------------------------------------------
75
72
  CONTROLLER
76
73
  --------------------------------------------------------- */
77
- function _Analyze_controller(file, name, creator, prefixes) {
74
+ const _Analyze_controller = (project) => (file, name, creator, prefixes) => {
78
75
  var _a;
79
76
  //----
80
77
  // VALIDATIONS
@@ -102,13 +99,13 @@ var ReflectAnalyzer;
102
99
  };
103
100
  // PARSE CHILDREN DATA
104
101
  for (const tuple of _Get_prototype_entries(creator)) {
105
- const child = _Analyze_function(creator.prototype, meta, ...tuple);
102
+ const child = _Analyze_function(project)(creator.prototype, meta, ...tuple);
106
103
  if (child !== null)
107
104
  meta.functions.push(child);
108
105
  }
109
106
  // RETURNS
110
107
  return meta;
111
- }
108
+ };
112
109
  function _Get_prototype_entries(creator) {
113
110
  const keyList = Object.getOwnPropertyNames(creator.prototype);
114
111
  const entries = keyList.map((key) => [
@@ -144,7 +141,7 @@ var ReflectAnalyzer;
144
141
  /* ---------------------------------------------------------
145
142
  FUNCTION
146
143
  --------------------------------------------------------- */
147
- function _Analyze_function(classProto, controller, name, proto) {
144
+ const _Analyze_function = (project) => (classProto, controller, name, proto) => {
148
145
  var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k;
149
146
  //----
150
147
  // VALIDATIONS
@@ -155,6 +152,7 @@ var ReflectAnalyzer;
155
152
  // MUST HAVE THOSE METADATE
156
153
  else if (ArrayUtil_1.ArrayUtil.has(Reflect.getMetadataKeys(proto), Constants.PATH_METADATA, Constants.METHOD_METADATA) === false)
157
154
  return null;
155
+ const errors = [];
158
156
  //----
159
157
  // CONSTRUCTION
160
158
  //----
@@ -178,8 +176,15 @@ var ReflectAnalyzer;
178
176
  })();
179
177
  // VALIDATE BODY
180
178
  const body = parameters.find((param) => param.category === "body");
181
- if (body !== undefined && (method === "GET" || method === "HEAD"))
182
- throw new Error(`Error on ${controller.name}.${name}(): "body" parameter cannot be used in the "GET" or "HEAD" method`);
179
+ if (body !== undefined && (method === "GET" || method === "HEAD")) {
180
+ errors.push({
181
+ file: controller.file,
182
+ controller: controller.name,
183
+ function: name,
184
+ message: `"body" parameter cannot be used in the "${method}" method.`,
185
+ });
186
+ return null;
187
+ }
183
188
  // DO CONSTRUCT
184
189
  const meta = {
185
190
  name,
@@ -218,11 +223,20 @@ var ReflectAnalyzer;
218
223
  .sort();
219
224
  // DO VALIDATE
220
225
  if ((0, module_1.equal)(binded, parameters) === false)
221
- throw new Error(`Error on ${controller.name}.${name}(): binded arguments in the "path" between function's decorator and parameters' decorators are different (function: [${binded.join(", ")}], parameters: [${parameters.join(", ")}])`);
226
+ errors.push({
227
+ file: controller.file,
228
+ controller: controller.name,
229
+ function: name,
230
+ message: `binded arguments in the "path" between function's decorator and parameters' decorators are different (function: [${binded.join(", ")}], parameters: [${parameters.join(", ")}]).`,
231
+ });
222
232
  }
223
233
  // RETURNS
234
+ if (errors.length) {
235
+ project.errors.push(...errors);
236
+ return null;
237
+ }
224
238
  return meta;
225
- }
239
+ };
226
240
  /* ---------------------------------------------------------
227
241
  PARAMETER
228
242
  --------------------------------------------------------- */
@@ -1 +1 @@
1
- {"version":3,"file":"ReflectAnalyzer.js","sourceRoot":"","sources":["../../src/analyses/ReflectAnalyzer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ReflectAnalyzer.js","sourceRoot":"","sources":["../../src/analyses/ReflectAnalyzer.ts"],"names":[],"mappings":"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"}
@@ -63,6 +63,7 @@ function dependencies(argv) {
63
63
  const prefix = module === "yarn" ? "yarn add" : `${module} install`;
64
64
  for (const lib of ["@nestia/fetcher", "typia"]) {
65
65
  const command = `${prefix} ${lib}`;
66
+ console.log(`\n$ ${command}`);
66
67
  child_process_1.default.execSync(command, { stdio: "inherit" });
67
68
  }
68
69
  }
@@ -1 +1 @@
1
- {"version":3,"file":"sdk.js","sourceRoot":"","sources":["../../src/executable/sdk.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA,kEAA+B;AAC/B,4CAAoB;AACpB,sDAA8B;AAE9B,4DAAyD;AAGzD,MAAM,KAAK,GAAG;;;;;;;;;;;CAWb,CAAC;AAEF,SAAS,IAAI,CAAC,IAAY;IACtB,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IACpB,iBAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;AACrB,CAAC;AAED,SAAS,YAAY,CAAC,IAAc;;IAChC,uBAAuB;IACvB,MAAM,MAAM,GAAG,MAAA,6BAAa,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,mCAAI,KAAK,CAAC;IACzD,MAAM,MAAM,GAAW,MAAM,KAAK,MAAM,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,GAAG,MAAM,UAAU,CAAC;IAE5E,KAAK,MAAM,GAAG,IAAI,CAAC,iBAAiB,EAAE,OAAO,CAAC,EAAE;QAC5C,MAAM,OAAO,GAAW,GAAG,MAAM,IAAI,GAAG,EAAE,CAAC;QAC3C,uBAAE,CAAC,QAAQ,CAAC,OAAO,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC;KAC9C;AACL,CAAC;AAED,SAAe,UAAU;;QACrB,IAAI,YAAE,CAAC,UAAU,CAAC,kBAAkB,CAAC,KAAK,IAAI;YAC1C,IAAI,CACA,wFAAwF,CAC3F,CAAC;QACN,MAAM,YAAE,CAAC,QAAQ,CAAC,QAAQ,CACtB,GAAG,SAAS,uCAAuC,EACnD,kBAAkB,CACrB,CAAC;IACN,CAAC;CAAA;AAED,SAAe,OAAO,CAClB,OAA8D;;QAE9D,MAAM,MAAM,GAAG,wDAAa,6BAA6B,GAAC,CAAC;QAC3D,MAAM,OAAO,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC;IAC3C,CAAC;CAAA;AAED,SAAe,IAAI;;QACf,MAAM,IAAI,GAAuB,iBAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACjD,MAAM,IAAI,GAAa,iBAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QAE7C,IAAI,IAAI,KAAK,cAAc;YAAE,YAAY,CAAC,IAAI,CAAC,CAAC;aAC3C,IAAI,IAAI,KAAK,MAAM;YAAE,MAAM,UAAU,EAAE,CAAC;aACxC,IAAI,IAAI,KAAK,KAAK;YAAE,MAAM,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC;aAClD,IAAI,IAAI,KAAK,SAAS;YAAE,MAAM,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;aAC1D,IAAI,IAAI,KAAK,KAAK;YAAE,MAAM,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC;;YAClD,IAAI,CAAC,KAAK,CAAC,CAAC;IACrB,CAAC;CAAA;AACD,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;IACjB,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IACjB,iBAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;AACrB,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"sdk.js","sourceRoot":"","sources":["../../src/executable/sdk.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA,kEAA+B;AAC/B,4CAAoB;AACpB,sDAA8B;AAE9B,4DAAyD;AAGzD,MAAM,KAAK,GAAG;;;;;;;;;;;CAWb,CAAC;AAEF,SAAS,IAAI,CAAC,IAAY;IACtB,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IACpB,iBAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;AACrB,CAAC;AAED,SAAS,YAAY,CAAC,IAAc;;IAChC,uBAAuB;IACvB,MAAM,MAAM,GAAG,MAAA,6BAAa,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,mCAAI,KAAK,CAAC;IACzD,MAAM,MAAM,GAAW,MAAM,KAAK,MAAM,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,GAAG,MAAM,UAAU,CAAC;IAE5E,KAAK,MAAM,GAAG,IAAI,CAAC,iBAAiB,EAAE,OAAO,CAAC,EAAE;QAC5C,MAAM,OAAO,GAAW,GAAG,MAAM,IAAI,GAAG,EAAE,CAAC;QAC3C,OAAO,CAAC,GAAG,CAAC,OAAO,OAAO,EAAE,CAAC,CAAC;QAC9B,uBAAE,CAAC,QAAQ,CAAC,OAAO,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC;KAC9C;AACL,CAAC;AAED,SAAe,UAAU;;QACrB,IAAI,YAAE,CAAC,UAAU,CAAC,kBAAkB,CAAC,KAAK,IAAI;YAC1C,IAAI,CACA,wFAAwF,CAC3F,CAAC;QACN,MAAM,YAAE,CAAC,QAAQ,CAAC,QAAQ,CACtB,GAAG,SAAS,uCAAuC,EACnD,kBAAkB,CACrB,CAAC;IACN,CAAC;CAAA;AAED,SAAe,OAAO,CAClB,OAA8D;;QAE9D,MAAM,MAAM,GAAG,wDAAa,6BAA6B,GAAC,CAAC;QAC3D,MAAM,OAAO,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC;IAC3C,CAAC;CAAA;AAED,SAAe,IAAI;;QACf,MAAM,IAAI,GAAuB,iBAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACjD,MAAM,IAAI,GAAa,iBAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QAE7C,IAAI,IAAI,KAAK,cAAc;YAAE,YAAY,CAAC,IAAI,CAAC,CAAC;aAC3C,IAAI,IAAI,KAAK,MAAM;YAAE,MAAM,UAAU,EAAE,CAAC;aACxC,IAAI,IAAI,KAAK,KAAK;YAAE,MAAM,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC;aAClD,IAAI,IAAI,KAAK,SAAS;YAAE,MAAM,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;aAC1D,IAAI,IAAI,KAAK,KAAK;YAAE,MAAM,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC;;YAClD,IAAI,CAAC,KAAK,CAAC,CAAC;IACrB,CAAC;CAAA;AACD,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;IACjB,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IACjB,iBAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;AACrB,CAAC,CAAC,CAAC"}
@@ -0,0 +1,6 @@
1
+ export interface IErrorReport {
2
+ file: string;
3
+ controller: string;
4
+ function: string;
5
+ message: string;
6
+ }
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=IErrorReport.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IErrorReport.js","sourceRoot":"","sources":["../../src/structures/IErrorReport.ts"],"names":[],"mappings":""}
@@ -0,0 +1,10 @@
1
+ import ts from "typescript";
2
+ import { INestiaConfig } from "../INestiaConfig";
3
+ import { IErrorReport } from "./IErrorReport";
4
+ import { INormalizedInput } from "./INormalizedInput";
5
+ export interface INestiaProject {
6
+ config: INestiaConfig;
7
+ input: INormalizedInput;
8
+ checker: ts.TypeChecker;
9
+ errors: IErrorReport[];
10
+ }
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=INestiaProject.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"INestiaProject.js","sourceRoot":"","sources":["../../src/structures/INestiaProject.ts"],"names":[],"mappings":""}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@nestia/sdk",
3
- "version": "2.3.0-dev.20231019",
3
+ "version": "2.3.0",
4
4
  "description": "Nestia SDK and Swagger generator",
5
5
  "main": "lib/index.js",
6
6
  "typings": "lib/index.d.ts",
@@ -35,7 +35,7 @@
35
35
  },
36
36
  "homepage": "https://nestia.io",
37
37
  "dependencies": {
38
- "@nestia/fetcher": "^2.3.0-dev.20231019",
38
+ "@nestia/fetcher": "^2.3.0",
39
39
  "cli": "^1.0.1",
40
40
  "get-function-location": "^2.0.0",
41
41
  "glob": "^7.2.0",
@@ -45,16 +45,16 @@
45
45
  "tsconfck": "^2.0.1",
46
46
  "tsconfig-paths": "^4.1.1",
47
47
  "tstl": "^2.5.13",
48
- "typia": "^5.2.2"
48
+ "typia": "^5.2.3"
49
49
  },
50
50
  "peerDependencies": {
51
- "@nestia/fetcher": ">=2.3.0-dev.20231019",
51
+ "@nestia/fetcher": ">=2.3.0",
52
52
  "@nestjs/common": ">=7.0.1",
53
53
  "@nestjs/core": ">=7.0.1",
54
54
  "reflect-metadata": ">=0.1.12",
55
55
  "ts-node": ">=10.6.0",
56
56
  "typescript": ">=4.8.0",
57
- "typia": ">=5.2.2 <6.0.0"
57
+ "typia": ">=5.2.3 <6.0.0"
58
58
  },
59
59
  "devDependencies": {
60
60
  "@nestjs/common": ">= 7.0.1",
@@ -14,7 +14,7 @@ export interface INestiaConfig {
14
14
  /**
15
15
  * Accessor of controller classes.
16
16
  *
17
- * You can specify target controller classes within two ways
17
+ * You can specify target controller classes within two ways.
18
18
  *
19
19
  * - Asynchronous function returning `INestApplication` instance
20
20
  * - Specify the path or directory of controller class files
@@ -11,7 +11,10 @@ import { E2eGenerator } from "./generates/E2eGenerator";
11
11
  import { SdkGenerator } from "./generates/SdkGenerator";
12
12
  import { SwaggerGenerator } from "./generates/SwaggerGenerator";
13
13
  import { IController } from "./structures/IController";
14
+ import { IErrorReport } from "./structures/IErrorReport";
15
+ import { INestiaProject } from "./structures/INestiaProject";
14
16
  import { IRoute } from "./structures/IRoute";
17
+ import { MapUtil } from "./utils/MapUtil";
15
18
 
16
19
  export class NestiaSdkApplication {
17
20
  public constructor(
@@ -104,11 +107,17 @@ export class NestiaSdkApplication {
104
107
  // ANALYZE REFLECTS
105
108
  const unique: WeakSet<any> = new WeakSet();
106
109
  const controllers: IController[] = [];
110
+ const project: INestiaProject = {
111
+ config: this.config,
112
+ input: await ConfigAnalyzer.input(this.config),
113
+ checker: null!,
114
+ errors: [],
115
+ };
107
116
 
108
117
  console.log("Analyzing reflections");
109
118
  for (const include of (await ConfigAnalyzer.input(this.config)).include)
110
119
  controllers.push(
111
- ...(await ReflectAnalyzer.analyze(
120
+ ...(await ReflectAnalyzer.analyze(project)(
112
121
  unique,
113
122
  include.file,
114
123
  include.paths,
@@ -146,7 +155,7 @@ export class NestiaSdkApplication {
146
155
  controllers.map((c) => c.file),
147
156
  this.compilerOptions,
148
157
  );
149
- const checker: ts.TypeChecker = program.getTypeChecker();
158
+ project.checker = program.getTypeChecker();
150
159
 
151
160
  const routeList: IRoute[] = [];
152
161
  for (const c of controllers) {
@@ -155,15 +164,16 @@ export class NestiaSdkApplication {
155
164
  );
156
165
  if (file === undefined) continue;
157
166
  routeList.push(
158
- ...(await ControllerAnalyzer.analyze(
159
- this.config,
160
- checker,
161
- file,
162
- c,
163
- )),
167
+ ...(await ControllerAnalyzer.analyze(project)(file, c)),
164
168
  );
165
169
  }
166
170
 
171
+ // REPORT ERRORS
172
+ if (project.errors.length) {
173
+ report_errors(project.errors);
174
+ process.exit(-1);
175
+ }
176
+
167
177
  // FIND IMPLICIT TYPES
168
178
  const implicit: IRoute[] = routeList.filter(is_implicit_return_typed);
169
179
  if (implicit.length > 0)
@@ -181,7 +191,7 @@ export class NestiaSdkApplication {
181
191
 
182
192
  // DO GENERATE
183
193
  AccessorAnalyzer.analyze(routeList);
184
- await archiver(checker)(config(this.config))(routeList);
194
+ await archiver(project.checker)(config(this.config))(routeList);
185
195
  }
186
196
  }
187
197
 
@@ -207,4 +217,30 @@ const is_implicit_return_typed = (route: IRoute): boolean => {
207
217
  return true;
208
218
  };
209
219
 
220
+ const report_errors = (errors: IErrorReport[]): void => {
221
+ // key: file
222
+ // key: controller
223
+ // key: function
224
+ // value: message
225
+ const map: Map<string, Map<string, Map<string, Set<string>>>> = new Map();
226
+ for (const e of errors) {
227
+ const file = MapUtil.take(map, e.file, () => new Map());
228
+ const controller = MapUtil.take(file, e.controller, () => new Map());
229
+ const func = MapUtil.take(controller, e.function, () => new Set());
230
+ func.add(e.message);
231
+ }
232
+
233
+ console.log("");
234
+ title("Nestia Error Report");
235
+ for (const [file, cMap] of map) {
236
+ for (const [controller, fMap] of cMap)
237
+ for (const [func, messages] of fMap) {
238
+ const location: string = path.relative(process.cwd(), file);
239
+ console.log(`${location} - error on ${controller}.${func}()`);
240
+ for (const msg of messages) console.log(` - ${msg}`);
241
+ console.log("");
242
+ }
243
+ }
244
+ };
245
+
210
246
  const VARIABLE = /[a-zA-Z_$0-9]/;