UNPKG

@autodev/backend-generator

Version:

Backend project generator with support for parsing and generating project configurations

107 lines (106 loc) 4.23 kB
import { z } from 'zod'; export declare const ProjectConfigSchema: z.ZodObject<{ name: z.ZodString; description: z.ZodString; type: z.ZodEnum<["microservice", "monolith", "library"]>; language: z.ZodEnum<["java", "typescript", "python", "go", "csharp"]>; framework: z.ZodString; }, "strip", z.ZodTypeAny, { name: string; description: string; type: "microservice" | "monolith" | "library"; language: "java" | "typescript" | "python" | "go" | "csharp"; framework: string; }, { name: string; description: string; type: "microservice" | "monolith" | "library"; language: "java" | "typescript" | "python" | "go" | "csharp"; framework: string; }>; export declare const FeaturesSchema: z.ZodArray<z.ZodString, "many">; export declare const StructureSchema: z.ZodObject<{ directories: z.ZodArray<z.ZodString, "many">; files: z.ZodArray<z.ZodString, "many">; }, "strip", z.ZodTypeAny, { directories: string[]; files: string[]; }, { directories: string[]; files: string[]; }>; export declare const DependenciesSchema: z.ZodRecord<z.ZodString, z.ZodString>; export declare const ConfigurationsSchema: z.ZodRecord<z.ZodString, z.ZodArray<z.ZodString, "many">>; export declare const ProjectSchema: z.ZodObject<{ projectConfig: z.ZodObject<{ name: z.ZodString; description: z.ZodString; type: z.ZodEnum<["microservice", "monolith", "library"]>; language: z.ZodEnum<["java", "typescript", "python", "go", "csharp"]>; framework: z.ZodString; }, "strip", z.ZodTypeAny, { name: string; description: string; type: "microservice" | "monolith" | "library"; language: "java" | "typescript" | "python" | "go" | "csharp"; framework: string; }, { name: string; description: string; type: "microservice" | "monolith" | "library"; language: "java" | "typescript" | "python" | "go" | "csharp"; framework: string; }>; features: z.ZodArray<z.ZodString, "many">; structure: z.ZodObject<{ directories: z.ZodArray<z.ZodString, "many">; files: z.ZodArray<z.ZodString, "many">; }, "strip", z.ZodTypeAny, { directories: string[]; files: string[]; }, { directories: string[]; files: string[]; }>; dependencies: z.ZodRecord<z.ZodString, z.ZodString>; configurations: z.ZodRecord<z.ZodString, z.ZodArray<z.ZodString, "many">>; }, "strip", z.ZodTypeAny, { projectConfig: { name: string; description: string; type: "microservice" | "monolith" | "library"; language: "java" | "typescript" | "python" | "go" | "csharp"; framework: string; }; features: string[]; structure: { directories: string[]; files: string[]; }; dependencies: Record<string, string>; configurations: Record<string, string[]>; }, { projectConfig: { name: string; description: string; type: "microservice" | "monolith" | "library"; language: "java" | "typescript" | "python" | "go" | "csharp"; framework: string; }; features: string[]; structure: { directories: string[]; files: string[]; }; dependencies: Record<string, string>; configurations: Record<string, string[]>; }>; export type ProjectConfig = z.infer<typeof ProjectConfigSchema>; export type Features = z.infer<typeof FeaturesSchema>; export type Structure = z.infer<typeof StructureSchema>; export type Dependencies = z.infer<typeof DependenciesSchema>; export type Configurations = z.infer<typeof ConfigurationsSchema>; export type Project = z.infer<typeof ProjectSchema>; export declare const PROJECT_TYPES: readonly ["microservice", "monolith", "library"]; export declare const LANGUAGES: readonly ["java", "typescript", "python", "go", "csharp"]; export declare const COMMON_FEATURES: readonly ["authentication-authorization", "database-integration", "api-documentation", "data-validation", "docker-support", "ci-cd-pipeline", "testing-framework", "logging-system", "monitoring-metrics", "caching", "message-queue", "file-upload", "email-service", "notification-service"];