@nestia/migrate 11.0.0-dev.20260316 → 11.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 (39) hide show
  1. package/LICENSE +21 -21
  2. package/README.md +93 -93
  3. package/lib/NestiaMigrateApplication.js +341 -341
  4. package/lib/bundles/NEST_TEMPLATE.js +48 -48
  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 +469 -469
  9. package/lib/index.mjs.map +1 -1
  10. package/package.json +5 -5
  11. package/src/NestiaMigrateApplication.ts +168 -168
  12. package/src/analyzers/NestiaMigrateControllerAnalyzer.ts +51 -51
  13. package/src/bundles/NEST_TEMPLATE.ts +48 -48
  14. package/src/bundles/SDK_TEMPLATE.ts +21 -21
  15. package/src/executable/NestiaMigrateCommander.ts +104 -104
  16. package/src/executable/NestiaMigrateInquirer.ts +106 -106
  17. package/src/executable/bundle.js +125 -125
  18. package/src/factories/TypeLiteralFactory.ts +57 -57
  19. package/src/module.ts +7 -7
  20. package/src/programmers/NestiaMigrateApiFileProgrammer.ts +55 -55
  21. package/src/programmers/NestiaMigrateApiFunctionProgrammer.ts +347 -347
  22. package/src/programmers/NestiaMigrateApiNamespaceProgrammer.ts +517 -517
  23. package/src/programmers/NestiaMigrateApiSimulationProgrammer.ts +308 -308
  24. package/src/programmers/NestiaMigrateApiStartProgrammer.ts +197 -197
  25. package/src/programmers/NestiaMigrateDtoProgrammer.ts +98 -98
  26. package/src/programmers/NestiaMigrateE2eFileProgrammer.ts +153 -153
  27. package/src/programmers/NestiaMigrateE2eProgrammer.ts +48 -48
  28. package/src/programmers/NestiaMigrateImportProgrammer.ts +118 -118
  29. package/src/programmers/NestiaMigrateNestControllerProgrammer.ts +69 -69
  30. package/src/programmers/NestiaMigrateNestMethodProgrammer.ts +409 -409
  31. package/src/programmers/NestiaMigrateSchemaProgrammer.ts +465 -465
  32. package/src/programmers/index.ts +15 -15
  33. package/src/structures/INestiaMigrateContext.ts +9 -9
  34. package/src/structures/INestiaMigrateController.ts +8 -8
  35. package/src/structures/INestiaMigrateDto.ts +8 -8
  36. package/src/structures/INestiaMigrateProgram.ts +11 -11
  37. package/src/structures/index.ts +4 -4
  38. package/src/utils/FilePrinter.ts +49 -49
  39. package/src/utils/StringUtil.ts +114 -114
@@ -1,57 +1,57 @@
1
- import { NamingConvention } from "@typia/utils";
2
- import ts from "typescript";
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
- NamingConvention.variable(key)
50
- ? ts.factory.createIdentifier(key)
51
- : ts.factory.createStringLiteral(key),
52
- undefined,
53
- generate(value),
54
- ),
55
- ),
56
- );
57
- }
1
+ import { NamingConvention } from "@typia/utils";
2
+ import ts from "typescript";
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
+ NamingConvention.variable(key)
50
+ ? ts.factory.createIdentifier(key)
51
+ : ts.factory.createStringLiteral(key),
52
+ undefined,
53
+ generate(value),
54
+ ),
55
+ ),
56
+ );
57
+ }
package/src/module.ts CHANGED
@@ -1,7 +1,7 @@
1
- export * from "./NestiaMigrateApplication";
2
- export * from "./structures/index";
3
-
4
- export * from "./archivers/NestiaMigrateFileArchiver";
5
- export * from "./executable/NestiaMigrateCommander";
6
-
7
- export * from "./programmers/index";
1
+ export * from "./NestiaMigrateApplication";
2
+ export * from "./structures/index";
3
+
4
+ export * from "./archivers/NestiaMigrateFileArchiver";
5
+ export * from "./executable/NestiaMigrateCommander";
6
+
7
+ export * from "./programmers/index";
@@ -1,55 +1,55 @@
1
- import { IHttpMigrateRoute, OpenApi } from "@typia/interface";
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}/index`),
49
- undefined,
50
- ),
51
- ),
52
- ...statements,
53
- ];
54
- };
55
- }
1
+ import { IHttpMigrateRoute, OpenApi } from "@typia/interface";
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}/index`),
49
+ undefined,
50
+ ),
51
+ ),
52
+ ...statements,
53
+ ];
54
+ };
55
+ }