@nestia/migrate 7.0.0-dev.20250607 → 7.0.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.
Files changed (54) hide show
  1. package/README.md +92 -92
  2. package/lib/analyzers/NestiaMigrateControllerAnalyzer.js +1 -1
  3. package/lib/analyzers/NestiaMigrateControllerAnalyzer.js.map +1 -1
  4. package/lib/bundles/NEST_TEMPLATE.js +47 -47
  5. package/lib/bundles/NEST_TEMPLATE.js.map +1 -1
  6. package/lib/bundles/SDK_TEMPLATE.js +21 -21
  7. package/lib/bundles/SDK_TEMPLATE.js.map +1 -1
  8. package/lib/index.mjs +70 -70
  9. package/lib/index.mjs.map +1 -1
  10. package/lib/programmers/NestiaMigrateApiProgrammer.js +1 -1
  11. package/lib/programmers/NestiaMigrateApiProgrammer.js.map +1 -1
  12. package/lib/utils/openapi-down-convert/converter.js +2 -2
  13. package/package.json +7 -7
  14. package/src/NestiaMigrateApplication.ts +144 -144
  15. package/src/analyzers/NestiaMigrateControllerAnalyzer.ts +51 -51
  16. package/src/archivers/NestiaMigrateFileArchiver.ts +28 -28
  17. package/src/bundles/NEST_TEMPLATE.ts +47 -47
  18. package/src/bundles/SDK_TEMPLATE.ts +21 -21
  19. package/src/executable/NestiaMigrateCommander.ts +98 -98
  20. package/src/executable/NestiaMigrateInquirer.ts +106 -106
  21. package/src/executable/bundle.js +129 -129
  22. package/src/executable/migrate.ts +7 -7
  23. package/src/factories/TypeLiteralFactory.ts +57 -57
  24. package/src/index.ts +4 -4
  25. package/src/module.ts +2 -2
  26. package/src/programmers/NestiaMigrateApiFileProgrammer.ts +55 -55
  27. package/src/programmers/NestiaMigrateApiFunctionProgrammer.ts +256 -256
  28. package/src/programmers/NestiaMigrateApiNamespaceProgrammer.ts +515 -515
  29. package/src/programmers/NestiaMigrateApiProgrammer.ts +107 -107
  30. package/src/programmers/NestiaMigrateApiSimulationProgrammer.ts +340 -340
  31. package/src/programmers/NestiaMigrateApiStartProgrammer.ts +198 -198
  32. package/src/programmers/NestiaMigrateDtoProgrammer.ts +101 -101
  33. package/src/programmers/NestiaMigrateE2eFileProgrammer.ts +153 -153
  34. package/src/programmers/NestiaMigrateE2eProgrammer.ts +46 -46
  35. package/src/programmers/NestiaMigrateImportProgrammer.ts +118 -118
  36. package/src/programmers/NestiaMigrateNestControllerProgrammer.ts +66 -66
  37. package/src/programmers/NestiaMigrateNestMethodProgrammer.ts +406 -406
  38. package/src/programmers/NestiaMigrateNestModuleProgrammer.ts +65 -65
  39. package/src/programmers/NestiaMigrateNestProgrammer.ts +88 -88
  40. package/src/programmers/NestiaMigrateSchemaProgrammer.ts +475 -475
  41. package/src/structures/INestiaMigrateConfig.ts +10 -10
  42. package/src/structures/INestiaMigrateContext.ts +15 -15
  43. package/src/structures/INestiaMigrateController.ts +8 -8
  44. package/src/structures/INestiaMigrateDto.ts +8 -8
  45. package/src/structures/INestiaMigrateFile.ts +5 -5
  46. package/src/structures/INestiaMigrateProgram.ts +11 -11
  47. package/src/structures/INestiaMigrateSchema.ts +4 -4
  48. package/src/utils/FilePrinter.ts +38 -38
  49. package/src/utils/MapUtil.ts +13 -13
  50. package/src/utils/OpenApiTypeChecker.ts +73 -73
  51. package/src/utils/SetupWizard.ts +12 -12
  52. package/src/utils/StringUtil.ts +113 -113
  53. package/src/utils/openapi-down-convert/RefVisitor.ts +139 -139
  54. package/src/utils/openapi-down-convert/converter.ts +527 -527
