@reliverse/rse-sdk
Version:
@reliverse/rse-sdk allows you to create new plugins for @reliverse/rse CLI, interact with reliverse.org, and even extend your own CLI functionality (you may also try @reliverse/dler-sdk for this case).
63 lines (62 loc) • 2.76 kB
TypeScript
import { z } from "zod";
export declare const DatabaseSchema: z.ZodEnum<["none", "sqlite", "postgres", "mysql", "mongodb"]>;
export type Database = z.infer<typeof DatabaseSchema>;
export declare const ORMSchema: z.ZodEnum<["drizzle", "prisma", "mongoose", "none"]>;
export type ORM = z.infer<typeof ORMSchema>;
export declare const BackendSchema: z.ZodEnum<["hono", "express", "fastify", "next", "elysia", "convex", "none"]>;
export type Backend = z.infer<typeof BackendSchema>;
export declare const RuntimeSchema: z.ZodEnum<["bun", "node", "workers", "none"]>;
export type Runtime = z.infer<typeof RuntimeSchema>;
export declare const FrontendSchema: z.ZodEnum<["tanstack-router", "react-router", "tanstack-start", "next", "nuxt", "native-nativewind", "native-unistyles", "svelte", "solid", "none"]>;
export type Frontend = z.infer<typeof FrontendSchema>;
export declare const AddonsSchema: z.ZodEnum<["pwa", "tauri", "starlight", "biome", "husky", "turborepo", "none"]>;
export type Addons = z.infer<typeof AddonsSchema>;
export declare const ExamplesSchema: z.ZodEnum<["todo", "ai", "none"]>;
export type Examples = z.infer<typeof ExamplesSchema>;
export declare const PackageManagerSchema: z.ZodEnum<["npm", "pnpm", "bun"]>;
export type PackageManager = z.infer<typeof PackageManagerSchema>;
export declare const DatabaseSetupSchema: z.ZodEnum<["turso", "neon", "prisma-postgres", "mongodb-atlas", "supabase", "none"]>;
export type DatabaseSetup = z.infer<typeof DatabaseSetupSchema>;
export declare const APISchema: z.ZodEnum<["trpc", "orpc", "none"]>;
export type API = z.infer<typeof APISchema>;
export declare const ProjectNameSchema: z.ZodEffects<z.ZodEffects<z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>, string, string>, string, string>;
export type ProjectName = z.infer<typeof ProjectNameSchema>;
export interface CreateInput {
projectName?: string;
yes?: boolean;
database?: Database;
orm?: ORM;
auth?: boolean;
frontend?: Frontend[];
addons?: Addons[];
examples?: Examples[];
git?: boolean;
packageManager?: PackageManager;
install?: boolean;
dbSetup?: DatabaseSetup;
backend?: Backend;
runtime?: Runtime;
api?: API;
}
export type CLIInput = CreateInput & {
projectDirectory?: string;
};
export interface ProjectConfig {
projectName: string;
projectDir: string;
relativePath: string;
database: Database;
orm: ORM;
backend: Backend;
runtime: Runtime;
frontend: Frontend[];
addons: Addons[];
examples: Examples[];
auth: boolean;
git: boolean;
packageManager: PackageManager;
install: boolean;
dbSetup: DatabaseSetup;
api: API;
}
export type AvailablePackageManagers = "npm" | "pnpm" | "bun";