@nestia/migrate 10.0.2 → 11.0.0-dev.20260312

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 (82) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +93 -93
  3. package/lib/NestiaMigrateApplication.d.ts +3 -3
  4. package/lib/NestiaMigrateApplication.js +10086 -7707
  5. package/lib/NestiaMigrateApplication.js.map +1 -1
  6. package/lib/analyzers/NestiaMigrateControllerAnalyzer.d.ts +1 -1
  7. package/lib/analyzers/NestiaMigrateControllerAnalyzer.js.map +1 -1
  8. package/lib/bundles/NEST_TEMPLATE.js +48 -48
  9. package/lib/bundles/NEST_TEMPLATE.js.map +1 -1
  10. package/lib/bundles/SDK_TEMPLATE.js +21 -21
  11. package/lib/bundles/SDK_TEMPLATE.js.map +1 -1
  12. package/lib/executable/NestiaMigrateCommander.js +4 -4
  13. package/lib/executable/NestiaMigrateCommander.js.map +1 -1
  14. package/lib/executable/NestiaMigrateInquirer.js +13 -16
  15. package/lib/executable/NestiaMigrateInquirer.js.map +1 -1
  16. package/lib/factories/TypeLiteralFactory.js +2 -2
  17. package/lib/factories/TypeLiteralFactory.js.map +1 -1
  18. package/lib/index.mjs +9540 -7065
  19. package/lib/index.mjs.map +1 -1
  20. package/lib/module.d.ts +3 -0
  21. package/lib/module.js +3 -0
  22. package/lib/module.js.map +1 -1
  23. package/lib/programmers/NestiaMigrateApiFileProgrammer.d.ts +1 -1
  24. package/lib/programmers/NestiaMigrateApiFunctionProgrammer.d.ts +1 -1
  25. package/lib/programmers/NestiaMigrateApiFunctionProgrammer.js +16 -15
  26. package/lib/programmers/NestiaMigrateApiFunctionProgrammer.js.map +1 -1
  27. package/lib/programmers/NestiaMigrateApiNamespaceProgrammer.d.ts +2 -1
  28. package/lib/programmers/NestiaMigrateApiNamespaceProgrammer.js +12 -15
  29. package/lib/programmers/NestiaMigrateApiNamespaceProgrammer.js.map +1 -1
  30. package/lib/programmers/NestiaMigrateApiSimulationProgrammer.d.ts +2 -1
  31. package/lib/programmers/NestiaMigrateApiSimulationProgrammer.js +11 -13
  32. package/lib/programmers/NestiaMigrateApiSimulationProgrammer.js.map +1 -1
  33. package/lib/programmers/NestiaMigrateApiStartProgrammer.js +3 -4
  34. package/lib/programmers/NestiaMigrateApiStartProgrammer.js.map +1 -1
  35. package/lib/programmers/NestiaMigrateDtoProgrammer.d.ts +1 -1
  36. package/lib/programmers/NestiaMigrateE2eFileProgrammer.d.ts +2 -1
  37. package/lib/programmers/NestiaMigrateE2eFileProgrammer.js +3 -4
  38. package/lib/programmers/NestiaMigrateE2eFileProgrammer.js.map +1 -1
  39. package/lib/programmers/NestiaMigrateImportProgrammer.js.map +1 -1
  40. package/lib/programmers/NestiaMigrateNestControllerProgrammer.d.ts +1 -1
  41. package/lib/programmers/NestiaMigrateNestMethodProgrammer.d.ts +2 -1
  42. package/lib/programmers/NestiaMigrateNestMethodProgrammer.js +10 -13
  43. package/lib/programmers/NestiaMigrateNestMethodProgrammer.js.map +1 -1
  44. package/lib/programmers/NestiaMigrateSchemaProgrammer.d.ts +1 -1
  45. package/lib/programmers/NestiaMigrateSchemaProgrammer.js +26 -28
  46. package/lib/programmers/NestiaMigrateSchemaProgrammer.js.map +1 -1
  47. package/lib/structures/INestiaMigrateContext.d.ts +1 -1
  48. package/lib/structures/INestiaMigrateController.d.ts +1 -1
  49. package/lib/structures/INestiaMigrateDto.d.ts +1 -1
  50. package/lib/structures/INestiaMigrateProgram.d.ts +1 -1
  51. package/lib/utils/StringUtil.js.map +1 -1
  52. package/package.json +32 -46
  53. package/src/NestiaMigrateApplication.ts +165 -159
  54. package/src/analyzers/NestiaMigrateControllerAnalyzer.ts +51 -51
  55. package/src/bundles/NEST_TEMPLATE.ts +48 -48
  56. package/src/bundles/SDK_TEMPLATE.ts +21 -21
  57. package/src/executable/NestiaMigrateCommander.ts +104 -98
  58. package/src/executable/NestiaMigrateInquirer.ts +106 -106
  59. package/src/executable/bundle.js +125 -125
  60. package/src/executable/migrate.ts +0 -0
  61. package/src/factories/TypeLiteralFactory.ts +57 -57
  62. package/src/module.ts +7 -2
  63. package/src/programmers/NestiaMigrateApiFileProgrammer.ts +55 -55
  64. package/src/programmers/NestiaMigrateApiFunctionProgrammer.ts +347 -344
  65. package/src/programmers/NestiaMigrateApiNamespaceProgrammer.ts +517 -514
  66. package/src/programmers/NestiaMigrateApiSimulationProgrammer.ts +308 -309
  67. package/src/programmers/NestiaMigrateApiStartProgrammer.ts +197 -198
  68. package/src/programmers/NestiaMigrateDtoProgrammer.ts +98 -98
  69. package/src/programmers/NestiaMigrateE2eFileProgrammer.ts +153 -153
  70. package/src/programmers/NestiaMigrateE2eProgrammer.ts +48 -48
  71. package/src/programmers/NestiaMigrateImportProgrammer.ts +118 -118
  72. package/src/programmers/NestiaMigrateNestControllerProgrammer.ts +69 -69
  73. package/src/programmers/NestiaMigrateNestMethodProgrammer.ts +409 -406
  74. package/src/programmers/NestiaMigrateSchemaProgrammer.ts +465 -467
  75. package/src/programmers/index.ts +15 -0
  76. package/src/structures/INestiaMigrateContext.ts +9 -9
  77. package/src/structures/INestiaMigrateController.ts +8 -8
  78. package/src/structures/INestiaMigrateDto.ts +8 -8
  79. package/src/structures/INestiaMigrateProgram.ts +11 -11
  80. package/src/structures/index.ts +4 -0
  81. package/src/utils/FilePrinter.ts +49 -49
  82. package/src/utils/StringUtil.ts +114 -113
