tspace-spear 1.2.7 → 1.2.9

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 (80) hide show
  1. package/README.md +299 -146
  2. package/dist/cli/generators/app/index.d.ts +1 -0
  3. package/dist/cli/generators/app/index.js +124 -0
  4. package/dist/cli/generators/app/index.js.map +1 -0
  5. package/dist/cli/generators/app/template.d.ts +1 -0
  6. package/dist/cli/{app.js → generators/app/template.js} +22 -8
  7. package/dist/cli/generators/app/template.js.map +1 -0
  8. package/dist/cli/generators/client/template.d.ts +1 -0
  9. package/dist/cli/generators/client/template.js +30 -0
  10. package/dist/cli/generators/client/template.js.map +1 -0
  11. package/dist/cli/generators/controller/index.d.ts +1 -0
  12. package/dist/cli/generators/controller/index.js +78 -0
  13. package/dist/cli/generators/controller/index.js.map +1 -0
  14. package/dist/cli/generators/controller/template.d.ts +1 -0
  15. package/dist/cli/generators/controller/template.js +106 -0
  16. package/dist/cli/generators/controller/template.js.map +1 -0
  17. package/dist/cli/generators/dto/index.d.ts +1 -0
  18. package/dist/cli/generators/dto/index.js +57 -0
  19. package/dist/cli/generators/dto/index.js.map +1 -0
  20. package/dist/cli/generators/dto/template.d.ts +1 -0
  21. package/dist/cli/generators/dto/template.js +32 -0
  22. package/dist/cli/generators/dto/template.js.map +1 -0
  23. package/dist/cli/generators/middleware/index.d.ts +1 -0
  24. package/dist/cli/generators/middleware/index.js +38 -0
  25. package/dist/cli/generators/middleware/index.js.map +1 -0
  26. package/dist/cli/generators/middleware/template.d.ts +1 -0
  27. package/dist/cli/generators/middleware/template.js +16 -0
  28. package/dist/cli/generators/middleware/template.js.map +1 -0
  29. package/dist/cli/generators/module/index.d.ts +1 -0
  30. package/dist/cli/generators/module/index.js +173 -0
  31. package/dist/cli/generators/module/index.js.map +1 -0
  32. package/dist/cli/generators/service/index.d.ts +1 -0
  33. package/dist/cli/generators/service/index.js +53 -0
  34. package/dist/cli/generators/service/index.js.map +1 -0
  35. package/dist/cli/generators/service/template.d.ts +1 -0
  36. package/dist/cli/generators/service/template.js +74 -0
  37. package/dist/cli/generators/service/template.js.map +1 -0
  38. package/dist/cli/generators/shared/index.d.ts +3 -0
  39. package/dist/cli/generators/shared/index.js +22 -0
  40. package/dist/cli/generators/shared/index.js.map +1 -0
  41. package/dist/cli/index.js +53 -96
  42. package/dist/cli/index.js.map +1 -1
  43. package/dist/lib/core/client/index.d.ts +13 -43
  44. package/dist/lib/core/client/index.js +47 -26
  45. package/dist/lib/core/client/index.js.map +1 -1
  46. package/dist/lib/core/{compiler → client}/types.d.ts +29 -0
  47. package/dist/lib/core/client/types.js.map +1 -0
  48. package/dist/lib/core/compiler/generator.d.ts +4 -6
  49. package/dist/lib/core/compiler/generator.js +186 -39
  50. package/dist/lib/core/compiler/generator.js.map +1 -1
  51. package/dist/lib/core/compiler/index.d.ts +2 -2
  52. package/dist/lib/core/compiler/index.js +2 -2
  53. package/dist/lib/core/compiler/index.js.map +1 -1
  54. package/dist/lib/core/compiler/pre-routes.d.ts +170 -34
  55. package/dist/lib/core/compiler/pre-routes.js +45 -25
  56. package/dist/lib/core/compiler/pre-routes.js.map +1 -1
  57. package/dist/lib/core/decorators/context.d.ts +78 -8
  58. package/dist/lib/core/decorators/context.js +84 -9
  59. package/dist/lib/core/decorators/context.js.map +1 -1
  60. package/dist/lib/core/decorators/statusCode.js +3 -1
  61. package/dist/lib/core/decorators/statusCode.js.map +1 -1
  62. package/dist/lib/core/package/index.d.ts +11 -0
  63. package/dist/lib/core/package/index.js +42 -0
  64. package/dist/lib/core/package/index.js.map +1 -0
  65. package/dist/lib/core/server/fast-router.d.ts +2 -2
  66. package/dist/lib/core/server/fast-router.js +17 -3
  67. package/dist/lib/core/server/fast-router.js.map +1 -1
  68. package/dist/lib/core/server/index.js +2 -2
  69. package/dist/lib/core/server/index.js.map +1 -1
  70. package/dist/lib/core/server/response.js +21 -1
  71. package/dist/lib/core/server/response.js.map +1 -1
  72. package/dist/lib/core/types/index.d.ts +32 -27
  73. package/package.json +7 -4
  74. package/dist/cli/app.d.ts +0 -1
  75. package/dist/cli/app.js.map +0 -1
  76. package/dist/cli/controller.d.ts +0 -1
  77. package/dist/cli/controller.js +0 -158
  78. package/dist/cli/controller.js.map +0 -1
  79. package/dist/lib/core/compiler/types.js.map +0 -1
  80. /package/dist/lib/core/{compiler → client}/types.js +0 -0
