From 7c6eba90e533a727945ac4a101a4906d0295c6dd Mon Sep 17 00:00:00 2001 From: Marcus Schiesser <mail@marcusschiesser.de> Date: Wed, 27 Dec 2023 11:39:22 +0700 Subject: [PATCH] fix: don't allow frontend for non-streaming --- packages/create-llama/index.ts | 6 ++++++ packages/create-llama/questions.ts | 24 +++++++----------------- packages/create-llama/templates/types.ts | 2 +- 3 files changed, 14 insertions(+), 18 deletions(-) diff --git a/packages/create-llama/index.ts b/packages/create-llama/index.ts index 84396fa54..ebdcd1ee2 100644 --- a/packages/create-llama/index.ts +++ b/packages/create-llama/index.ts @@ -121,6 +121,12 @@ Select external port. ) .allowUnknownOption() .parse(process.argv); +if (process.argv.includes("--no-frontend")) { + program.frontend = false; +} +if (process.argv.includes("--no-eslint")) { + program.eslint = false; +} const packageManager = !!program.useNpm ? "npm" diff --git a/packages/create-llama/questions.ts b/packages/create-llama/questions.ts index 5b4a9ca20..a1517dc33 100644 --- a/packages/create-llama/questions.ts +++ b/packages/create-llama/questions.ts @@ -89,14 +89,8 @@ export const askQuestions = async ( })), initial: 0, }, - { - onCancel: () => { - console.error("Exiting."); - process.exit(1); - }, - }, + handlers, ); - program.communityProjectPath = communityProjectPath; preferences.communityProjectPath = communityProjectPath; return; // early return - no further questions needed for community projects @@ -130,11 +124,12 @@ export const askQuestions = async ( } } - if (program.framework === "express" || program.framework === "fastapi") { - if (process.argv.includes("--no-frontend")) { - program.frontend = false; - } + if ( + program.template === "streaming" && + (program.framework === "express" || program.framework === "fastapi") + ) { // if a backend-only framework is selected, ask whether we should create a frontend + // (only for streaming backends) if (program.frontend === undefined) { if (ciInfo.isCI) { program.frontend = getPrefOrDefault("frontend"); @@ -161,7 +156,6 @@ export const askQuestions = async ( } } } else { - // single project if framework is nextjs program.frontend = false; } @@ -283,11 +277,7 @@ export const askQuestions = async ( preferences.openAiKey = key; } - if ( - program.framework !== "fastapi" && - !process.argv.includes("--eslint") && - !process.argv.includes("--no-eslint") - ) { + if (program.framework !== "fastapi" && program.eslint === undefined) { if (ciInfo.isCI) { program.eslint = getPrefOrDefault("eslint"); } else { diff --git a/packages/create-llama/templates/types.ts b/packages/create-llama/templates/types.ts index 6fc7b47c1..a0567e10e 100644 --- a/packages/create-llama/templates/types.ts +++ b/packages/create-llama/templates/types.ts @@ -13,7 +13,7 @@ export interface InstallTemplateArgs { isOnline: boolean; template: TemplateType; framework: TemplateFramework; - engine?: TemplateEngine; + engine: TemplateEngine; ui: TemplateUI; eslint: boolean; customApiPath?: string; -- GitLab