@nestia/migrate 10.0.2 → 11.0.0-dev.20260305

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 (162) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +93 -93
  3. package/package.json +32 -46
  4. package/src/NestiaMigrateApplication.ts +161 -159
  5. package/src/analyzers/NestiaMigrateControllerAnalyzer.ts +51 -51
  6. package/src/archivers/NestiaMigrateFileArchiver.ts +28 -28
  7. package/src/bundles/NEST_TEMPLATE.ts +48 -48
  8. package/src/bundles/SDK_TEMPLATE.ts +21 -21
  9. package/src/executable/NestiaMigrateCommander.ts +98 -98
  10. package/src/executable/NestiaMigrateInquirer.ts +106 -106
  11. package/src/executable/bundle.js +125 -125
  12. package/src/executable/migrate.ts +7 -7
  13. package/src/factories/TypeLiteralFactory.ts +57 -57
  14. package/src/index.ts +4 -4
  15. package/src/module.ts +6 -2
  16. package/src/programmers/NestiaMigrateApiFileProgrammer.ts +55 -55
  17. package/src/programmers/NestiaMigrateApiFunctionProgrammer.ts +347 -344
  18. package/src/programmers/NestiaMigrateApiNamespaceProgrammer.ts +517 -514
  19. package/src/programmers/NestiaMigrateApiProgrammer.ts +107 -107
  20. package/src/programmers/NestiaMigrateApiSimulationProgrammer.ts +308 -309
  21. package/src/programmers/NestiaMigrateApiStartProgrammer.ts +197 -198
  22. package/src/programmers/NestiaMigrateDtoProgrammer.ts +98 -98
  23. package/src/programmers/NestiaMigrateE2eFileProgrammer.ts +153 -153
  24. package/src/programmers/NestiaMigrateE2eProgrammer.ts +48 -48
  25. package/src/programmers/NestiaMigrateImportProgrammer.ts +118 -118
  26. package/src/programmers/NestiaMigrateNestControllerProgrammer.ts +69 -69
  27. package/src/programmers/NestiaMigrateNestMethodProgrammer.ts +409 -406
  28. package/src/programmers/NestiaMigrateNestModuleProgrammer.ts +65 -65
  29. package/src/programmers/NestiaMigrateNestProgrammer.ts +88 -88
  30. package/src/programmers/NestiaMigrateSchemaProgrammer.ts +465 -467
  31. package/src/structures/INestiaMigrateConfig.ts +19 -19
  32. package/src/structures/INestiaMigrateContext.ts +9 -9
  33. package/src/structures/INestiaMigrateController.ts +8 -8
  34. package/src/structures/INestiaMigrateDto.ts +8 -8
  35. package/src/structures/INestiaMigrateFile.ts +5 -5
  36. package/src/structures/INestiaMigrateProgram.ts +11 -11
  37. package/src/structures/INestiaMigrateSchema.ts +4 -4
  38. package/src/utils/FilePrinter.ts +49 -49
  39. package/src/utils/MapUtil.ts +13 -13
  40. package/src/utils/SetupWizard.ts +12 -12
  41. package/src/utils/StringUtil.ts +114 -113
  42. package/src/utils/openapi-down-convert/RefVisitor.ts +134 -134
  43. package/src/utils/openapi-down-convert/converter.ts +536 -536
  44. package/lib/NestiaMigrateApplication.d.ts +0 -24
  45. package/lib/NestiaMigrateApplication.js +0 -18757
  46. package/lib/NestiaMigrateApplication.js.map +0 -1
  47. package/lib/analyzers/NestiaMigrateControllerAnalyzer.d.ts +0 -5
  48. package/lib/analyzers/NestiaMigrateControllerAnalyzer.js +0 -46
  49. package/lib/analyzers/NestiaMigrateControllerAnalyzer.js.map +0 -1
  50. package/lib/archivers/NestiaMigrateFileArchiver.d.ts +0 -8
  51. package/lib/archivers/NestiaMigrateFileArchiver.js +0 -36
  52. package/lib/archivers/NestiaMigrateFileArchiver.js.map +0 -1
  53. package/lib/bundles/NEST_TEMPLATE.d.ts +0 -1
  54. package/lib/bundles/NEST_TEMPLATE.js +0 -55
  55. package/lib/bundles/NEST_TEMPLATE.js.map +0 -1
  56. package/lib/bundles/SDK_TEMPLATE.d.ts +0 -1
  57. package/lib/bundles/SDK_TEMPLATE.js +0 -27
  58. package/lib/bundles/SDK_TEMPLATE.js.map +0 -1
  59. package/lib/executable/NestiaMigrateCommander.d.ts +0 -4
  60. package/lib/executable/NestiaMigrateCommander.js +0 -125
  61. package/lib/executable/NestiaMigrateCommander.js.map +0 -1
  62. package/lib/executable/NestiaMigrateInquirer.d.ts +0 -12
  63. package/lib/executable/NestiaMigrateInquirer.js +0 -94
  64. package/lib/executable/NestiaMigrateInquirer.js.map +0 -1
  65. package/lib/executable/migrate.d.ts +0 -2
  66. package/lib/executable/migrate.js +0 -9
  67. package/lib/executable/migrate.js.map +0 -1
  68. package/lib/factories/TypeLiteralFactory.d.ts +0 -4
  69. package/lib/factories/TypeLiteralFactory.js +0 -35
  70. package/lib/factories/TypeLiteralFactory.js.map +0 -1
  71. package/lib/index.d.ts +0 -3
  72. package/lib/index.js +0 -42
  73. package/lib/index.js.map +0 -1
  74. package/lib/index.mjs +0 -19359
  75. package/lib/index.mjs.map +0 -1
  76. package/lib/module.d.ts +0 -2
  77. package/lib/module.js +0 -19
  78. package/lib/module.js.map +0 -1
  79. package/lib/programmers/NestiaMigrateApiFileProgrammer.d.ts +0 -13
  80. package/lib/programmers/NestiaMigrateApiFileProgrammer.js +0 -40
  81. package/lib/programmers/NestiaMigrateApiFileProgrammer.js.map +0 -1
  82. package/lib/programmers/NestiaMigrateApiFunctionProgrammer.d.ts +0 -14
  83. package/lib/programmers/NestiaMigrateApiFunctionProgrammer.js +0 -179
  84. package/lib/programmers/NestiaMigrateApiFunctionProgrammer.js.map +0 -1
  85. package/lib/programmers/NestiaMigrateApiNamespaceProgrammer.d.ts +0 -14
  86. package/lib/programmers/NestiaMigrateApiNamespaceProgrammer.js +0 -226
  87. package/lib/programmers/NestiaMigrateApiNamespaceProgrammer.js.map +0 -1
  88. package/lib/programmers/NestiaMigrateApiProgrammer.d.ts +0 -4
  89. package/lib/programmers/NestiaMigrateApiProgrammer.js +0 -82
  90. package/lib/programmers/NestiaMigrateApiProgrammer.js.map +0 -1
  91. package/lib/programmers/NestiaMigrateApiSimulationProgrammer.d.ts +0 -14
  92. package/lib/programmers/NestiaMigrateApiSimulationProgrammer.js +0 -142
  93. package/lib/programmers/NestiaMigrateApiSimulationProgrammer.js.map +0 -1
  94. package/lib/programmers/NestiaMigrateApiStartProgrammer.d.ts +0 -4
  95. package/lib/programmers/NestiaMigrateApiStartProgrammer.js +0 -80
  96. package/lib/programmers/NestiaMigrateApiStartProgrammer.js.map +0 -1
  97. package/lib/programmers/NestiaMigrateDtoProgrammer.d.ts +0 -15
  98. package/lib/programmers/NestiaMigrateDtoProgrammer.js +0 -65
  99. package/lib/programmers/NestiaMigrateDtoProgrammer.js.map +0 -1
  100. package/lib/programmers/NestiaMigrateE2eFileProgrammer.d.ts +0 -14
  101. package/lib/programmers/NestiaMigrateE2eFileProgrammer.js +0 -81
  102. package/lib/programmers/NestiaMigrateE2eFileProgrammer.js.map +0 -1
  103. package/lib/programmers/NestiaMigrateE2eProgrammer.d.ts +0 -4
  104. package/lib/programmers/NestiaMigrateE2eProgrammer.js +0 -32
  105. package/lib/programmers/NestiaMigrateE2eProgrammer.js.map +0 -1
  106. package/lib/programmers/NestiaMigrateImportProgrammer.d.ts +0 -18
  107. package/lib/programmers/NestiaMigrateImportProgrammer.js +0 -65
  108. package/lib/programmers/NestiaMigrateImportProgrammer.js.map +0 -1
  109. package/lib/programmers/NestiaMigrateNestControllerProgrammer.d.ts +0 -12
  110. package/lib/programmers/NestiaMigrateNestControllerProgrammer.js +0 -46
  111. package/lib/programmers/NestiaMigrateNestControllerProgrammer.js.map +0 -1
  112. package/lib/programmers/NestiaMigrateNestMethodProgrammer.d.ts +0 -15
  113. package/lib/programmers/NestiaMigrateNestMethodProgrammer.js +0 -224
  114. package/lib/programmers/NestiaMigrateNestMethodProgrammer.js.map +0 -1
  115. package/lib/programmers/NestiaMigrateNestModuleProgrammer.d.ts +0 -5
  116. package/lib/programmers/NestiaMigrateNestModuleProgrammer.js +0 -29
  117. package/lib/programmers/NestiaMigrateNestModuleProgrammer.js.map +0 -1
  118. package/lib/programmers/NestiaMigrateNestProgrammer.d.ts +0 -4
  119. package/lib/programmers/NestiaMigrateNestProgrammer.js +0 -65
  120. package/lib/programmers/NestiaMigrateNestProgrammer.js.map +0 -1
  121. package/lib/programmers/NestiaMigrateSchemaProgrammer.d.ts +0 -10
  122. package/lib/programmers/NestiaMigrateSchemaProgrammer.js +0 -341
  123. package/lib/programmers/NestiaMigrateSchemaProgrammer.js.map +0 -1
  124. package/lib/structures/INestiaMigrateConfig.d.ts +0 -15
  125. package/lib/structures/INestiaMigrateConfig.js +0 -3
  126. package/lib/structures/INestiaMigrateConfig.js.map +0 -1
  127. package/lib/structures/INestiaMigrateContext.d.ts +0 -7
  128. package/lib/structures/INestiaMigrateContext.js +0 -3
  129. package/lib/structures/INestiaMigrateContext.js.map +0 -1
  130. package/lib/structures/INestiaMigrateController.d.ts +0 -7
  131. package/lib/structures/INestiaMigrateController.js +0 -3
  132. package/lib/structures/INestiaMigrateController.js.map +0 -1
  133. package/lib/structures/INestiaMigrateDto.d.ts +0 -7
  134. package/lib/structures/INestiaMigrateDto.js +0 -3
  135. package/lib/structures/INestiaMigrateDto.js.map +0 -1
  136. package/lib/structures/INestiaMigrateFile.d.ts +0 -5
  137. package/lib/structures/INestiaMigrateFile.js +0 -3
  138. package/lib/structures/INestiaMigrateFile.js.map +0 -1
  139. package/lib/structures/INestiaMigrateProgram.d.ts +0 -9
  140. package/lib/structures/INestiaMigrateProgram.js +0 -3
  141. package/lib/structures/INestiaMigrateProgram.js.map +0 -1
  142. package/lib/structures/INestiaMigrateSchema.d.ts +0 -4
  143. package/lib/structures/INestiaMigrateSchema.js +0 -3
  144. package/lib/structures/INestiaMigrateSchema.js.map +0 -1
  145. package/lib/utils/FilePrinter.d.ts +0 -9
  146. package/lib/utils/FilePrinter.js +0 -35
  147. package/lib/utils/FilePrinter.js.map +0 -1
  148. package/lib/utils/MapUtil.d.ts +0 -3
  149. package/lib/utils/MapUtil.js +0 -15
  150. package/lib/utils/MapUtil.js.map +0 -1
  151. package/lib/utils/SetupWizard.d.ts +0 -3
  152. package/lib/utils/SetupWizard.js +0 -18
  153. package/lib/utils/SetupWizard.js.map +0 -1
  154. package/lib/utils/StringUtil.d.ts +0 -6
  155. package/lib/utils/StringUtil.js +0 -108
  156. package/lib/utils/StringUtil.js.map +0 -1
  157. package/lib/utils/openapi-down-convert/RefVisitor.d.ts +0 -52
  158. package/lib/utils/openapi-down-convert/RefVisitor.js +0 -102
  159. package/lib/utils/openapi-down-convert/RefVisitor.js.map +0 -1
  160. package/lib/utils/openapi-down-convert/converter.d.ts +0 -146
  161. package/lib/utils/openapi-down-convert/converter.js +0 -441
  162. package/lib/utils/openapi-down-convert/converter.js.map +0 -1