@@ -0,0 +1,15 @@
1
+ export * from "./NestiaMigrateApiFileProgrammer";
2
+ export * from "./NestiaMigrateApiFunctionProgrammer";
3
+ export * from "./NestiaMigrateApiNamespaceProgrammer";
4
+ export * from "./NestiaMigrateApiProgrammer";
5
+ export * from "./NestiaMigrateApiSimulationProgrammer";
6
+ export * from "./NestiaMigrateApiStartProgrammer";
7
+ export * from "./NestiaMigrateDtoProgrammer";
8
+ export * from "./NestiaMigrateE2eFileProgrammer";
9
+ export * from "./NestiaMigrateE2eProgrammer";
10
+ export * from "./NestiaMigrateImportProgrammer";
11
+ export * from "./NestiaMigrateNestControllerProgrammer";
12
+ export * from "./NestiaMigrateNestMethodProgrammer";
13
+ export * from "./NestiaMigrateNestModuleProgrammer";
14
+ export * from "./NestiaMigrateNestProgrammer";
15
+ export * from "./NestiaMigrateSchemaProgrammer";
@@ -1,9 +1,9 @@
1
- import { IHttpMigrateApplication } from "@samchon/openapi";
2
-
3
- import { INestiaMigrateConfig } from "./INestiaMigrateConfig";
4
-
5
- export interface INestiaMigrateContext {
6
- mode: "nest" | "sdk";
7
- application: IHttpMigrateApplication;
8
- config: INestiaMigrateConfig;
9
- }
1
+ import { IHttpMigrateApplication } from "@typia/interface";
2
+
3
+ import { INestiaMigrateConfig } from "./INestiaMigrateConfig";
4
+
5
+ export interface INestiaMigrateContext {
6
+ mode: "nest" | "sdk";
7
+ application: IHttpMigrateApplication;
8
+ config: INestiaMigrateConfig;
9
+ }
@@ -1,8 +1,8 @@
1
- import { IHttpMigrateRoute } from "@samchon/openapi";
2
-
3
- export interface INestiaMigrateController {
4
- name: string;
5
- path: string;
6
- location: string;
7
- routes: IHttpMigrateRoute[];
8
- }
1
+ import { IHttpMigrateRoute } from "@typia/interface";
2
+
3
+ export interface INestiaMigrateController {
4
+ name: string;
5
+ path: string;
6
+ location: string;
7
+ routes: IHttpMigrateRoute[];
8
+ }
@@ -1,8 +1,8 @@
1
- import { OpenApi } from "@samchon/openapi";
2
-
3
- export interface INestiaMigrateDto {
4
- name: string;
5
- location: string;
6
- schema: OpenApi.IJsonSchema | null;
7
- children: INestiaMigrateDto[];
8
- }
1
+ import { OpenApi } from "@typia/interface";
2
+
3
+ export interface INestiaMigrateDto {
4
+ name: string;
5
+ location: string;
6
+ schema: OpenApi.IJsonSchema | null;
7
+ children: INestiaMigrateDto[];
8
+ }
@@ -1,11 +1,11 @@
1
- import { IHttpMigrateApplication, OpenApi } from "@samchon/openapi";
2
-
3
- import { INestiaMigrateConfig } from "./INestiaMigrateConfig";
4
-
5
- export interface INestiaMigrateProgram {
6
- mode: "nest" | "sdk";
7
- document: OpenApi.IDocument;
8
- config: INestiaMigrateConfig;
9
- files: Record<string, string>;
10
- errors: IHttpMigrateApplication.IError[];
11
- }
1
+ import { IHttpMigrateApplication, OpenApi } from "@typia/interface";
2
+
3
+ import { INestiaMigrateConfig } from "./INestiaMigrateConfig";
4
+
5
+ export interface INestiaMigrateProgram {
6
+ mode: "nest" | "sdk";
7
+ document: OpenApi.IDocument;
8
+ config: INestiaMigrateConfig;
9
+ files: Record<string, string>;
10
+ errors: IHttpMigrateApplication.IError[];
11
+ }
@@ -0,0 +1,4 @@
1
+ export * from "./INestiaMigrateConfig";
2
+ export * from "./INestiaMigrateContext";
3
+ export * from "./INestiaMigrateController";
4
+ export * from "./INestiaMigrateFile";
@@ -1,49 +1,49 @@
1
- import ts from "typescript";
2
-
3
- export namespace FilePrinter {
4
- export const description = <Node extends ts.Node>(
5
- node: Node,
6
- comment: string,
7
- ): Node => {
8
- if (comment.length === 0) return node;
9
- ts.addSyntheticLeadingComment(
10
- node,
11
- ts.SyntaxKind.MultiLineCommentTrivia,
12
- [
13
- "*",
14
- ...comment
15
- .split("\r\n")
16
- .join("\n")
17
- .split("\n")
18
- .map(
19
- (str) =>
20
- ` * ${str.split("*/").join("*\\\\/").split("*\\/").join("*\\\\/")}`,
21
- ),
22
- "",
23
- ].join("\n"),
24
- true,
25
- );
26
- return node;
27
- };
28
-
29
- export const newLine = () =>
30
- ts.factory.createExpressionStatement(ts.factory.createIdentifier("\n"));
31
-
32
- export const write = (props: {
33
- statements: ts.Statement[];
34
- top?: string;
35
- }): string => {
36
- const script: string = ts
37
- .createPrinter({
38
- newLine: ts.NewLineKind.LineFeed,
39
- })
40
- .printFile(
41
- ts.factory.createSourceFile(
42
- props.statements,
43
- ts.factory.createToken(ts.SyntaxKind.EndOfFileToken),
44
- ts.NodeFlags.None,
45
- ),
46
- );
47
- return (props.top ?? "") + script;
48
- };
49
- }
1
+ import ts from "typescript";
2
+
3
+ export namespace FilePrinter {
4
+ export const description = <Node extends ts.Node>(
5
+ node: Node,
6
+ comment: string,
7
+ ): Node => {
8
+ if (comment.length === 0) return node;
9
+ ts.addSyntheticLeadingComment(
10
+ node,
11
+ ts.SyntaxKind.MultiLineCommentTrivia,
12
+ [
13
+ "*",
14
+ ...comment
15
+ .split("\r\n")
16
+ .join("\n")
17
+ .split("\n")
18
+ .map(
19
+ (str) =>
20
+ ` * ${str.split("*/").join("*\\\\/").split("*\\/").join("*\\\\/")}`,
21
+ ),
22
+ "",
23
+ ].join("\n"),
24
+ true,
25
+ );
26
+ return node;
27
+ };
28
+
29
+ export const newLine = () =>
30
+ ts.factory.createExpressionStatement(ts.factory.createIdentifier("\n"));
31
+
32
+ export const write = (props: {
33
+ statements: ts.Statement[];
34
+ top?: string;
35
+ }): string => {
36
+ const script: string = ts
37
+ .createPrinter({
38
+ newLine: ts.NewLineKind.LineFeed,
39
+ })
40
+ .printFile(
41
+ ts.factory.createSourceFile(
42
+ props.statements,
43
+ ts.factory.createToken(ts.SyntaxKind.EndOfFileToken),
44
+ ts.NodeFlags.None,
45
+ ),
46
+ );
47
+ return (props.top ?? "") + script;
48
+ };
49
+ }
@@ -1,113 +1,114 @@
1
- export namespace StringUtil {
2
- export const capitalize = (str: string) =>
3
- str[0].toUpperCase() + str.slice(1).toLowerCase();
4
-
5
- export const splitWithNormalization = (path: string) =>
6
- path
7
- .split("/")
8
- .map((str) => normalize(str.trim()))
9
- .filter((str) => !!str.length);
10
-
11
- export const escapeDuplicate =
12
- (keep: string[]) =>
13
- (change: string): string =>
14
- keep.includes(change) ? escapeDuplicate(keep)(`_${change}`) : change;
15
-
16
- export const escapeNonVariable = (str: string): string => {
17
- str = escape(str);
18
- for (const [before, after] of VARIABLE_REPLACERS)
19
- str = str.split(before).join(after);
20
- for (let i: number = 0; i <= 9; ++i)
21
- if (str[0] === i.toString()) {
22
- str = "_" + str;
23
- break;
24
- }
25
- if (str === "") return "_empty_";
26
- return str;
27
- };
28
- }
29
-
30
- const escape = (str: string): string => {
31
- str = str.trim();
32
- if (RESERVED.has(str)) return `_${str}`;
33
- else if (str.length !== 0 && "0" <= str[0] && str[0] <= "9") str = `_${str}`;
34
- return str;
35
- };
36
-
37
- const normalize = (str: string): string =>
38
- escape(str.split(".").join("_").split("-").join("_"));
39
-
40
- const RESERVED: Set<string> = new Set([
41
- "break",
42
- "case",
43
- "catch",
44
- "class",
45
- "const",
46
- "continue",
47
- "debugger",
48
- "default",
49
- "delete",
50
- "do",
51
- "else",
52
- "enum",
53
- "export",
54
- "extends",
55
- "false",
56
- "finally",
57
- "for",
58
- "function",
59
- "if",
60
- "import",
61
- "in",
62
- "instanceof",
63
- "module",
64
- "new",
65
- "null",
66
- "package",
67
- "public",
68
- "private",
69
- "protected",
70
- "return",
71
- "super",
72
- "switch",
73
- "this",
74
- "throw",
75
- "true",
76
- "try",
77
- "typeof",
78
- "var",
79
- "void",
80
- "while",
81
- "with",
82
- ]);
83
-
84
- const VARIABLE_REPLACERS: [string, string][] = [
85
- ["`", "_backquote_"],
86
- ["!", "_exclamation_"],
87
- ["@", "_at_"],
88
- ["#", "_hash_"],
89
- ["$", "_dollar_"],
90
- ["%", "_percent_"],
91
- ["^", "_caret_"],
92
- ["&", "_and_"],
93
- ["*", "_star_"],
94
- ["(", "_lparen_"],
95
- [")", "_rparen_"],
96
- ["-", "_"],
97
- ["+", "_plus_"],
98
- ["|", "_or_"],
99
- ["{", "_blt_"],
100
- ["}", "_bgt_"],
101
- ["<", "_lt_"],
102
- [">", "_gt_"],
103
- ["[", "_alt_"],
104
- ["]", "_agt_"],
105
- [",", "_comma_"],
106
- ["'", "_singlequote_"],
107
- ['"', "_doublequote_"],
108
- [" ", "_space_"],
109
- ["?", "_question_"],
110
- [":", "_colon_"],
111
- [";", "_semicolon_"],
112
- ["...", "_rest_"],
113
- ];
1
+ export namespace StringUtil {
2
+ export const capitalize = (str: string) =>
3
+ str[0]!.toUpperCase() + str.slice(1).toLowerCase();
4
+
5
+ export const splitWithNormalization = (path: string) =>
6
+ path
7
+ .split("/")
8
+ .map((str) => normalize(str.trim()))
9
+ .filter((str) => !!str.length);
10
+
11
+ export const escapeDuplicate =
12
+ (keep: string[]) =>
13
+ (change: string): string =>
14
+ keep.includes(change) ? escapeDuplicate(keep)(`_${change}`) : change;
15
+
16
+ export const escapeNonVariable = (str: string): string => {
17
+ str = escape(str);
18
+ for (const [before, after] of VARIABLE_REPLACERS)
19
+ str = str.split(before).join(after);
20
+ for (let i: number = 0; i <= 9; ++i)
21
+ if (str[0] === i.toString()) {
22
+ str = "_" + str;
23
+ break;
24
+ }
25
+ if (str === "") return "_empty_";
26
+ return str;
27
+ };
28
+ }
29
+
30
+ const escape = (str: string): string => {
31
+ str = str.trim();
32
+ if (RESERVED.has(str)) return `_${str}`;
33
+ else if (str.length !== 0 && "0" <= str[0]! && str[0]! <= "9")
34
+ str = `_${str}`;
35
+ return str;
36
+ };
37
+
38
+ const normalize = (str: string): string =>
39
+ escape(str.split(".").join("_").split("-").join("_"));
40
+
41
+ const RESERVED: Set<string> = new Set([
42
+ "break",
43
+ "case",
44
+ "catch",
45
+ "class",
46
+ "const",
47
+ "continue",
48
+ "debugger",
49
+ "default",
50
+ "delete",
51
+ "do",
52
+ "else",
53
+ "enum",
54
+ "export",
55
+ "extends",
56
+ "false",
57
+ "finally",
58
+ "for",
59
+ "function",
60
+ "if",
61
+ "import",
62
+ "in",
63
+ "instanceof",
64
+ "module",
65
+ "new",
66
+ "null",
67
+ "package",
68
+ "public",
69
+ "private",
70
+ "protected",
71
+ "return",
72
+ "super",
73
+ "switch",
74
+ "this",
75
+ "throw",
76
+ "true",
77
+ "try",
78
+ "typeof",
79
+ "var",
80
+ "void",
81
+ "while",
82
+ "with",
83
+ ]);
84
+
85
+ const VARIABLE_REPLACERS: [string, string][] = [
86
+ ["`", "_backquote_"],
87
+ ["!", "_exclamation_"],
88
+ ["@", "_at_"],
89
+ ["#", "_hash_"],
90
+ ["$", "_dollar_"],
91
+ ["%", "_percent_"],
92
+ ["^", "_caret_"],
93
+ ["&", "_and_"],
94
+ ["*", "_star_"],
95
+ ["(", "_lparen_"],
96
+ [")", "_rparen_"],
97
+ ["-", "_"],
98
+ ["+", "_plus_"],
99
+ ["|", "_or_"],
100
+ ["{", "_blt_"],
101
+ ["}", "_bgt_"],
102
+ ["<", "_lt_"],
103
+ [">", "_gt_"],
104
+ ["[", "_alt_"],
105
+ ["]", "_agt_"],
106
+ [",", "_comma_"],
107
+ ["'", "_singlequote_"],
108
+ ['"', "_doublequote_"],
109
+ [" ", "_space_"],
110
+ ["?", "_question_"],
111
+ [":", "_colon_"],
112
+ [";", "_semicolon_"],
113
+ ["...", "_rest_"],
114
+ ];