mirror of
https://github.com/FranP-code/create-better-t-stack.git
synced 2025-10-12 23:52:15 +00:00
Add setup warnings and handle no-ORM auth
This commit is contained in:
@@ -43,6 +43,16 @@ export function displayPostInstallInstructions(
|
||||
const starlightInstructions = addons?.includes("starlight")
|
||||
? getStarlightInstructions(runCmd)
|
||||
: "";
|
||||
const hasWeb = frontend?.some((f) =>
|
||||
["tanstack-router", "react-router", "next", "tanstack-start"].includes(f),
|
||||
);
|
||||
const hasNative = frontend?.includes("native");
|
||||
const bunWebNativeWarning =
|
||||
packageManager === "bun" && hasNative && hasWeb
|
||||
? getBunWebNativeWarning()
|
||||
: "";
|
||||
const noOrmWarning =
|
||||
database !== "none" && orm === "none" ? getNoOrmWarning() : "";
|
||||
|
||||
const hasTanstackRouter = frontend?.includes("tanstack-router");
|
||||
const hasTanstackStart = frontend?.includes("tanstack-start");
|
||||
@@ -83,7 +93,7 @@ ${
|
||||
lintingInstructions ? `\n${lintingInstructions.trim()}` : ""
|
||||
}${pwaInstructions ? `\n${pwaInstructions.trim()}` : ""}${
|
||||
starlightInstructions ? `\n${starlightInstructions.trim()}` : ""
|
||||
}
|
||||
}${noOrmWarning ? `\n${noOrmWarning.trim()}` : ""}${bunWebNativeWarning ? `\n${bunWebNativeWarning.trim()}` : ""}
|
||||
|
||||
${pc.bold("Update all dependencies:\n")}${pc.cyan(tazeCommand)}
|
||||
|
||||
@@ -165,3 +175,11 @@ function getStarlightInstructions(runCmd?: string): string {
|
||||
"•",
|
||||
)} Build docs site: ${`cd apps/docs && ${runCmd} build`}\n`;
|
||||
}
|
||||
|
||||
function getNoOrmWarning(): string {
|
||||
return `\n${pc.yellow("WARNING:")} Database selected without an ORM. Features requiring database access (e.g., examples, auth) need manual setup.\n`;
|
||||
}
|
||||
|
||||
function getBunWebNativeWarning(): string {
|
||||
return `\n${pc.yellow("WARNING:")} 'bun' might cause issues with web + native apps in a monorepo. Use 'pnpm' if problems arise.\n`;
|
||||
}
|
||||
|
||||
@@ -519,14 +519,23 @@ export async function handleExtras(
|
||||
context: ProjectConfig,
|
||||
): Promise<void> {
|
||||
if (context.packageManager === "pnpm") {
|
||||
const src = path.join(PKG_ROOT, "templates/extras/pnpm-workspace.yaml");
|
||||
const dest = path.join(projectDir, "pnpm-workspace.yaml");
|
||||
if (await fs.pathExists(src)) {
|
||||
await fs.copy(src, dest);
|
||||
const pnpmWorkspaceSrc = path.join(
|
||||
PKG_ROOT,
|
||||
"templates/extras/pnpm-workspace.yaml",
|
||||
);
|
||||
const pnpmWorkspaceDest = path.join(projectDir, "pnpm-workspace.yaml");
|
||||
if (await fs.pathExists(pnpmWorkspaceSrc)) {
|
||||
await fs.copy(pnpmWorkspaceSrc, pnpmWorkspaceDest);
|
||||
} else {
|
||||
}
|
||||
}
|
||||
|
||||
if (context.frontend.includes("native")) {
|
||||
const npmrcSrc = path.join(PKG_ROOT, "templates/extras/.npmrc");
|
||||
const npmrcDest = path.join(projectDir, ".npmrc");
|
||||
if (await fs.pathExists(npmrcSrc)) {
|
||||
await fs.copy(npmrcSrc, npmrcDest);
|
||||
} else {
|
||||
consola.warn(
|
||||
pc.yellow("Warning: pnpm-workspace.yaml template not found."),
|
||||
);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user