@@ -1,134 +1,134 @@
1
- /* eslint-disable @typescript-eslint/no-explicit-any */
2
-
3
- /**
4
- * Recursively walk a JSON object and invoke a callback function on each `{
5
- * "$ref" : "path" }` object found
6
- */
7
-
8
- /**
9
- * Represents a JSON Reference object, such as `{"$ref":
10
- * "#/components/schemas/problemResponse" }`
11
- */
12
- export interface RefObject {
13
- $ref: string;
14
- }
15
-
16
- /** JsonNode represents a node within the OpenAPI object */
17
- export type JsonNode = object | [] | string | boolean | null | number;
18
-
19
- /** A JSON Schema object in an API def */
20
- export type SchemaObject = object;
21
-
22
- /** Function signature for the visitRefObjects callback */
23
- export type RefVisitor = (node: RefObject) => JsonNode;
24
- /** Function signature for the visitSchemaObjects callback */
25
- export type SchemaVisitor = (node: SchemaObject) => SchemaObject;
26
-
27
- /** /** Function signature for the walkObject callback */
28
- export type ObjectVisitor = (node: object) => JsonNode;
29
-
30
- /** Test if a JSON node is a `{ $ref: "uri" }` object */
31
- export function isRef(node: any): boolean {
32
- return (
33
- node !== null &&
34
- typeof node === "object" &&
35
- node.hasOwnProperty("$ref") &&
36
- typeof node["$ref"] === "string"
37
- );
38
- }
39
-
40
- /**
41
- * Walk a JSON object and apply `schemaCallback` when a JSON schema is found.
42
- * JSON Schema objects are items in components/schemas or in an item named
43
- * `schema`
44
- *
45
- * @param node A node in the OpenAPI document
46
- * @param schemaCallback The function to call on JSON schema objects
47
- * @returns The modified (annotated) node
48
- */
49
- export function visitSchemaObjects(
50
- node: any,
51
- schemaCallback: SchemaVisitor,
52
- ): any {
53
- const objectVisitor = (node: any): JsonNode => {
54
- if (node.hasOwnProperty("schema")) {
55
- const schema = node["schema"];
56
- if (schema != null && typeof schema === "object") {
57
- node["schema"] = schemaCallback(schema);
58
- }
59
- } else if (node.hasOwnProperty("schemas")) {
60
- const schemas = node["schemas"];
61
- if (schemas != null && typeof schemas === "object") {
62
- for (const schemaName in schemas) {
63
- const schema = schemas[schemaName];
64
- const newSchema = schemaCallback(schema);
65
- schemas[schemaName] = newSchema;
66
- }
67
- }
68
- }
69
- return node;
70
- };
71
- return walkObject(node, objectVisitor);
72
- }
73
-
74
- /**
75
- * Walk a JSON object and apply `refCallback` when a JSON `{$ref: url }` is
76
- * found
77
- *
78
- * @param node A node in the OpenAPI document
79
- * @param refCallback The function to call on JSON `$ref` objects
80
- * @returns The modified (annotated) node
81
- */
82
- export function visitRefObjects(node: any, refCallback: RefVisitor): any {
83
- const objectVisitor = (node: object): JsonNode => {
84
- if (isRef(node)) {
85
- return refCallback(node as RefObject);
86
- }
87
- return node;
88
- };
89
- return walkObject(node, objectVisitor);
90
- }
91
-
92
- /**
93
- * Walk a JSON object or array and apply objectCallback when a JSON object is
94
- * found
95
- *
96
- * @param node A node in the OpenAPI document
97
- * @param objectCallback The function to call on JSON objects
98
- * @param nav Tracks where we are in the original document
99
- * @returns The modified (annotated) node
100
- */
101
- export function walkObject(
102
- node: object,
103
- objectCallback: ObjectVisitor,
104
- ): JsonNode {
105
- return walkObj(node);
106
-
107
- function walkObj(node: any): JsonNode {
108
- const object = objectCallback(node);
109
- if (object !== null && typeof object === "object") {
110
- const keys = [...Object.keys(node)]; // make copy since this code may re-enter objects
111
- for (const key of keys) {
112
- const val = node[key];
113
- if (Array.isArray(val)) {
114
- node[key] = walkArray(val as []);
115
- } else if (val !== null && typeof val === "object") {
116
- node[key] = walkObj(val);
117
- }
118
- }
119
- }
120
- return object;
121
- }
122
-
123
- function walkArray(array: JsonNode[]): JsonNode[] {
124
- for (let index = 0; index < array.length; index += 1) {
125
- const val = array[index] as JsonNode;
126
- if (val !== null && typeof val === "object") {
127
- array[index] = walkObj(val) as object;
128
- } else if (Array.isArray(val)) {
129
- array[index] = walkArray(val as JsonNode[]) as [];
130
- }
131
- }
132
- return array;
133
- }
134
- }
1
+ /* eslint-disable @typescript-eslint/no-explicit-any */
2
+
3
+ /**
4
+ * Recursively walk a JSON object and invoke a callback function on each `{
5
+ * "$ref" : "path" }` object found
6
+ */
7
+
8
+ /**
9
+ * Represents a JSON Reference object, such as `{"$ref":
10
+ * "#/components/schemas/problemResponse" }`
11
+ */
12
+ export interface RefObject {
13
+ $ref: string;
14
+ }
15
+
16
+ /** JsonNode represents a node within the OpenAPI object */
17
+ export type JsonNode = object | [] | string | boolean | null | number;
18
+
19
+ /** A JSON Schema object in an API def */
20
+ export type SchemaObject = object;
21
+
22
+ /** Function signature for the visitRefObjects callback */
23
+ export type RefVisitor = (node: RefObject) => JsonNode;
24
+ /** Function signature for the visitSchemaObjects callback */
25
+ export type SchemaVisitor = (node: SchemaObject) => SchemaObject;
26
+
27
+ /** /** Function signature for the walkObject callback */
28
+ export type ObjectVisitor = (node: object) => JsonNode;
29
+
30
+ /** Test if a JSON node is a `{ $ref: "uri" }` object */
31
+ export function isRef(node: any): boolean {
32
+ return (
33
+ node !== null &&
34
+ typeof node === "object" &&
35
+ node.hasOwnProperty("$ref") &&
36
+ typeof node["$ref"] === "string"
37
+ );
38
+ }
39
+
40
+ /**
41
+ * Walk a JSON object and apply `schemaCallback` when a JSON schema is found.
42
+ * JSON Schema objects are items in components/schemas or in an item named
43
+ * `schema`
44
+ *
45
+ * @param node A node in the OpenAPI document
46
+ * @param schemaCallback The function to call on JSON schema objects
47
+ * @returns The modified (annotated) node
48
+ */
49
+ export function visitSchemaObjects(
50
+ node: any,
51
+ schemaCallback: SchemaVisitor,
52
+ ): any {
53
+ const objectVisitor = (node: any): JsonNode => {
54
+ if (node.hasOwnProperty("schema")) {
55
+ const schema = node["schema"];
56
+ if (schema != null && typeof schema === "object") {
57
+ node["schema"] = schemaCallback(schema);
58
+ }
59
+ } else if (node.hasOwnProperty("schemas")) {
60
+ const schemas = node["schemas"];
61
+ if (schemas != null && typeof schemas === "object") {
62
+ for (const schemaName in schemas) {
63
+ const schema = schemas[schemaName];
64
+ const newSchema = schemaCallback(schema);
65
+ schemas[schemaName] = newSchema;
66
+ }
67
+ }
68
+ }
69
+ return node;
70
+ };
71
+ return walkObject(node, objectVisitor);
72
+ }
73
+
74
+ /**
75
+ * Walk a JSON object and apply `refCallback` when a JSON `{$ref: url }` is
76
+ * found
77
+ *
78
+ * @param node A node in the OpenAPI document
79
+ * @param refCallback The function to call on JSON `$ref` objects
80
+ * @returns The modified (annotated) node
81
+ */
82
+ export function visitRefObjects(node: any, refCallback: RefVisitor): any {
83
+ const objectVisitor = (node: object): JsonNode => {
84
+ if (isRef(node)) {
85
+ return refCallback(node as RefObject);
86
+ }
87
+ return node;
88
+ };
89
+ return walkObject(node, objectVisitor);
90
+ }
91
+
92
+ /**
93
+ * Walk a JSON object or array and apply objectCallback when a JSON object is
94
+ * found
95
+ *
96
+ * @param node A node in the OpenAPI document
97
+ * @param objectCallback The function to call on JSON objects
98
+ * @param nav Tracks where we are in the original document
99
+ * @returns The modified (annotated) node
100
+ */
101
+ export function walkObject(
102
+ node: object,
103
+ objectCallback: ObjectVisitor,
104
+ ): JsonNode {
105
+ return walkObj(node);
106
+
107
+ function walkObj(node: any): JsonNode {
108
+ const object = objectCallback(node);
109
+ if (object !== null && typeof object === "object") {
110
+ const keys = [...Object.keys(node)]; // make copy since this code may re-enter objects
111
+ for (const key of keys) {
112
+ const val = node[key];
113
+ if (Array.isArray(val)) {
114
+ node[key] = walkArray(val as []);
115
+ } else if (val !== null && typeof val === "object") {
116
+ node[key] = walkObj(val);
117
+ }
118
+ }
119
+ }
120
+ return object;
121
+ }
122
+
123
+ function walkArray(array: JsonNode[]): JsonNode[] {
124
+ for (let index = 0; index < array.length; index += 1) {
125
+ const val = array[index] as JsonNode;
126
+ if (val !== null && typeof val === "object") {
127
+ array[index] = walkObj(val) as object;
128
+ } else if (Array.isArray(val)) {
129
+ array[index] = walkArray(val as JsonNode[]) as [];
130
+ }
131
+ }
132
+ return array;
133
+ }
134
+ }