@autodev/backend-generator
Version:
Backend project generator with support for parsing and generating project configurations
107 lines (106 loc) • 4.23 kB
TypeScript
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"];