@nestia/migrate 0.5.1 → 0.6.1

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 (103) hide show
  1. package/lib/{NestiaMigrateApplication.d.ts → MigrateApplication.d.ts} +1 -1
  2. package/lib/{NestiaMigrateApplication.js → MigrateApplication.js} +38 -32
  3. package/lib/MigrateApplication.js.map +1 -0
  4. package/lib/analyzers/ControllerAnalyzer.d.ts +5 -0
  5. package/lib/{programmers/ControllerProgrammer.js → analyzers/ControllerAnalyzer.js} +8 -32
  6. package/lib/analyzers/ControllerAnalyzer.js.map +1 -0
  7. package/lib/analyzers/MethodAnalyzer.d.ts +9 -0
  8. package/lib/{programmers/RouteProgrammer.js → analyzers/MethodAnalyzer.js} +30 -134
  9. package/lib/analyzers/MethodAnalyzer.js.map +1 -0
  10. package/lib/analyzers/MigrateAnalyzer.d.ts +4 -0
  11. package/lib/analyzers/MigrateAnalyzer.js +12 -0
  12. package/lib/analyzers/MigrateAnalyzer.js.map +1 -0
  13. package/lib/analyzers/RouteAnalyzer.d.ts +0 -0
  14. package/lib/analyzers/RouteAnalyzer.js +2 -0
  15. package/lib/analyzers/RouteAnalyzer.js.map +1 -0
  16. package/lib/archivers/FileArchiver.js.map +1 -1
  17. package/lib/bundles/TEMPLATE.js +10 -10
  18. package/lib/bundles/TEMPLATE.js.map +1 -1
  19. package/lib/executable/bundle.js.map +1 -1
  20. package/lib/executable/migrate.js +7 -7
  21. package/lib/executable/migrate.js.map +1 -1
  22. package/lib/module.d.ts +1 -1
  23. package/lib/module.js +1 -1
  24. package/lib/module.js.map +1 -1
  25. package/lib/programmers/DtoProgrammer.d.ts +8 -4
  26. package/lib/programmers/DtoProgrammer.js +36 -77
  27. package/lib/programmers/DtoProgrammer.js.map +1 -1
  28. package/lib/programmers/ImportProgrammer.d.ts +5 -5
  29. package/lib/programmers/ImportProgrammer.js +27 -19
  30. package/lib/programmers/ImportProgrammer.js.map +1 -1
  31. package/lib/programmers/{ControllerProgrammer.d.ts → NestControllerProgrammer.d.ts} +3 -4
  32. package/lib/programmers/NestControllerProgrammer.js +30 -0
  33. package/lib/programmers/NestControllerProgrammer.js.map +1 -0
  34. package/lib/programmers/NestMethodProgrammer.d.ts +7 -0
  35. package/lib/programmers/NestMethodProgrammer.js +103 -0
  36. package/lib/programmers/NestMethodProgrammer.js.map +1 -0
  37. package/lib/programmers/NestModuleProgrammer.d.ts +5 -0
  38. package/lib/programmers/NestModuleProgrammer.js +29 -0
  39. package/lib/programmers/NestModuleProgrammer.js.map +1 -0
  40. package/lib/programmers/NestProgrammer.d.ts +5 -0
  41. package/lib/programmers/NestProgrammer.js +60 -0
  42. package/lib/programmers/NestProgrammer.js.map +1 -0
  43. package/lib/programmers/SchemaProgrammer.d.ts +2 -1
  44. package/lib/programmers/SchemaProgrammer.js +122 -189
  45. package/lib/programmers/SchemaProgrammer.js.map +1 -1
  46. package/lib/structures/IMigrateProgram.d.ts +2 -2
  47. package/lib/structures/ISwaggerInfo.d.ts +3 -3
  48. package/lib/utils/FilePrinter.d.ts +9 -0
  49. package/lib/utils/FilePrinter.js +25 -0
  50. package/lib/utils/FilePrinter.js.map +1 -0
  51. package/lib/utils/JsonTypeChecker.d.ts +3 -1
  52. package/lib/utils/JsonTypeChecker.js +31 -18
  53. package/lib/utils/JsonTypeChecker.js.map +1 -1
  54. package/lib/utils/MapUtil.js.map +1 -1
  55. package/lib/utils/SetupWizard.js.map +1 -1
  56. package/lib/utils/StringUtil.js.map +1 -1
  57. package/package.json +8 -6
  58. package/src/MigrateApplication.ts +73 -0
  59. package/src/analyzers/ControllerAnalyzer.ts +107 -0
  60. package/src/analyzers/MethodAnalyzer.ts +315 -0
  61. package/src/analyzers/MigrateAnalyzer.ts +9 -0
  62. package/src/analyzers/RouteAnalyzer.ts +0 -0
  63. package/src/archivers/FileArchiver.ts +35 -38
  64. package/src/bundles/TEMPLATE.ts +10 -10
  65. package/src/executable/bundle.ts +72 -78
  66. package/src/executable/migrate.ts +59 -60
  67. package/src/index.ts +4 -4
  68. package/src/module.ts +4 -4
  69. package/src/programmers/DtoProgrammer.ts +74 -118
  70. package/src/programmers/ImportProgrammer.ts +98 -60
  71. package/src/programmers/NestControllerProgrammer.ts +47 -0
  72. package/src/programmers/NestMethodProgrammer.ts +211 -0
  73. package/src/programmers/NestModuleProgrammer.ts +62 -0
  74. package/src/programmers/NestProgrammer.ts +74 -0
  75. package/src/programmers/SchemaProgrammer.ts +247 -339
  76. package/src/structures/IMigrateController.ts +8 -8
  77. package/src/structures/IMigrateDto.ts +8 -8
  78. package/src/structures/IMigrateFile.ts +5 -5
  79. package/src/structures/IMigrateProgram.ts +7 -7
  80. package/src/structures/IMigrateRoute.ts +36 -36
  81. package/src/structures/IMigrateSchema.ts +4 -4
  82. package/src/structures/ISwaggeSchema.ts +82 -82
  83. package/src/structures/ISwagger.ts +20 -20
  84. package/src/structures/ISwaggerComponents.ts +7 -7
  85. package/src/structures/ISwaggerInfo.ts +57 -57
  86. package/src/structures/ISwaggerRoute.ts +52 -52
  87. package/src/structures/ISwaggerSecurity.ts +47 -47
  88. package/src/utils/FilePrinter.ts +36 -0
  89. package/src/utils/JsonTypeChecker.ts +67 -52
  90. package/src/utils/MapUtil.ts +13 -13
  91. package/src/utils/SetupWizard.ts +15 -15
  92. package/src/utils/StringUtil.ts +51 -51
  93. package/lib/NestiaMigrateApplication.js.map +0 -1
  94. package/lib/programmers/ControllerProgrammer.js.map +0 -1
  95. package/lib/programmers/MigrateProgrammer.d.ts +0 -8
  96. package/lib/programmers/MigrateProgrammer.js +0 -48
  97. package/lib/programmers/MigrateProgrammer.js.map +0 -1
  98. package/lib/programmers/RouteProgrammer.d.ts +0 -13
  99. package/lib/programmers/RouteProgrammer.js.map +0 -1
  100. package/src/NestiaMigrateApplication.ts +0 -73
  101. package/src/programmers/ControllerProgrammer.ts +0 -157
  102. package/src/programmers/MigrateProgrammer.ts +0 -62
  103. package/src/programmers/RouteProgrammer.ts +0 -506