@@ -1,7 +1,7 @@
1
- #!/usr/bin/env node
2
- import { NestiaMigrateCommander } from "./NestiaMigrateCommander";
3
-
4
- NestiaMigrateCommander.main().catch((exp) => {
5
- console.error(exp);
6
- process.exit(-1);
7
- });
1
+ #!/usr/bin/env node
2
+ import { NestiaMigrateCommander } from "./NestiaMigrateCommander";
3
+
4
+ NestiaMigrateCommander.main().catch((exp) => {
5
+ console.error(exp);
6
+ process.exit(-1);
7
+ });
@@ -1,57 +1,57 @@
1
- import ts from "typescript";
2
- import { Escaper } from "typia/lib/utils/Escaper";
3
-
4
- export namespace TypeLiteralFactory {
5
- export const generate = (value: any): ts.TypeNode =>
6
- typeof value === "boolean"
7
- ? generateBoolean(value)
8
- : typeof value === "number"
9
- ? generateNumber(value)
10
- : typeof value === "string"
11
- ? generatestring(value)
12
- : typeof value === "object"
13
- ? value === null
14
- ? generateNull()
15
- : Array.isArray(value)
16
- ? generateTuple(value)
17
- : generateObject(value)
18
- : ts.factory.createKeywordTypeNode(ts.SyntaxKind.AnyKeyword);
19
-
20
- const generatestring = (str: string) =>
21
- ts.factory.createLiteralTypeNode(ts.factory.createStringLiteral(str));
22
-
23
- const generateNumber = (num: number) =>
24
- ts.factory.createLiteralTypeNode(
25
- num < 0
26
- ? ts.factory.createPrefixUnaryExpression(
27
- ts.SyntaxKind.MinusToken,
28
- ts.factory.createNumericLiteral(-num),
29
- )
30
- : ts.factory.createNumericLiteral(num),
31
- );
32
-
33
- const generateBoolean = (bool: boolean) =>
34
- ts.factory.createLiteralTypeNode(
35
- bool ? ts.factory.createTrue() : ts.factory.createFalse(),
36
- );
37
-
38
- const generateNull = () =>
39
- ts.factory.createLiteralTypeNode(ts.factory.createNull());
40
-
41
- const generateTuple = (items: any[]) =>
42
- ts.factory.createTupleTypeNode(items.map(generate));
43
-
44
- const generateObject = (obj: object) =>
45
- ts.factory.createTypeLiteralNode(
46
- Object.entries(obj).map(([key, value]) =>
47
- ts.factory.createPropertySignature(
48
- undefined,
49
- Escaper.variable(key)
50
- ? ts.factory.createIdentifier(key)
51
- : ts.factory.createStringLiteral(key),
52
- undefined,
53
- generate(value),
54
- ),
55
- ),
56
- );
57
- }
1
+ import ts from "typescript";
2
+ import { Escaper } from "typia/lib/utils/Escaper";
3
+
4
+ export namespace TypeLiteralFactory {
5
+ export const generate = (value: any): ts.TypeNode =>
6
+ typeof value === "boolean"
7
+ ? generateBoolean(value)
8
+ : typeof value === "number"
9
+ ? generateNumber(value)
10
+ : typeof value === "string"
11
+ ? generatestring(value)
12
+ : typeof value === "object"
13
+ ? value === null
14
+ ? generateNull()
15
+ : Array.isArray(value)
16
+ ? generateTuple(value)
17
+ : generateObject(value)
18
+ : ts.factory.createKeywordTypeNode(ts.SyntaxKind.AnyKeyword);
19
+
20
+ const generatestring = (str: string) =>
21
+ ts.factory.createLiteralTypeNode(ts.factory.createStringLiteral(str));
22
+
23
+ const generateNumber = (num: number) =>
24
+ ts.factory.createLiteralTypeNode(
25
+ num < 0
26
+ ? ts.factory.createPrefixUnaryExpression(
27
+ ts.SyntaxKind.MinusToken,
28
+ ts.factory.createNumericLiteral(-num),
29
+ )
30
+ : ts.factory.createNumericLiteral(num),
31
+ );
32
+
33
+ const generateBoolean = (bool: boolean) =>
34
+ ts.factory.createLiteralTypeNode(
35
+ bool ? ts.factory.createTrue() : ts.factory.createFalse(),
36
+ );
37
+
38
+ const generateNull = () =>
39
+ ts.factory.createLiteralTypeNode(ts.factory.createNull());
40
+
41
+ const generateTuple = (items: any[]) =>
42
+ ts.factory.createTupleTypeNode(items.map(generate));
43
+
44
+ const generateObject = (obj: object) =>
45
+ ts.factory.createTypeLiteralNode(
46
+ Object.entries(obj).map(([key, value]) =>
47
+ ts.factory.createPropertySignature(
48
+ undefined,
49
+ Escaper.variable(key)
50
+ ? ts.factory.createIdentifier(key)
51
+ : ts.factory.createStringLiteral(key),
52
+ undefined,
53
+ generate(value),
54
+ ),
55
+ ),
56
+ );
57
+ }
package/src/index.ts CHANGED
@@ -1,4 +1,4 @@
1
- import * as migrate from "./module";
2
-
3
- export default migrate;
4
- export * from "./module";
1
+ import * as migrate from "./module";
2
+
3
+ export default migrate;
4
+ export * from "./module";
package/src/module.ts CHANGED
@@ -1,2 +1,2 @@
1
- export * from "./NestiaMigrateApplication";
2
- export * from "./structures/INestiaMigrateContext";
1
+ export * from "./NestiaMigrateApplication";
2
+ export * from "./structures/INestiaMigrateContext";
@@ -1,55 +1,55 @@
1
- import { IHttpMigrateRoute, OpenApi } from "@samchon/openapi";
2
- import ts from "typescript";
3
-
4
- import { INestiaMigrateConfig } from "../structures/INestiaMigrateConfig";
5
- import { FilePrinter } from "../utils/FilePrinter";
6
- import { NestiaMigrateApiFunctionProgrammer } from "./NestiaMigrateApiFunctionProgrammer";
7
- import { NestiaMigrateApiNamespaceProgrammer } from "./NestiaMigrateApiNamespaceProgrammer";
8
- import { NestiaMigrateImportProgrammer } from "./NestiaMigrateImportProgrammer";
9
-
10
- export namespace NestiaMigrateApiFileProgrammer {
11
- export interface IProps {
12
- config: INestiaMigrateConfig;
13
- components: OpenApi.IComponents;
14
- namespace: string[];
15
- routes: IHttpMigrateRoute[];
16
- children: Set<string>;
17
- }
18
-
19
- export const write = (props: IProps): ts.Statement[] => {
20
- const importer: NestiaMigrateImportProgrammer =
21
- new NestiaMigrateImportProgrammer();
22
- const statements: ts.Statement[] = props.routes
23
- .map((route) => [
24
- FilePrinter.newLine(),
25
- NestiaMigrateApiFunctionProgrammer.write({
26
- config: props.config,
27
- components: props.components,
28
- importer,
29
- route,
30
- }),
31
- NestiaMigrateApiNamespaceProgrammer.write({
32
- config: props.config,
33
- components: props.components,
34
- importer,
35
- route,
36
- }),
37
- ])
38
- .flat();
39
- return [
40
- ...importer.toStatements(
41
- (ref) => `../${"../".repeat(props.namespace.length)}structures/${ref}`,
42
- ),
43
- ...[...props.children].map((child) =>
44
- ts.factory.createExportDeclaration(
45
- undefined,
46
- false,
47
- ts.factory.createNamespaceExport(ts.factory.createIdentifier(child)),
48
- ts.factory.createStringLiteral(`./${child}`),
49
- undefined,
50
- ),
51
- ),
52
- ...statements,
53
- ];
54
- };
55
- }
1
+ import { IHttpMigrateRoute, OpenApi } from "@samchon/openapi";
2
+ import ts from "typescript";
3
+
4
+ import { INestiaMigrateConfig } from "../structures/INestiaMigrateConfig";
5
+ import { FilePrinter } from "../utils/FilePrinter";
6
+ import { NestiaMigrateApiFunctionProgrammer } from "./NestiaMigrateApiFunctionProgrammer";
7
+ import { NestiaMigrateApiNamespaceProgrammer } from "./NestiaMigrateApiNamespaceProgrammer";
8
+ import { NestiaMigrateImportProgrammer } from "./NestiaMigrateImportProgrammer";
9
+
10
+ export namespace NestiaMigrateApiFileProgrammer {
11
+ export interface IProps {
12
+ config: INestiaMigrateConfig;
13
+ components: OpenApi.IComponents;
14
+ namespace: string[];
15
+ routes: IHttpMigrateRoute[];
16
+ children: Set<string>;
17
+ }
18
+
19
+ export const write = (props: IProps): ts.Statement[] => {
20
+ const importer: NestiaMigrateImportProgrammer =
21
+ new NestiaMigrateImportProgrammer();
22
+ const statements: ts.Statement[] = props.routes
23
+ .map((route) => [
24
+ FilePrinter.newLine(),
25
+ NestiaMigrateApiFunctionProgrammer.write({
26
+ config: props.config,
27
+ components: props.components,
28
+ importer,
29
+ route,
30
+ }),
31
+ NestiaMigrateApiNamespaceProgrammer.write({
32
+ config: props.config,
33
+ components: props.components,
34
+ importer,
35
+ route,
36
+ }),
37
+ ])
38
+ .flat();
39
+ return [
40
+ ...importer.toStatements(
41
+ (ref) => `../${"../".repeat(props.namespace.length)}structures/${ref}`,
42
+ ),
43
+ ...[...props.children].map((child) =>
44
+ ts.factory.createExportDeclaration(
45
+ undefined,
46
+ false,
47
+ ts.factory.createNamespaceExport(ts.factory.createIdentifier(child)),
48
+ ts.factory.createStringLiteral(`./${child}`),
49
+ undefined,
50
+ ),
51
+ ),
52
+ ...statements,
53
+ ];
54
+ };
55
+ }