@autobe/compiler 0.29.2 → 0.30.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.
- package/lib/AutoBeCompiler.d.ts +2 -2
- package/lib/AutoBeCompiler.js +3 -3
- package/lib/AutoBeCompiler.js.map +1 -1
- package/lib/AutoBeTypeScriptCompiler.d.ts +1 -0
- package/lib/AutoBeTypeScriptCompiler.js +27 -0
- package/lib/AutoBeTypeScriptCompiler.js.map +1 -1
- package/lib/database/AutoBeDatabaseCompiler.d.ts +6 -0
- package/lib/{prisma/AutoBePrismaCompiler.js → database/AutoBeDatabaseCompiler.js} +19 -13
- package/lib/database/AutoBeDatabaseCompiler.js.map +1 -0
- package/lib/database/validateDatabaseApplication.d.ts +2 -0
- package/lib/{prisma/validatePrismaApplication.js → database/validateDatabaseApplication.js} +178 -4
- package/lib/database/validateDatabaseApplication.js.map +1 -0
- package/lib/index.d.ts +1 -1
- package/lib/index.js +1 -1
- package/lib/index.js.map +1 -1
- package/lib/interface/AutoBeInterfaceCompiler.d.ts +1 -1
- package/lib/raw/AutoBeCompilerCommonTemplate.js +2 -2
- package/lib/raw/AutoBeCompilerCommonTemplate.js.map +1 -1
- package/lib/raw/AutoBeCompilerInterfaceTemplate.js +4 -2
- package/lib/raw/AutoBeCompilerInterfaceTemplate.js.map +1 -1
- package/lib/raw/AutoBeCompilerRealizeTemplate.js +16 -3
- package/lib/raw/AutoBeCompilerRealizeTemplate.js.map +1 -1
- package/lib/raw/AutoBeCompilerRealizeTemplateOfPostgres.js +3 -2
- package/lib/raw/AutoBeCompilerRealizeTemplateOfPostgres.js.map +1 -1
- package/lib/raw/AutoBeCompilerRealizeTemplateOfSQLite.js +2 -1
- package/lib/raw/AutoBeCompilerRealizeTemplateOfSQLite.js.map +1 -1
- package/lib/raw/AutoBeCompilerTestTemplate.js +1 -1
- package/lib/raw/AutoBeCompilerTestTemplate.js.map +1 -1
- package/lib/raw/nestjs.json +1777 -656
- package/lib/raw/test.json +748 -520
- package/lib/realize/writeRealizeControllers.js +16 -10
- package/lib/realize/writeRealizeControllers.js.map +1 -1
- package/lib/test/AutoBeTestCompiler.d.ts +1 -0
- package/lib/test/AutoBeTestCompiler.js +6 -0
- package/lib/test/AutoBeTestCompiler.js.map +1 -1
- package/lib/test/programmers/AutoBeTestLiteralProgrammer.js +2 -2
- package/lib/test/programmers/AutoBeTestLiteralProgrammer.js.map +1 -1
- package/lib/test/programmers/IAutoBeTestProgrammerContext.d.ts +1 -1
- package/lib/test/programmers/writeTestExpression.js +3 -1
- package/lib/test/programmers/writeTestExpression.js.map +1 -1
- package/lib/test/programmers/writeTestFunction.js +4 -4
- package/lib/test/programmers/writeTestFunction.js.map +1 -1
- package/lib/test/programmers/writeTestStatement.js +3 -1
- package/lib/test/programmers/writeTestStatement.js.map +1 -1
- package/lib/utils/FilePrinter.js +1 -1
- package/lib/utils/FilePrinter.js.map +1 -1
- package/package.json +13 -12
- package/src/AutoBeCompiler.ts +5 -5
- package/src/AutoBeTypeScriptCompiler.ts +36 -0
- package/src/database/AutoBeDatabaseCompiler.ts +48 -0
- package/src/{prisma/validatePrismaApplication.ts → database/validateDatabaseApplication.ts} +228 -28
- package/src/index.ts +1 -1
- package/src/interface/AutoBeInterfaceCompiler.ts +1 -1
- package/src/raw/AutoBeCompilerCommonTemplate.ts +2 -2
- package/src/raw/AutoBeCompilerInterfaceTemplate.ts +4 -2
- package/src/raw/AutoBeCompilerRealizeTemplate.ts +16 -3
- package/src/raw/AutoBeCompilerRealizeTemplateOfPostgres.ts +3 -2
- package/src/raw/AutoBeCompilerRealizeTemplateOfSQLite.ts +2 -1
- package/src/raw/AutoBeCompilerTestTemplate.ts +1 -1
- package/src/raw/nestjs.json +1777 -656
- package/src/raw/test.json +748 -520
- package/src/realize/writeRealizeControllers.ts +26 -16
- package/src/test/AutoBeTestCompiler.ts +9 -0
- package/src/test/programmers/AutoBeTestLiteralProgrammer.ts +2 -2
- package/src/test/programmers/IAutoBeTestProgrammerContext.ts +1 -1
- package/src/test/programmers/writeTestExpression.ts +6 -1
- package/src/test/programmers/writeTestFunction.ts +3 -2
- package/src/test/programmers/writeTestStatement.ts +5 -1
- package/src/utils/FilePrinter.ts +1 -1
- package/lib/prisma/AutoBePrismaCompiler.d.ts +0 -6
- package/lib/prisma/AutoBePrismaCompiler.js.map +0 -1
- package/lib/prisma/validatePrismaApplication.d.ts +0 -2
- package/lib/prisma/validatePrismaApplication.js.map +0 -1
- package/src/prisma/AutoBePrismaCompiler.ts +0 -36
|
@@ -1,12 +1,14 @@
|
|
|
1
1
|
import {
|
|
2
2
|
AutoBeOpenApi,
|
|
3
3
|
AutoBeRealizeAuthorization,
|
|
4
|
-
|
|
4
|
+
AutoBeRealizeOperationFunction,
|
|
5
5
|
IAutoBeRealizeControllerProps,
|
|
6
6
|
} from "@autobe/interface";
|
|
7
7
|
import { transformOpenApiDocument } from "@autobe/utils";
|
|
8
|
-
import {
|
|
9
|
-
|
|
8
|
+
import {
|
|
9
|
+
NestiaMigrateApplication,
|
|
10
|
+
NestiaMigrateNestMethodProgrammer,
|
|
11
|
+
} from "@nestia/migrate";
|
|
10
12
|
import path from "path";
|
|
11
13
|
import ts from "typescript";
|
|
12
14
|
|
|
@@ -24,26 +26,30 @@ export const writeRealizeControllers = async (
|
|
|
24
26
|
e2e: false,
|
|
25
27
|
programmer: {
|
|
26
28
|
controllerMethod: (ctx) => {
|
|
27
|
-
const method =
|
|
29
|
+
const method: ts.MethodDeclaration =
|
|
30
|
+
NestiaMigrateNestMethodProgrammer.write(ctx);
|
|
28
31
|
const operate: AutoBeOpenApi.IOperation | undefined =
|
|
29
32
|
props.document.operations.find(
|
|
30
33
|
(o) => o.method === ctx.route.method && o.path === ctx.route.path,
|
|
31
34
|
);
|
|
32
|
-
const func:
|
|
33
|
-
(f) =>
|
|
34
|
-
|
|
35
|
-
f
|
|
36
|
-
|
|
35
|
+
const func: AutoBeRealizeOperationFunction | undefined = props.functions
|
|
36
|
+
.filter((f) => f.type === "operation")
|
|
37
|
+
.find(
|
|
38
|
+
(f) =>
|
|
39
|
+
f.endpoint.method === ctx.route.method &&
|
|
40
|
+
f.endpoint.path === ctx.route.path,
|
|
41
|
+
);
|
|
37
42
|
if (func === undefined || operate === undefined) return method; // unreachable
|
|
38
43
|
|
|
39
44
|
const authorization: AutoBeRealizeAuthorization | undefined =
|
|
40
|
-
operate.authorizationActor
|
|
45
|
+
operate.authorizationActor !== null &&
|
|
46
|
+
operate.authorizationType !== "join" &&
|
|
47
|
+
operate.authorizationType !== "login" &&
|
|
48
|
+
operate.authorizationType !== "refresh"
|
|
41
49
|
? props.authorizations.find(
|
|
42
50
|
(d) => d.actor.name === operate.authorizationActor,
|
|
43
51
|
)
|
|
44
52
|
: undefined;
|
|
45
|
-
if (operate.authorizationActor && authorization === undefined)
|
|
46
|
-
return method; // unreachable
|
|
47
53
|
|
|
48
54
|
ctx.importer.external({
|
|
49
55
|
type: "instance",
|
|
@@ -55,7 +61,12 @@ export const writeRealizeControllers = async (
|
|
|
55
61
|
});
|
|
56
62
|
|
|
57
63
|
const inputArguments: string[] = [
|
|
58
|
-
...(
|
|
64
|
+
...(authorization ? [authorization.actor.name] : []),
|
|
65
|
+
...(authorization === undefined &&
|
|
66
|
+
(operate.authorizationType === "login" ||
|
|
67
|
+
operate.authorizationType === "join")
|
|
68
|
+
? ["ip"]
|
|
69
|
+
: []),
|
|
59
70
|
...ctx.route.parameters.map((p) => p.name),
|
|
60
71
|
...(ctx.route.query ? [ctx.route.query.name] : []),
|
|
61
72
|
...(ctx.route.body ? [ctx.route.body.name] : []),
|
|
@@ -115,13 +126,12 @@ export const writeRealizeControllers = async (
|
|
|
115
126
|
method.name,
|
|
116
127
|
method.questionToken,
|
|
117
128
|
method.typeParameters,
|
|
118
|
-
authorization
|
|
129
|
+
authorization !== undefined
|
|
119
130
|
? [
|
|
120
131
|
createAuthorizationParameter(ctx, authorization),
|
|
121
132
|
...method.parameters,
|
|
122
133
|
]
|
|
123
|
-
:
|
|
124
|
-
operate.authorizationType === "join"
|
|
134
|
+
: inputArguments.includes("ip")
|
|
125
135
|
? [createIpParameter(ctx), ...method.parameters]
|
|
126
136
|
: method.parameters,
|
|
127
137
|
method.type,
|
|
@@ -16,6 +16,7 @@ import ts from "typescript";
|
|
|
16
16
|
import { IValidation } from "typia";
|
|
17
17
|
import typiaTransform from "typia/lib/transform";
|
|
18
18
|
|
|
19
|
+
import { AutoBeCompilerInterfaceTemplate } from "../raw/AutoBeCompilerInterfaceTemplate";
|
|
19
20
|
import TestExternal from "../raw/test.json";
|
|
20
21
|
import { FilePrinter } from "../utils/FilePrinter";
|
|
21
22
|
import { shrinkCompileResult } from "../utils/shrinkCompileResult";
|
|
@@ -100,4 +101,12 @@ export class AutoBeTestCompiler implements IAutoBeTestCompiler {
|
|
|
100
101
|
public async getExternal(): Promise<Record<string, string>> {
|
|
101
102
|
return TestExternal as Record<string, string>;
|
|
102
103
|
}
|
|
104
|
+
|
|
105
|
+
public async getDefaultTypes(): Promise<Record<string, string>> {
|
|
106
|
+
return Object.fromEntries(
|
|
107
|
+
Object.entries(AutoBeCompilerInterfaceTemplate).filter(([key]) =>
|
|
108
|
+
key.startsWith("src/api/"),
|
|
109
|
+
),
|
|
110
|
+
);
|
|
111
|
+
}
|
|
103
112
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { AutoBeTest } from "@autobe/interface";
|
|
2
|
+
import { NamingConvention } from "@typia/utils";
|
|
2
3
|
import ts from "typescript";
|
|
3
|
-
import { Escaper } from "typia/lib/utils/Escaper";
|
|
4
4
|
|
|
5
5
|
import { IAutoBeTestProgrammerContext } from "./IAutoBeTestProgrammerContext";
|
|
6
6
|
import { writeTestExpression } from "./writeTestExpression";
|
|
@@ -44,7 +44,7 @@ export namespace AutoBeTestLiteralProgrammer {
|
|
|
44
44
|
ts.factory.createObjectLiteralExpression(
|
|
45
45
|
expr.properties.map((e) =>
|
|
46
46
|
ts.factory.createPropertyAssignment(
|
|
47
|
-
|
|
47
|
+
NamingConvention.variable(e.name)
|
|
48
48
|
? ts.factory.createIdentifier(e.name)
|
|
49
49
|
: ts.factory.createStringLiteral(e.name),
|
|
50
50
|
writeTestExpression(ctx, e.value),
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { AutoBeOpenApi } from "@autobe/interface";
|
|
2
|
-
import { NestiaMigrateImportProgrammer } from "@nestia/migrate
|
|
2
|
+
import { NestiaMigrateImportProgrammer } from "@nestia/migrate";
|
|
3
3
|
import { HashMap } from "tstl";
|
|
4
4
|
|
|
5
5
|
import { IAutoBeTestApiFunction } from "./IAutoBeTestApiFunction";
|
|
@@ -12,7 +12,12 @@ import { IAutoBeTestProgrammerContext } from "./IAutoBeTestProgrammerContext";
|
|
|
12
12
|
export const writeTestExpression = (
|
|
13
13
|
ctx: IAutoBeTestProgrammerContext,
|
|
14
14
|
expr: AutoBeTest.IExpression,
|
|
15
|
-
): ts.Expression =>
|
|
15
|
+
): ts.Expression =>
|
|
16
|
+
factory[expr.type](
|
|
17
|
+
ctx,
|
|
18
|
+
// biome-ignore lint: intended
|
|
19
|
+
expr as any,
|
|
20
|
+
);
|
|
16
21
|
|
|
17
22
|
const factory = {
|
|
18
23
|
...AutoBeTestLiteralProgrammer,
|
|
@@ -3,8 +3,9 @@ import {
|
|
|
3
3
|
AutoBeOpenApiEndpointComparator,
|
|
4
4
|
transformOpenApiDocument,
|
|
5
5
|
} from "@autobe/utils";
|
|
6
|
-
import { NestiaMigrateImportProgrammer } from "@nestia/migrate
|
|
7
|
-
import {
|
|
6
|
+
import { NestiaMigrateImportProgrammer } from "@nestia/migrate";
|
|
7
|
+
import { IHttpMigrateApplication } from "@typia/interface";
|
|
8
|
+
import { HttpMigration } from "@typia/utils";
|
|
8
9
|
import { HashMap, Pair } from "tstl";
|
|
9
10
|
import ts, { FunctionDeclaration } from "typescript";
|
|
10
11
|
|
|
@@ -10,6 +10,10 @@ export const writeTestStatement = (
|
|
|
10
10
|
): ts.Statement[] => {
|
|
11
11
|
const next: ts.Statement | ts.Statement[] = AutoBeTestStatementProgrammer[
|
|
12
12
|
stmt.type
|
|
13
|
-
](
|
|
13
|
+
](
|
|
14
|
+
ctx,
|
|
15
|
+
// biome-ignore lint: intended
|
|
16
|
+
stmt as any,
|
|
17
|
+
);
|
|
14
18
|
return Array.isArray(next) ? next : [next];
|
|
15
19
|
};
|
package/src/utils/FilePrinter.ts
CHANGED
|
@@ -54,7 +54,7 @@ export namespace FilePrinter {
|
|
|
54
54
|
try {
|
|
55
55
|
return await format(script, {
|
|
56
56
|
parser: "typescript",
|
|
57
|
-
plugins: [
|
|
57
|
+
plugins: [await import2("prettier-plugin-jsdoc"), sortImport],
|
|
58
58
|
importOrder: ["<THIRD_PARTY_MODULES>", "^[./]"],
|
|
59
59
|
importOrderSeparation: true,
|
|
60
60
|
importOrderSortSpecifiers: true,
|
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
import { AutoBePrisma, IAutoBePrismaCompileResult, IAutoBePrismaCompiler, IAutoBePrismaCompilerProps, IAutoBePrismaValidation } from "@autobe/interface";
|
|
2
|
-
export declare class AutoBePrismaCompiler implements IAutoBePrismaCompiler {
|
|
3
|
-
compile(props: IAutoBePrismaCompilerProps): Promise<IAutoBePrismaCompileResult>;
|
|
4
|
-
validate(application: AutoBePrisma.IApplication): Promise<IAutoBePrismaValidation>;
|
|
5
|
-
write(application: AutoBePrisma.IApplication, dbms?: "postgres" | "sqlite"): Promise<Record<string, string>>;
|
|
6
|
-
}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"AutoBePrismaCompiler.js","sourceRoot":"","sources":["../../src/prisma/AutoBePrismaCompiler.ts"],"names":[],"mappings":";;;;;;;;;;;;AAOA,yCAAuD;AACvD,+CAA2C;AAE3C,2EAAwE;AAExE,MAAa,oBAAoB;IAClB,OAAO,CAClB,KAAiC;;YAEjC,MAAM,QAAQ,GAAgB,IAAI,0BAAW,EAAE,CAAC;YAChD,OAAO,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QACvC,CAAC;KAAA;IAEY,QAAQ,CACnB,WAAsC;;YAEtC,OAAO,IAAA,qDAAyB,EAAC,WAAW,CAAC,CAAC;QAChD,CAAC;KAAA;IAEY,KAAK;6DAChB,WAAsC,EACtC,OAA8B,UAAU;YAExC,OAAO,IAAA,8BAAsB,EAAC;gBAC5B,WAAW;gBACX,IAAI;aACL,CAAC,CAAC;QACL,CAAC;KAAA;CACF;AAvBD,oDAuBC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"validatePrismaApplication.js","sourceRoot":"","sources":["../../src/prisma/validatePrismaApplication.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,36 +0,0 @@
|
|
|
1
|
-
import {
|
|
2
|
-
AutoBePrisma,
|
|
3
|
-
IAutoBePrismaCompileResult,
|
|
4
|
-
IAutoBePrismaCompiler,
|
|
5
|
-
IAutoBePrismaCompilerProps,
|
|
6
|
-
IAutoBePrismaValidation,
|
|
7
|
-
} from "@autobe/interface";
|
|
8
|
-
import { writePrismaApplication } from "@autobe/utils";
|
|
9
|
-
import { EmbedPrisma } from "embed-prisma";
|
|
10
|
-
|
|
11
|
-
import { validatePrismaApplication } from "./validatePrismaApplication";
|
|
12
|
-
|
|
13
|
-
export class AutoBePrismaCompiler implements IAutoBePrismaCompiler {
|
|
14
|
-
public async compile(
|
|
15
|
-
props: IAutoBePrismaCompilerProps,
|
|
16
|
-
): Promise<IAutoBePrismaCompileResult> {
|
|
17
|
-
const compiler: EmbedPrisma = new EmbedPrisma();
|
|
18
|
-
return compiler.compile(props.files);
|
|
19
|
-
}
|
|
20
|
-
|
|
21
|
-
public async validate(
|
|
22
|
-
application: AutoBePrisma.IApplication,
|
|
23
|
-
): Promise<IAutoBePrismaValidation> {
|
|
24
|
-
return validatePrismaApplication(application);
|
|
25
|
-
}
|
|
26
|
-
|
|
27
|
-
public async write(
|
|
28
|
-
application: AutoBePrisma.IApplication,
|
|
29
|
-
dbms: "postgres" | "sqlite" = "postgres",
|
|
30
|
-
): Promise<Record<string, string>> {
|
|
31
|
-
return writePrismaApplication({
|
|
32
|
-
application,
|
|
33
|
-
dbms,
|
|
34
|
-
});
|
|
35
|
-
}
|
|
36
|
-
}
|