@reliverse/rse-sdk
Version:
@reliverse/rse-sdk without cli. @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).
125 lines (124 loc) • 3.33 kB
TypeScript
import { z } from "zod";
export declare const DatabaseSchema: z.ZodEnum<{
postgres: "postgres";
mysql: "mysql";
sqlite: "sqlite";
none: "none";
mongodb: "mongodb";
}>;
export type Database = z.infer<typeof DatabaseSchema>;
export declare const ORMSchema: z.ZodEnum<{
none: "none";
drizzle: "drizzle";
prisma: "prisma";
mongoose: "mongoose";
}>;
export type ORM = z.infer<typeof ORMSchema>;
export declare const BackendSchema: z.ZodEnum<{
none: "none";
hono: "hono";
next: "next";
express: "express";
fastify: "fastify";
elysia: "elysia";
convex: "convex";
}>;
export type Backend = z.infer<typeof BackendSchema>;
export declare const RuntimeSchema: z.ZodEnum<{
none: "none";
bun: "bun";
node: "node";
workers: "workers";
}>;
export type Runtime = z.infer<typeof RuntimeSchema>;
export declare const FrontendSchema: z.ZodEnum<{
none: "none";
svelte: "svelte";
nuxt: "nuxt";
solid: "solid";
next: "next";
"react-router": "react-router";
"tanstack-router": "tanstack-router";
"tanstack-start": "tanstack-start";
"native-nativewind": "native-nativewind";
"native-unistyles": "native-unistyles";
}>;
export type Frontend = z.infer<typeof FrontendSchema>;
export declare const AddonsSchema: z.ZodEnum<{
none: "none";
tauri: "tauri";
biome: "biome";
starlight: "starlight";
turborepo: "turborepo";
pwa: "pwa";
husky: "husky";
}>;
export type Addons = z.infer<typeof AddonsSchema>;
export declare const ExamplesSchema: z.ZodEnum<{
none: "none";
todo: "todo";
ai: "ai";
}>;
export type Examples = z.infer<typeof ExamplesSchema>;
export declare const PackageManagerSchema: z.ZodEnum<{
npm: "npm";
pnpm: "pnpm";
bun: "bun";
}>;
export type PackageManager = z.infer<typeof PackageManagerSchema>;
export declare const DatabaseSetupSchema: z.ZodEnum<{
neon: "neon";
none: "none";
supabase: "supabase";
turso: "turso";
"prisma-postgres": "prisma-postgres";
"mongodb-atlas": "mongodb-atlas";
}>;
export type DatabaseSetup = z.infer<typeof DatabaseSetupSchema>;
export declare const APISchema: z.ZodEnum<{
none: "none";
trpc: "trpc";
orpc: "orpc";
}>;
export type API = z.infer<typeof APISchema>;
export declare const ProjectNameSchema: z.ZodString;
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";