@@ -1 +1 @@
1
- {"version":3,"file":"SchemaProgrammer.js","sourceRoot":"","sources":["../../src/programmers/SchemaProgrammer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"SchemaProgrammer.js","sourceRoot":"","sources":["../../src/programmers/SchemaProgrammer.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import { IMigrateController } from "./IMigrateController";
2
- import { IMigrateDto } from "./IMigrateDto";
2
+ import { ISwagger } from "./ISwagger";
3
3
  export interface IMigrateProgram {
4
4
  controllers: IMigrateController[];
5
- structures: IMigrateDto[];
5
+ swagger: ISwagger;
6
6
  }
@@ -15,7 +15,7 @@ export interface ISwaggerInfo {
15
15
  /**
16
16
  * A URL to the Terms of Service for the API.
17
17
  *
18
- * @format url
18
+ * @format uri
19
19
  */
20
20
  termsOfService?: string;
21
21
  /**
@@ -43,7 +43,7 @@ export declare namespace ISwaggerInfo {
43
43
  /**
44
44
  * The URL pointing to the contact information.
45
45
  *
46
- * @format url
46
+ * @format uri
47
47
  */
48
48
  url?: string;
49
49
  /**
@@ -64,7 +64,7 @@ export declare namespace ISwaggerInfo {
64
64
  /**
65
65
  * A URL to the license used for the API.
66
66
  *
67
- * @format url
67
+ * @format uri
68
68
  */
69
69
  url?: string;
70
70
  }
@@ -0,0 +1,9 @@
1
+ import ts from "typescript";
2
+ export declare namespace FilePrinter {
3
+ const description: <Node_1 extends ts.Node>(node: Node_1, comment: string) => Node_1;
4
+ const enter: () => ts.ExpressionStatement;
5
+ const write: (props: {
6
+ statements: ts.Statement[];
7
+ top?: string;
8
+ }) => string;
9
+ }
@@ -0,0 +1,25 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.FilePrinter = void 0;
7
+ const typescript_1 = __importDefault(require("typescript"));
8
+ var FilePrinter;
9
+ (function (FilePrinter) {
10
+ FilePrinter.description = (node, comment) => {
11
+ if (comment.length === 0)
12
+ return node;
13
+ typescript_1.default.addSyntheticLeadingComment(node, typescript_1.default.SyntaxKind.MultiLineCommentTrivia, ["*", ...comment.split("\n").map((str) => ` * ${str}`), ""].join("\n"), true);
14
+ return node;
15
+ };
16
+ FilePrinter.enter = () => typescript_1.default.factory.createExpressionStatement(typescript_1.default.factory.createIdentifier("\n"));
17
+ FilePrinter.write = (props) => {
18
+ var _a;
19
+ const script = typescript_1.default
20
+ .createPrinter()
21
+ .printFile(typescript_1.default.factory.createSourceFile(props.statements, typescript_1.default.factory.createToken(typescript_1.default.SyntaxKind.EndOfFileToken), typescript_1.default.NodeFlags.None));
22
+ return ((_a = props.top) !== null && _a !== void 0 ? _a : "") + script;
23
+ };
24
+ })(FilePrinter || (exports.FilePrinter = FilePrinter = {}));
25
+ //# sourceMappingURL=FilePrinter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FilePrinter.js","sourceRoot":"","sources":["../../src/utils/FilePrinter.ts"],"names":[],"mappings":";;;;;;AAAA,4DAA4B;AAE5B,IAAiB,WAAW,CAiC3B;AAjCD,WAAiB,WAAW;IACb,uBAAW,GAAG,CACzB,IAAU,EACV,OAAe,EACT,EAAE;QACR,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,IAAI,CAAC;QACtC,oBAAE,CAAC,0BAA0B,CAC3B,IAAI,EACJ,oBAAE,CAAC,UAAU,CAAC,sBAAsB,EACpC,CAAC,GAAG,EAAE,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,MAAM,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EACtE,IAAI,CACL,CAAC;QACF,OAAO,IAAI,CAAC;IACd,CAAC,CAAC;IAEW,iBAAK,GAAG,GAAG,EAAE,CACxB,oBAAE,CAAC,OAAO,CAAC,yBAAyB,CAAC,oBAAE,CAAC,OAAO,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAC;IAE7D,iBAAK,GAAG,CAAC,KAGrB,EAAU,EAAE;;QACX,MAAM,MAAM,GAAW,oBAAE;aACtB,aAAa,EAAE;aACf,SAAS,CACR,oBAAE,CAAC,OAAO,CAAC,gBAAgB,CACzB,KAAK,CAAC,UAAU,EAChB,oBAAE,CAAC,OAAO,CAAC,WAAW,CAAC,oBAAE,CAAC,UAAU,CAAC,cAAc,CAAC,EACpD,oBAAE,CAAC,SAAS,CAAC,IAAI,CAClB,CACF,CAAC;QACJ,OAAO,CAAC,MAAA,KAAK,CAAC,GAAG,mCAAI,EAAE,CAAC,GAAG,MAAM,CAAC;IACpC,CAAC,CAAC;AACJ,CAAC,EAjCgB,WAAW,2BAAX,WAAW,QAiC3B"}
@@ -1,5 +1,6 @@
1
1
  import { ISwaggerSchema } from "../structures/ISwaggeSchema";
2
- export declare namespace JsonTypeChecker {
2
+ import { ISwaggerComponents } from "../structures/ISwaggerComponents";
3
+ export declare namespace SwaggerTypeChecker {
3
4
  const isAnyOf: (schema: ISwaggerSchema) => schema is ISwaggerSchema.IAnyOf;
4
5
  const isOneOf: (schema: ISwaggerSchema) => schema is ISwaggerSchema.IOneOf;
5
6
  const isNullOnly: (schema: ISwaggerSchema) => schema is ISwaggerSchema.INullOnly;
@@ -11,4 +12,5 @@ export declare namespace JsonTypeChecker {
11
12
  const isObject: (schema: ISwaggerSchema) => schema is ISwaggerSchema.IObject;
12
13
  const isReference: (schema: ISwaggerSchema) => schema is ISwaggerSchema.IReference;
13
14
  const isUnknown: (schema: ISwaggerSchema) => schema is ISwaggerSchema.IUnknown;
15
+ const isNullable: (components: ISwaggerComponents) => (schema: ISwaggerSchema) => boolean;
14
16
  }
@@ -1,21 +1,34 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.JsonTypeChecker = void 0;
4
- var JsonTypeChecker;
5
- (function (JsonTypeChecker) {
6
- JsonTypeChecker.isAnyOf = (schema) => schema.anyOf !== undefined;
7
- JsonTypeChecker.isOneOf = (schema) => schema.oneOf !== undefined;
8
- JsonTypeChecker.isNullOnly = (schema) => schema.type === "null";
9
- JsonTypeChecker.isBoolean = (schema) => schema.type === "boolean";
10
- JsonTypeChecker.isInteger = (schema) => schema.type === "integer";
11
- JsonTypeChecker.isNumber = (schema) => schema.type === "number";
12
- JsonTypeChecker.isString = (schema) => schema.type === "string";
13
- JsonTypeChecker.isArray = (schema) => schema.type === "array";
14
- JsonTypeChecker.isObject = (schema) => schema.type === "object";
15
- JsonTypeChecker.isReference = (schema) => schema.$ref !== undefined;
16
- JsonTypeChecker.isUnknown = (schema) => schema.type === undefined &&
17
- !JsonTypeChecker.isAnyOf(schema) &&
18
- !JsonTypeChecker.isOneOf(schema) &&
19
- !JsonTypeChecker.isReference(schema);
20
- })(JsonTypeChecker || (exports.JsonTypeChecker = JsonTypeChecker = {}));
3
+ exports.SwaggerTypeChecker = void 0;
4
+ var SwaggerTypeChecker;
5
+ (function (SwaggerTypeChecker) {
6
+ SwaggerTypeChecker.isAnyOf = (schema) => schema.anyOf !== undefined;
7
+ SwaggerTypeChecker.isOneOf = (schema) => schema.oneOf !== undefined;
8
+ SwaggerTypeChecker.isNullOnly = (schema) => schema.type === "null";
9
+ SwaggerTypeChecker.isBoolean = (schema) => schema.type === "boolean";
10
+ SwaggerTypeChecker.isInteger = (schema) => schema.type === "integer";
11
+ SwaggerTypeChecker.isNumber = (schema) => schema.type === "number";
12
+ SwaggerTypeChecker.isString = (schema) => schema.type === "string";
13
+ SwaggerTypeChecker.isArray = (schema) => schema.type === "array";
14
+ SwaggerTypeChecker.isObject = (schema) => schema.type === "object";
15
+ SwaggerTypeChecker.isReference = (schema) => schema.$ref !== undefined;
16
+ SwaggerTypeChecker.isUnknown = (schema) => schema.type === undefined &&
17
+ !SwaggerTypeChecker.isAnyOf(schema) &&
18
+ !SwaggerTypeChecker.isOneOf(schema) &&
19
+ !SwaggerTypeChecker.isReference(schema);
20
+ SwaggerTypeChecker.isNullable = (components) => (schema) => {
21
+ var _a;
22
+ if (SwaggerTypeChecker.isAnyOf(schema))
23
+ return schema.anyOf.some(SwaggerTypeChecker.isNullable(components));
24
+ else if (SwaggerTypeChecker.isOneOf(schema))
25
+ return schema.oneOf.some(SwaggerTypeChecker.isNullable(components));
26
+ else if (SwaggerTypeChecker.isReference(schema)) {
27
+ const $id = schema.$ref.replace("#/components/schemas/", "");
28
+ const target = ((_a = components.schemas) !== null && _a !== void 0 ? _a : {})[$id];
29
+ return target === undefined ? false : SwaggerTypeChecker.isNullable(components)(target);
30
+ }
31
+ return schema.nullable === true;
32
+ };
33
+ })(SwaggerTypeChecker || (exports.SwaggerTypeChecker = SwaggerTypeChecker = {}));
21
34
  //# sourceMappingURL=JsonTypeChecker.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"JsonTypeChecker.js","sourceRoot":"","sources":["../../src/utils/JsonTypeChecker.ts"],"names":[],"mappings":";;;AAEA,IAAiB,eAAe,CAiD/B;AAjDD,WAAiB,eAAe;IACf,uBAAO,GAAG,CACnB,MAAsB,EACS,EAAE,CAAE,MAAc,CAAC,KAAK,KAAK,SAAS,CAAC;IAE7D,uBAAO,GAAG,CACnB,MAAsB,EACS,EAAE,CAAE,MAAc,CAAC,KAAK,KAAK,SAAS,CAAC;IAE7D,0BAAU,GAAG,CACtB,MAAsB,EACY,EAAE,CAAE,MAAc,CAAC,IAAI,KAAK,MAAM,CAAC;IAE5D,yBAAS,GAAG,CACrB,MAAsB,EACW,EAAE,CAAE,MAAc,CAAC,IAAI,KAAK,SAAS,CAAC;IAE9D,yBAAS,GAAG,CACrB,MAAsB,EACW,EAAE,CAAE,MAAc,CAAC,IAAI,KAAK,SAAS,CAAC;IAE9D,wBAAQ,GAAG,CACpB,MAAsB,EACU,EAAE,CAAE,MAAc,CAAC,IAAI,KAAK,QAAQ,CAAC;IAE5D,wBAAQ,GAAG,CACpB,MAAsB,EACU,EAAE,CAAE,MAAc,CAAC,IAAI,KAAK,QAAQ,CAAC;IAE5D,uBAAO,GAAG,CACnB,MAAsB,EACS,EAAE,CAAE,MAAc,CAAC,IAAI,KAAK,OAAO,CAAC;IAE1D,wBAAQ,GAAG,CACpB,MAAsB,EACU,EAAE,CAAE,MAAc,CAAC,IAAI,KAAK,QAAQ,CAAC;IAE5D,2BAAW,GAAG,CACvB,MAAsB,EACa,EAAE,CACpC,MAAc,CAAC,IAAI,KAAK,SAAS,CAAC;IAE1B,yBAAS,GAAG,CACrB,MAAsB,EACW,EAAE,CAClC,MAAc,CAAC,IAAI,KAAK,SAAS;QAClC,CAAC,gBAAA,OAAO,CAAC,MAAM,CAAC;QAChB,CAAC,gBAAA,OAAO,CAAC,MAAM,CAAC;QAChB,CAAC,gBAAA,WAAW,CAAC,MAAM,CAAC,CAAC;AAC7B,CAAC,EAjDgB,eAAe,+BAAf,eAAe,QAiD/B"}
1
+ {"version":3,"file":"JsonTypeChecker.js","sourceRoot":"","sources":["../../src/utils/JsonTypeChecker.ts"],"names":[],"mappings":";;;AAGA,IAAiB,kBAAkB,CA+DlC;AA/DD,WAAiB,kBAAkB;IACpB,0BAAO,GAAG,CACrB,MAAsB,EACW,EAAE,CAAE,MAAc,CAAC,KAAK,KAAK,SAAS,CAAC;IAE7D,0BAAO,GAAG,CACrB,MAAsB,EACW,EAAE,CAAE,MAAc,CAAC,KAAK,KAAK,SAAS,CAAC;IAE7D,6BAAU,GAAG,CACxB,MAAsB,EACc,EAAE,CAAE,MAAc,CAAC,IAAI,KAAK,MAAM,CAAC;IAE5D,4BAAS,GAAG,CACvB,MAAsB,EACa,EAAE,CAAE,MAAc,CAAC,IAAI,KAAK,SAAS,CAAC;IAE9D,4BAAS,GAAG,CACvB,MAAsB,EACa,EAAE,CAAE,MAAc,CAAC,IAAI,KAAK,SAAS,CAAC;IAE9D,2BAAQ,GAAG,CACtB,MAAsB,EACY,EAAE,CAAE,MAAc,CAAC,IAAI,KAAK,QAAQ,CAAC;IAE5D,2BAAQ,GAAG,CACtB,MAAsB,EACY,EAAE,CAAE,MAAc,CAAC,IAAI,KAAK,QAAQ,CAAC;IAE5D,0BAAO,GAAG,CACrB,MAAsB,EACW,EAAE,CAAE,MAAc,CAAC,IAAI,KAAK,OAAO,CAAC;IAE1D,2BAAQ,GAAG,CACtB,MAAsB,EACY,EAAE,CAAE,MAAc,CAAC,IAAI,KAAK,QAAQ,CAAC;IAE5D,8BAAW,GAAG,CACzB,MAAsB,EACe,EAAE,CAAE,MAAc,CAAC,IAAI,KAAK,SAAS,CAAC;IAEhE,4BAAS,GAAG,CACvB,MAAsB,EACa,EAAE,CACpC,MAAc,CAAC,IAAI,KAAK,SAAS;QAClC,CAAC,mBAAA,OAAO,CAAC,MAAM,CAAC;QAChB,CAAC,mBAAA,OAAO,CAAC,MAAM,CAAC;QAChB,CAAC,mBAAA,WAAW,CAAC,MAAM,CAAC,CAAC;IAEV,6BAAU,GACrB,CAAC,UAA8B,EAAE,EAAE,CACnC,CAAC,MAAsB,EAAW,EAAE;;QAClC,IAAI,kBAAkB,CAAC,OAAO,CAAC,MAAM,CAAC;YACpC,OAAO,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,mBAAA,UAAU,CAAC,UAAU,CAAC,CAAC,CAAC;aAC9C,IAAI,kBAAkB,CAAC,OAAO,CAAC,MAAM,CAAC;YACzC,OAAO,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,mBAAA,UAAU,CAAC,UAAU,CAAC,CAAC,CAAC;aAC9C,IAAI,kBAAkB,CAAC,WAAW,CAAC,MAAM,CAAC,EAAE,CAAC;YAChD,MAAM,GAAG,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,uBAAuB,EAAE,EAAE,CAAC,CAAC;YAC7D,MAAM,MAAM,GAAG,CAAC,MAAA,UAAU,CAAC,OAAO,mCAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC;YAC/C,OAAO,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,mBAAA,UAAU,CAAC,UAAU,CAAC,CAAC,MAAM,CAAC,CAAC;QACvE,CAAC;QACD,OAAQ,MAAiC,CAAC,QAAQ,KAAK,IAAI,CAAC;IAC9D,CAAC,CAAC;AACN,CAAC,EA/DgB,kBAAkB,kCAAlB,kBAAkB,QA+DlC"}
@@ -1 +1 @@
1
- {"version":3,"file":"MapUtil.js","sourceRoot":"","sources":["../../src/utils/MapUtil.ts"],"names":[],"mappings":";;;AAAA,IAAiB,OAAO,CAYvB;AAZD,WAAiB,OAAO;IACP,YAAI,GACb,CAAS,IAAiB,EAAE,EAAE,CAC9B,CAAC,GAAQ,EAAE,EAAE,CACb,CAAC,SAAkB,EAAK,EAAE;QACtB,MAAM,MAAM,GAAkB,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAC5C,IAAI,MAAM;YAAE,OAAO,MAAM,CAAC;QAE1B,MAAM,KAAK,GAAM,SAAS,EAAE,CAAC;QAC7B,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;QACrB,OAAO,KAAK,CAAC;IACjB,CAAC,CAAC;AACV,CAAC,EAZgB,OAAO,uBAAP,OAAO,QAYvB"}
1
+ {"version":3,"file":"MapUtil.js","sourceRoot":"","sources":["../../src/utils/MapUtil.ts"],"names":[],"mappings":";;;AAAA,IAAiB,OAAO,CAYvB;AAZD,WAAiB,OAAO;IACT,YAAI,GACf,CAAS,IAAiB,EAAE,EAAE,CAC9B,CAAC,GAAQ,EAAE,EAAE,CACb,CAAC,SAAkB,EAAK,EAAE;QACxB,MAAM,MAAM,GAAkB,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAC5C,IAAI,MAAM;YAAE,OAAO,MAAM,CAAC;QAE1B,MAAM,KAAK,GAAM,SAAS,EAAE,CAAC;QAC7B,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;QACrB,OAAO,KAAK,CAAC;IACf,CAAC,CAAC;AACN,CAAC,EAZgB,OAAO,uBAAP,OAAO,QAYvB"}
@@ -1 +1 @@
1
- {"version":3,"file":"SetupWizard.js","sourceRoot":"","sources":["../../src/utils/SetupWizard.ts"],"names":[],"mappings":";;;;;;AAAA,kEAA+B;AAE/B,IAAiB,WAAW,CAY3B;AAZD,WAAiB,WAAW;IACX,iBAAK,GAAG,CAAC,MAAc,EAAE,EAAE;QACpC,OAAO,CAAC,MAAM,CAAC,CAAC,aAAa,CAAC,CAAC;QAC/B,OAAO,CAAC,MAAM,CAAC,CAAC,gBAAgB,EAAE,mBAAmB,CAAC,CAAC;QACvD,OAAO,CAAC,MAAM,CAAC,CAAC,oBAAoB,CAAC,CAAC;QACtC,OAAO,CAAC,MAAM,CAAC,CAAC,cAAc,CAAC,CAAC;IACpC,CAAC,CAAC;IAEF,MAAM,OAAO,GAAG,CAAC,GAAW,EAAE,EAAE,CAAC,CAAC,OAAe,EAAE,IAAa,EAAE,EAAE;QAChE,OAAO,CAAC,GAAG,CAAC,IAAI,aAAJ,IAAI,cAAJ,IAAI,GAAI,OAAO,CAAC,CAAC;QAC7B,uBAAE,CAAC,QAAQ,CAAC,OAAO,EAAE,EAAE,GAAG,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC;IACpD,CAAC,CAAC;AACN,CAAC,EAZgB,WAAW,2BAAX,WAAW,QAY3B"}
1
+ {"version":3,"file":"SetupWizard.js","sourceRoot":"","sources":["../../src/utils/SetupWizard.ts"],"names":[],"mappings":";;;;;;AAAA,kEAA+B;AAE/B,IAAiB,WAAW,CAY3B;AAZD,WAAiB,WAAW;IACb,iBAAK,GAAG,CAAC,MAAc,EAAE,EAAE;QACtC,OAAO,CAAC,MAAM,CAAC,CAAC,aAAa,CAAC,CAAC;QAC/B,OAAO,CAAC,MAAM,CAAC,CAAC,gBAAgB,EAAE,mBAAmB,CAAC,CAAC;QACvD,OAAO,CAAC,MAAM,CAAC,CAAC,oBAAoB,CAAC,CAAC;QACtC,OAAO,CAAC,MAAM,CAAC,CAAC,cAAc,CAAC,CAAC;IAClC,CAAC,CAAC;IAEF,MAAM,OAAO,GAAG,CAAC,GAAW,EAAE,EAAE,CAAC,CAAC,OAAe,EAAE,IAAa,EAAE,EAAE;QAClE,OAAO,CAAC,GAAG,CAAC,IAAI,aAAJ,IAAI,cAAJ,IAAI,GAAI,OAAO,CAAC,CAAC;QAC7B,uBAAE,CAAC,QAAQ,CAAC,OAAO,EAAE,EAAE,GAAG,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC;IAClD,CAAC,CAAC;AACJ,CAAC,EAZgB,WAAW,2BAAX,WAAW,QAY3B"}
@@ -1 +1 @@
1
- {"version":3,"file":"StringUtil.js","sourceRoot":"","sources":["../../src/utils/StringUtil.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"StringUtil.js","sourceRoot":"","sources":["../../src/utils/StringUtil.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@nestia/migrate",
3
- "version": "0.5.1",
3
+ "version": "0.6.1",
4
4
  "description": "Migration program from swagger to NestJS",
5
5
  "main": "lib/index.js",
6
6
  "typings": "lib/index.d.ts",
@@ -32,23 +32,25 @@
32
32
  "devDependencies": {
33
33
  "@nestia/core": "^2.4.0",
34
34
  "@nestia/fetcher": "^2.4.0",
35
- "@trivago/prettier-plugin-sort-imports": "^4.1.1",
35
+ "@nestjs/common": "^10.3.1",
36
+ "@nestjs/core": "^10.3.1",
37
+ "@nestjs/platform-express": "^10.3.1",
38
+ "@nestjs/platform-fastify": "^10.3.1",
36
39
  "@types/express": "^4.17.21",
37
40
  "@types/node": "^20.3.3",
38
41
  "dotenv": "^16.3.1",
39
42
  "dotenv-expand": "^10.0.0",
40
- "prettier": "^2.8.8",
41
43
  "rimraf": "^5.0.1",
42
44
  "serialize-error": "^4.1.0",
43
45
  "source-map-support": "^0.5.21",
44
46
  "ts-node": "^10.9.1",
45
- "ts-patch": "^3.0.2",
47
+ "ts-patch": "^3.1.0",
46
48
  "tstl": "^2.5.13",
47
- "typescript": "^5.3.2",
48
49
  "typescript-transform-paths": "^3.4.6"
49
50
  },
50
51
  "dependencies": {
51
- "typia": "^5.3.0"
52
+ "typia": "^5.4.1",
53
+ "typescript": "^5.3.3"
52
54
  },
53
55
  "files": [
54
56
  "lib",
@@ -0,0 +1,73 @@
1
+ import cp from "child_process";
2
+ import fs from "fs";
3
+ import typia from "typia";
4
+
5
+ import { MigrateAnalyzer } from "./analyzers/MigrateAnalyzer";
6
+ import { FileArchiver } from "./archivers/FileArchiver";
7
+ import { TEMPLATE } from "./bundles/TEMPLATE";
8
+ import { MigrateProgrammer } from "./programmers/NestProgrammer";
9
+ import { IMigrateFile } from "./structures/IMigrateFile";
10
+ import { IMigrateProgram } from "./structures/IMigrateProgram";
11
+ import { ISwagger } from "./structures/ISwagger";
12
+
13
+ export class MigrateApplication {
14
+ public readonly swagger: ISwagger;
15
+ private program: IMigrateProgram | null;
16
+ private files: IMigrateFile[] | null;
17
+
18
+ public constructor(swagger: ISwagger) {
19
+ this.swagger = typia.assert(swagger);
20
+ this.program = null;
21
+ this.files = null;
22
+ }
23
+
24
+ public analyze(): IMigrateProgram {
25
+ if (this.program === null)
26
+ this.program = MigrateAnalyzer.analyze(this.swagger);
27
+ return this.program;
28
+ }
29
+
30
+ public write(): IMigrateFile[] {
31
+ if (this.files === null) {
32
+ const program: IMigrateProgram = this.analyze();
33
+ this.files = MigrateProgrammer.write(program);
34
+ }
35
+ return this.files;
36
+ }
37
+
38
+ public generate =
39
+ (archiver: NestiaMigrateApplication.IArchiver) =>
40
+ (output: string): void => {
41
+ const program: IMigrateProgram = this.analyze();
42
+ const files: IMigrateFile[] = MigrateProgrammer.write(program);
43
+
44
+ try {
45
+ cp.execSync(
46
+ `git clone https://github.com/samchon/nestia-template "${output}"`,
47
+ { stdio: "ignore" },
48
+ );
49
+ try {
50
+ for (const path of [
51
+ "/.git",
52
+ "/src/api",
53
+ "/src/controllers",
54
+ "/src/providers",
55
+ "/test/features",
56
+ ])
57
+ fs.rmSync(`${output}${path}`, {
58
+ recursive: true,
59
+ force: true,
60
+ });
61
+ } catch {}
62
+ } catch {
63
+ FileArchiver.archive(archiver)(output)(TEMPLATE);
64
+ }
65
+ FileArchiver.archive(archiver)(output)(files);
66
+ };
67
+ }
68
+ export namespace NestiaMigrateApplication {
69
+ export interface IArchiver {
70
+ mkdir: (path: string) => void;
71
+ writeFile: (path: string, content: string) => void;
72
+ }
73
+ }
@@ -0,0 +1,107 @@
1
+ import { ISwagger } from "../module";
2
+ import { IMigrateController } from "../structures/IMigrateController";
3
+ import { IMigrateRoute } from "../structures/IMigrateRoute";
4
+ import { MapUtil } from "../utils/MapUtil";
5
+ import { StringUtil } from "../utils/StringUtil";
6
+ import { MethodAnalzyer } from "./MethodAnalyzer";
7
+
8
+ export namespace ControllerAnalyzer {
9
+ export const analyze = (swagger: ISwagger): IMigrateController[] => {
10
+ const dict: Map<string, IMigrateRoute[]> = new Map();
11
+
12
+ // GATHER ROUTES
13
+ for (const [path, collection] of Object.entries(swagger.paths)) {
14
+ // PREPARE DIRECTORIES
15
+ const location: string = StringUtil.splitWithNormalization(path)
16
+ .filter((str) => str[0] !== "{" && str[0] !== ":")
17
+ .join("/");
18
+ for (const s of sequence(location)) MapUtil.take(dict)(s)(() => []);
19
+
20
+ // INSERT ROUTES TO THE LAST DIRECTORY
21
+ const routes: IMigrateRoute[] = MapUtil.take(dict)(location)(() => []);
22
+ for (const [method, value] of Object.entries(collection)) {
23
+ const r: IMigrateRoute | null = MethodAnalzyer.analyze(swagger)({
24
+ path,
25
+ method,
26
+ })(value);
27
+ if (r !== null) routes.push(r);
28
+ }
29
+ }
30
+
31
+ // ABSORB STANDALONE ROUTES
32
+ const emended: Map<string, IMigrateRoute[]> = new Map(
33
+ [...dict.entries()].sort((a, b) => a[0].localeCompare(b[0])),
34
+ );
35
+ for (const [location, routes] of emended) {
36
+ if (routes.length !== 1) continue;
37
+ for (const s of sequence(location).slice(0, 1)) {
38
+ const parent = emended.get(s);
39
+ if (parent) {
40
+ parent.push(...routes);
41
+ emended.delete(location);
42
+ break;
43
+ }
44
+ }
45
+ }
46
+
47
+ // GENERATE CONTROLLERS
48
+ return [...emended.entries()]
49
+ .filter(([_l, routes]) => !!routes.length)
50
+ .map(([location, routes]) => {
51
+ const prefix: string = StringUtil.commonPrefix(
52
+ routes.map((r) => r.path),
53
+ );
54
+ for (const r of routes)
55
+ r.path = StringUtil.reJoinWithDecimalParameters(
56
+ r.path.replace(prefix, ""),
57
+ );
58
+ const controller: IMigrateController = {
59
+ name: StringUtil.pascal(location) + "Controller",
60
+ path: StringUtil.reJoinWithDecimalParameters(prefix),
61
+ location: "src/controllers/" + location,
62
+ routes,
63
+ };
64
+ if (controller.name === "Controller") controller.name = "__Controller";
65
+ naming(controller);
66
+ return controller;
67
+ });
68
+ };
69
+
70
+ const sequence = (location: string): string[] =>
71
+ StringUtil.splitWithNormalization(location)
72
+ .map((_str, i, entire) => entire.slice(0, i + 1).join("/"))
73
+ .slice(0, -1)
74
+ .reverse();
75
+
76
+ const naming = (controller: IMigrateController): void => {
77
+ interface IRouteCapsule {
78
+ variables: string[];
79
+ route: IMigrateRoute;
80
+ }
81
+ const dict: Map<string, IRouteCapsule[]> = new Map();
82
+ for (const route of controller.routes) {
83
+ const additional: string[] = StringUtil.splitWithNormalization(
84
+ route.path,
85
+ );
86
+ const statics: string[] = additional.filter((str) => str[0] !== ":");
87
+ if (statics.length) route.name = StringUtil.camel(statics.join("/"));
88
+ else
89
+ MapUtil.take(dict)(route.method)(() => []).push({
90
+ variables: additional
91
+ .filter((str) => str[0] === ":")
92
+ .map((str) => str.substring(1)),
93
+ route,
94
+ });
95
+ }
96
+
97
+ for (const [method, capsules] of dict) {
98
+ const emended: string = method === "delete" ? "erase" : method;
99
+ for (const c of capsules) {
100
+ const empty: boolean = c.variables.length === 0;
101
+ c.route.name = empty
102
+ ? emended
103
+ : StringUtil.camel(`${emended}By/${c.variables.join("/and/")}`);
104
+ }
105
+ }
106
+ };
107
+ }