@@ -3,7 +3,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
3
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.generateRoutes = generateRoutes;
6
+ exports.generateRoutes = void 0;
7
7
  const ts_morph_1 = require("ts-morph");
8
8
  const typescript_1 = __importDefault(require("typescript"));
9
9
  const fs_1 = __importDefault(require("fs"));
@@ -17,15 +17,30 @@ const HTTP_METHODS = {
17
17
  Options: "OPTIONS",
18
18
  Head: "HEAD",
19
19
  };
20
- function normalizePath(p) {
20
+ const normalizeType = (t) => {
21
+ return t
22
+ .split("|")
23
+ .map(v => v.trim())
24
+ .filter(v => v !== "null" &&
25
+ v !== "undefined")[0] || "string";
26
+ };
27
+ const maybeObject = (v) => {
28
+ const s = v.trim();
29
+ return s.startsWith("{") && s.endsWith("}");
30
+ };
31
+ const maybeArrayObject = (v) => {
32
+ const s = v.trim();
33
+ return s.endsWith("}[]");
34
+ };
35
+ const normalizePath = (p) => {
21
36
  return ("/" +
22
37
  p
23
38
  .replace(/['"`]/g, "")
24
39
  .replace(/\/+/g, "/")
25
40
  .replace(/\/$/, "")
26
41
  .replace(/^\//, ""));
27
- }
28
- function splitTopLevel(input) {
42
+ };
43
+ const splitTopLevel = (input) => {
29
44
  const parts = [];
30
45
  let current = "";
31
46
  let depth = 0;
@@ -45,11 +60,11 @@ function splitTopLevel(input) {
45
60
  parts.push(current.trim());
46
61
  }
47
62
  return parts;
48
- }
49
- function parseType(type) {
63
+ };
64
+ const parseType = (type) => {
50
65
  type = type.trim();
51
66
  if (type === "never") {
52
- return null;
67
+ return undefined;
53
68
  }
54
69
  if (type.startsWith("Record<")) {
55
70
  return {};
@@ -121,6 +136,8 @@ function parseType(type) {
121
136
  return "boolean";
122
137
  if (type === "date")
123
138
  return "date";
139
+ if (type === "Date")
140
+ return "Date";
124
141
  if (type === "string | undefined")
125
142
  return "string";
126
143
  if (type === "number | undefined")
@@ -129,6 +146,8 @@ function parseType(type) {
129
146
  return "boolean";
130
147
  if (type === "date | undefined")
131
148
  return "date";
149
+ if (type === "Date | undefined")
150
+ return "Date";
132
151
  if (type.includes("| undefined")) {
133
152
  return type;
134
153
  }
@@ -139,11 +158,9 @@ function parseType(type) {
139
158
  return type.replace(/"/g, "");
140
159
  }
141
160
  // fallback
142
- return {
143
- $ref: type
144
- };
145
- }
146
- function resolveType(type) {
161
+ return "string";
162
+ };
163
+ const resolveType = (type) => {
147
164
  if (type.getSymbol()?.getName() === "Promise") {
148
165
  type = type.getTypeArguments()[0];
149
166
  }
@@ -161,14 +178,52 @@ function resolveType(type) {
161
178
  return "any";
162
179
  if (type.isUnknown())
163
180
  return "unknown";
164
- if (type.isUnion())
181
+ if (type.isStringLiteral() ||
182
+ type.isBooleanLiteral() ||
183
+ type.isNumberLiteral())
165
184
  return type.getText();
185
+ if (type.getText() === 'Date' &&
186
+ type.getSymbol()?.getName() === 'Date') {
187
+ return "Date";
188
+ }
189
+ if (type.getText().includes("ServerResponse") &&
190
+ type.getText().includes("THttpResponder")) {
191
+ const filtered = type
192
+ .getIntersectionTypes()
193
+ .filter((t) => {
194
+ const text = t.getText();
195
+ return (!text.includes("ServerResponse") &&
196
+ !text.includes("THttpResponder"));
197
+ });
198
+ const t = filtered[0];
199
+ if (t == null)
200
+ return 'never';
201
+ return resolveType(t);
202
+ }
203
+ if (type.isUnion()) {
204
+ const text = type.getText();
205
+ if (text.includes('| null') || text.includes('| undefined')) {
206
+ const types = type.getUnionTypes();
207
+ if (types.length > 1) {
208
+ const nonSpecial = types.filter(t => !t.isNull() && !t.isUndefined());
209
+ const hasNull = types.some(t => t.isNull());
210
+ const hasUndefined = types.some(t => t.isUndefined());
211
+ const sorted = [
212
+ ...nonSpecial,
213
+ ...(hasNull ? [types.find(t => t.isNull())] : []),
214
+ ...(hasUndefined ? [types.find(t => t.isUndefined())] : []),
215
+ ];
216
+ return sorted.map(t => resolveType(t)).join(" | ");
217
+ }
218
+ }
219
+ return text;
220
+ }
166
221
  if (type.isArray()) {
167
222
  const el = type.getArrayElementTypeOrThrow();
168
223
  return `${resolveType(el)}[]`;
169
224
  }
170
- const props = type.getProperties();
171
- if (props.length) {
225
+ if (type.getProperties().length) {
226
+ const props = type.getProperties();
172
227
  const obj = [];
173
228
  for (const prop of props) {
174
229
  const decl = prop.getDeclarations()[0];
@@ -196,8 +251,8 @@ function resolveType(type) {
196
251
  return `{ ${obj.join("; ")} }`;
197
252
  }
198
253
  return type.getText();
199
- }
200
- function extractPropertyType(type, key, node) {
254
+ };
255
+ const extractPropertyType = (type, key, node) => {
201
256
  const prop = type.getProperty(key);
202
257
  if (!prop)
203
258
  return "never";
@@ -208,12 +263,12 @@ function extractPropertyType(type, key, node) {
208
263
  if (!text || text.includes("undefined"))
209
264
  return "never";
210
265
  return resolveType(t) ?? "never";
211
- }
212
- async function generateRoutes(options) {
266
+ };
267
+ const generateRoutes = async (globalPrefix, options) => {
213
268
  const project = new ts_morph_1.Project({
214
269
  tsConfigFilePath: path_1.default.resolve(process.cwd(), "tsconfig.json"),
215
270
  });
216
- project.addSourceFilesAtPaths(path_1.default.join(options.controllers.folder, "**/*"));
271
+ project.addSourceFilesAtPaths(path_1.default.join(options.folder, "**/*"));
217
272
  const files = project.getSourceFiles();
218
273
  if (!files.length) {
219
274
  console.log("No controller files found");
@@ -222,7 +277,7 @@ async function generateRoutes(options) {
222
277
  const routes = [];
223
278
  for (const file of files) {
224
279
  const filename = file.getBaseName();
225
- if (!options.controllers.name.test(filename))
280
+ if (!options.name.test(filename))
226
281
  continue;
227
282
  for (const cls of file.getClasses()) {
228
283
  const controller = cls.getDecorator("Controller");
@@ -249,10 +304,12 @@ async function generateRoutes(options) {
249
304
  const firstParam = method.getParameters()[0];
250
305
  if (firstParam) {
251
306
  const type = firstParam.getType();
252
- body = extractPropertyType(type, "body", firstParam);
253
307
  params = extractPropertyType(type, "params", firstParam);
254
308
  query = extractPropertyType(type, "query", firstParam);
309
+ body = extractPropertyType(type, "body", firstParam);
255
310
  files = extractPropertyType(type, "files", firstParam);
311
+ if (body === 'Record<string, any>')
312
+ body = "never";
256
313
  }
257
314
  routes.push({
258
315
  method: http,
@@ -261,7 +318,7 @@ async function generateRoutes(options) {
261
318
  body,
262
319
  params,
263
320
  query,
264
- files,
321
+ files
265
322
  });
266
323
  }
267
324
  }
@@ -295,9 +352,93 @@ async function generateRoutes(options) {
295
352
  }`;
296
353
  })
297
354
  .join("\n");
298
- const formatValue = (v) => {
299
- if (typeof v === "string")
300
- return v;
355
+ const formatExampleValue = (v) => {
356
+ if (v === null) {
357
+ return "null";
358
+ }
359
+ if (v === undefined) {
360
+ return "undefined";
361
+ }
362
+ if (typeof v === "string") {
363
+ const t = normalizeType(v.trim());
364
+ if (maybeObject(t)) {
365
+ const inner = t.trim().slice(1, -1);
366
+ const result = Object.fromEntries(splitTopLevel(inner)
367
+ .map(s => s.trim())
368
+ .filter(Boolean)
369
+ .map(pair => {
370
+ const idx = pair.indexOf(":");
371
+ const key = pair.slice(0, idx).trim();
372
+ const type = pair.slice(idx + 1).trim();
373
+ return [key.replace(/\?/g, ''), type];
374
+ }));
375
+ return formatExampleValue(result);
376
+ }
377
+ if (maybeArrayObject(t)) {
378
+ const s = v.trim();
379
+ const output = s.replace(/(\w+):\s*(\{[^}]+\})\[\]/, '$1: [$2]').match(/\{(.*)\}/)?.[1];
380
+ if (!output)
381
+ return `[]`;
382
+ const result = Object.fromEntries(splitTopLevel(output)
383
+ .map(s => s.trim())
384
+ .filter(Boolean)
385
+ .map(pair => {
386
+ const idx = pair.indexOf(":");
387
+ const key = pair.slice(0, idx).trim();
388
+ const type = pair.slice(idx + 1).trim();
389
+ return [key, type];
390
+ }));
391
+ return formatExampleValue(result);
392
+ }
393
+ switch (t) {
394
+ case "string":
395
+ return `"example"`;
396
+ case "string[]":
397
+ return `["example1", "example2", "example3"]`;
398
+ case "number":
399
+ return "123";
400
+ case "number[]":
401
+ return "[1 ,2, 3]";
402
+ case "boolean":
403
+ return "true";
404
+ case "boolean[]":
405
+ return "[true, false, true]";
406
+ case "null":
407
+ return "null";
408
+ case "null[]":
409
+ return "[null, null, null]";
410
+ case "undefined":
411
+ return "undefined";
412
+ case "undefined[]":
413
+ return "[undefined, undefined, undefined]";
414
+ case "date":
415
+ case "Date":
416
+ return `"2000-01-01T00:00:00.000Z"`;
417
+ case "date[]":
418
+ case "Date[]":
419
+ return `["2000-01-01T00:00:00.000Z","2000-01-02T00:00:00.000Z","2000-01-03T00:00:00.000Z"]`;
420
+ default:
421
+ return `"${t.replace(/"/g, "")}"`;
422
+ }
423
+ }
424
+ if (Array.isArray(v)) {
425
+ if (v.length === 0) {
426
+ return "[]";
427
+ }
428
+ return `[${formatExampleValue(v[0])}]`;
429
+ }
430
+ if (typeof v === "object") {
431
+ const entries = Object.entries(v).map(([key, value]) => {
432
+ if (key.includes("uuid")) {
433
+ return `${key}: "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"`;
434
+ }
435
+ if (key === "id" || key.endsWith("id")) {
436
+ return `${key}: 123`;
437
+ }
438
+ return `${key}: ${formatExampleValue(value)}`;
439
+ });
440
+ return `{ ${entries.map(v => `${v}`).join(", ")} }`;
441
+ }
301
442
  return JSON.stringify(v);
302
443
  };
303
444
  const groupedValues = routes.reduce((acc, route) => {
@@ -318,11 +459,11 @@ async function generateRoutes(options) {
318
459
  const methodBlock = Object.entries(methods)
319
460
  .map(([method, c]) => `
320
461
  ${method}: {
321
- params: ${formatValue(c.params)},
322
- query: ${formatValue(c.query)},
323
- body: ${formatValue(c.body)},
324
- files: ${formatValue(c.files)},
325
- response: ${formatValue(c.response)}
462
+ params: ${formatExampleValue(c.params)},
463
+ query: ${formatExampleValue(c.query)},
464
+ body: ${formatExampleValue(c.body)},
465
+ files: ${formatExampleValue(c.files)},
466
+ response: ${formatExampleValue(c.response)}
326
467
  }`).join(",\n");
327
468
  return `
328
469
  "${path}": {
@@ -334,16 +475,20 @@ async function generateRoutes(options) {
334
475
  // @ts-nocheck
335
476
  // AUTO GENERATED FILE
336
477
  // DO NOT EDIT
478
+ // **Response values shown here are examples only.
479
+ ${globalPrefix ?
480
+ `// **The App is using the configuration:
481
+ // globalPrefix: '${globalPrefix}'` : ''}
337
482
 
338
483
  export const appRoutes = {
339
484
  ${routerMapValues}
340
- }
485
+ };
341
486
 
342
487
  export interface AppRoutes {
343
488
  ${routeMapTypes}
344
- }
489
+ };
345
490
 
346
- export type AppRoute = keyof AppRoutes
491
+ export type AppRoute = keyof AppRoutes;
347
492
  `;
348
493
  const outPath = options.output
349
494
  ? `${__dirname}/${options.output}/pre-routes.ts`
@@ -351,15 +496,17 @@ export type AppRoute = keyof AppRoutes
351
496
  await fs_1.default.promises.mkdir(path_1.default.dirname(outPath), {
352
497
  recursive: true,
353
498
  });
354
- await fs_1.default.promises.writeFile(outPath, output);
355
499
  const compiled = typescript_1.default.transpileModule(output, {
356
500
  compilerOptions: {
357
501
  module: typescript_1.default.ModuleKind.CommonJS,
358
- target: typescript_1.default.ScriptTarget.ES2020,
502
+ target: typescript_1.default.ScriptTarget.ESNext
359
503
  },
360
504
  });
361
- const jsPath = outPath.replace(/\.ts$/, ".js");
362
- await fs_1.default.promises.writeFile(jsPath, compiled.outputText, "utf8");
505
+ await Promise.all([
506
+ fs_1.default.promises.writeFile(outPath, output),
507
+ fs_1.default.promises.writeFile(outPath.replace(/\.ts$/, ".js"), compiled.outputText)
508
+ ]);
363
509
  return routes;
364
- }
510
+ };
511
+ exports.generateRoutes = generateRoutes;
365
512
  //# sourceMappingURL=generator.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"generator.js","sourceRoot":"","sources":["../../../../src/lib/core/compiler/generator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"generator.js","sourceRoot":"","sources":["../../../../src/lib/core/compiler/generator.ts"],"names":[],"mappings":"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"}
@@ -1,14 +1,14 @@
1
1
  export declare class Compiler {
2
- generateRoutes(options: {
2
+ generateRoutes(globalPrefix: string, options: {
3
3
  folder: string;
4
4
  name: RegExp;
5
5
  }): Promise<void | {
6
6
  method: string;
7
7
  path: string;
8
- response: string;
9
8
  body: string;
10
9
  params: string;
11
10
  query: string;
12
11
  files: string;
12
+ response: string;
13
13
  }[] | undefined>;
14
14
  }
@@ -3,8 +3,8 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.Compiler = void 0;
4
4
  const generator_1 = require("./generator");
5
5
  class Compiler {
6
- async generateRoutes(options) {
7
- return await (0, generator_1.generateRoutes)({ controllers: options })
6
+ async generateRoutes(globalPrefix, options) {
7
+ return await (0, generator_1.generateRoutes)(globalPrefix, options)
8
8
  .catch(err => console.log(err));
9
9
  }
10
10
  }
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/lib/core/compiler/index.ts"],"names":[],"mappings":";;;AAAA,2CAA4C;AAC5C,MAAa,QAAQ;IACV,KAAK,CAAC,cAAc,CAAE,OAG5B;QACG,OAAO,MAAM,IAAA,0BAAc,EAAC,EAAE,WAAW,EAAG,OAAO,EAAE,CAAC;aACrD,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAA;IACnC,CAAC;CACJ;AARD,4BAQC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/lib/core/compiler/index.ts"],"names":[],"mappings":";;;AAAA,2CAA4C;AAC5C,MAAa,QAAQ;IACV,KAAK,CAAC,cAAc,CAAE,YAAoB,EAAG,OAGnD;QACG,OAAO,MAAM,IAAA,0BAAc,EAAC,YAAY,EAAG,OAAO,CAAC;aAClD,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAA;IACnC,CAAC;CACJ;AARD,4BAQC"}