@udraft/core
Version:
uDraft is a language and stack agnostic code-generation tool that simplifies full-stack development by converting a single YAML file into code for rapid development.
33 lines (30 loc) • 1.08 kB
text/typescript
import DartApiClientRenderer from "./builtin/dart-api-client-renderer";
import DartClassRenderer from "./builtin/dart-class-renderer";
import TSApiClientRenderer from "./builtin/ts-api-client-renderer";
import TSClassRenderer from "./builtin/ts-class-renderer";
import TSClassValidatorRenderer from "./builtin/ts-class-validator-renderer";
import TSDraftRenderer from "./builtin/ts-draft-renderer";
import TSMongooseSchemaRenderer from "./builtin/ts-mongoose-schema-renderer";
import { UDraft } from "./entities/draft";
import { $attr } from "./shortcuts/queries";
const project = UDraft.load("example-draft.yaml");
if (project) {
project
.begin("projects/server/")
.pipeline([
new TSDraftRenderer(),
new TSClassRenderer(),
new TSMongooseSchemaRenderer(),
new TSClassValidatorRenderer(),
new TSApiClientRenderer(),
])
.clear()
.goTo("projects/client/")
.pipeline([
new DartClassRenderer({
where: (mod, model) => !$attr(model, "schema"),
}),
new DartApiClientRenderer(),
])
.exec();
}